展开

关键词

kotlin项目加入Glide图片加载库并使用GlideApp的方法

前言之前一直是在java项目中使用Glide加载图片,自从去年Google宣布Kotlin成为Android官方开发语言之后,我也开始使用kotlin开发了项目,自从使用kotlin之后,再也回不到了java 现在,Glide的版本也进行了几个大的升级,目前,最新的版本是4.8.0,提供了很多的新的特性,GlideAPP就是其中一个,唯一不足的就是,还没有引入对AndroidX的支持,不过听说是在5.0之后开始对 AndroidX支持,让我们拭目以待吧,下面我们开始在kotlin项目中引用Glide库集成步骤 1.在grandle文件中加入相应的依赖,也就是下面的代码,需要注意的是,在java中使用的是annotationProcessor 生成的类4.然后你就可以在项目中使用GlideAPP代替原来的Glide加载图片了?

30810

是时候迁移至 AndroidX 了!

Jetpack 和 AndroidX 有什么关系呢? Jetpack 中所有库都使用 AndroidX 作为包名,我们把 AndroidX 作为一个开发、测试和发布 Jetpack 库的开源工程。 useAndroidX 设置用于开启 AndroidX 库的自动导入,当您自动补全或导入依赖库时,会自动导入 AndroidX 库。 其实我们自己就在这方面 栽过跟头,我们有一个演示应用: Plaid,它依赖了图片加载库 Glide,我们本来打算使用 Plaid 来演示如何迁移应用至 AndroidX,但当我们在没有检查 Glide 检查后才发现,当时依赖的那个版本的 Glide 无法兼容 AndroidX。而当我们把 Glide 和其他依赖库版本都升级后,再做迁移工作,就没有再出现相同的错误。 AndroidX 概览包括: AndroidX 总览、迁移指南以及 Support Library 到 AndroidX 库稳定版和 Alpha 版的映射关系表。

21920
  • 广告
    关闭

    云产品限时秒杀

    云服务器1核2G首年50元,还有多款热门云产品满足您的上云需求

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    是时候迁移至 AndroidX 了!

    Jetpack 和 AndroidX 有什么关系呢? Jetpack 中所有库都使用 AndroidX 作为包名,我们把 AndroidX 作为一个开发、测试和发布 Jetpack 库的开源工程。 其实我们自己就在这方面 栽过跟头,我们有一个演示应用: Plaid,它依赖了图片加载库 Glide,我们本来打算使用 Plaid 来演示如何迁移应用至 AndroidX,但当我们在没有检查 Glide 检查后才发现,当时依赖的那个版本的 Glide 无法兼容 AndroidX。 而当我们把 Glide 和其他依赖库版本都升级后,再做迁移工作,就没有再出现相同的错误。 在 迁移到 AndroidX 中,您能看到前文提到过的 Support Library 与 AndroidX 的类型映射关系表。 AndroidX 概览 包括: AndroidX 总览、迁移指南以及 Support Library 到 AndroidX 库稳定版和 Alpha 版的映射关系表。

    20200

    Plaid 应用迁移到 AndroidX 的实践经历

    因此,接收 bug 修复、新功能和其他库更新的唯一选择就需要将 Plaid 迁移到 AndroidX。什么是 AndroidX? 对于 Plaid 应用,我们使用了一个与AndroidX 不兼容的图形加载库 Glide 的旧版本(4.7.1)。 这导致迁移后出现一个让应用无法构建的代码生成问题(这是一个记录在 Glide 工程下的类似问题),在开始迁移之前我们把 Glide 更新到版本 4.8.0(参考这次提交),这个版本添加了对 AndroidX AndroidX 迁移工具位于菜单栏的 Refactor > Migrate to AndroidX 选项。这个选项将迁移整个项目的所有模块。?运行 AndroidX 重构工具后的预览窗口。 Android Studio 中的 AndroidX 迁移工具是 AndroidX 迁移的主要方式。

    29350

    提示 Plaid 应用迁移到 AndroidX 的实践经历

    因此,接收 bug 修复、新功能和其他库更新的唯一选择就需要将 Plaid 迁移到 AndroidX。什么是 AndroidX? 对于 Plaid 应用,我们使用了一个与AndroidX 不兼容的图形加载库 Glide 的旧版本(4.7.1)。 这导致迁移后出现一个让应用无法构建的代码生成问题(这是一个记录在 Glide 工程下的类似问题),在开始迁移之前我们把 Glide 更新到版本 4.8.0(参考这次提交),这个版本添加了对 AndroidX AndroidX 迁移工具位于菜单栏的 Refactor > Migrate to AndroidX 选项。这个选项将迁移整个项目的所有模块。?运行 AndroidX 重构工具后的预览窗口。 Android Studio 中的 AndroidX 迁移工具是 AndroidX 迁移的主要方式。

    20310

    Android | 《看完不忘系列》之Glide

    概览基于Glide最新版本4.11.0,未迁AndroidX的项目只能使用4.9.0,简单使用:引入依赖,appbuild.gradle:implementation com.github.bumptech.glide glide = Glide.get(context); 如果空fragment没有RequestManager,就创建一个 requestManager = factory.build(glide, webp动图Fresco支持解析webp动图,Glide不支持,不过已经有了开源的方案,见GitHub - GlideWebpDecoder。选型Fresco和Glide怎么选? 所以,更推荐使用Glide(个人拙见,仅供参考)尾声作为《看完不忘系列》的文章,本文删减了很多源码,重点在于理清Glide图片加载流程,大家看的时候最好能跟着思路去阅读源码~然后,Glide还有解码、缓存的流程没有分析 参考资料掘金 - 面试官:简历上最好不要写Glide,不是问源码那么简单掘金 - 锦囊篇|一文摸懂Glide掘金 - Android主流三方库源码分析(三、深入理解Glide源码)官方文档 & GitHubGitHub

    21730

    Android大厂面试经验分享(OPPO,字节,华为,阿里)

    Androidx 下 Fragment 懒加载的新实现 Fragment全解析系列(一):那些年踩过的坑 Google-Fragment概览 Google-与其他Fragment通信 2.3 Service 源码分析 Android面试题:Glide 7.3 day 20 面试题:Glide面试题 Glide的优点 生命周期绑定原理 缓存原理 7.4 聊一聊关于Glide在面试中的那些事 来简单介绍下Glide 的缓存 具体说一说Glide的三级缓存原理 Glide加载一个一兆的图片(100 * 100),是否会压缩后再加载,放到一个300 * 300的view上会怎样,800*800呢,图片会很模糊,怎么处理 简单说一下内存泄漏的场景,如果在一个页面中使用Glide加载了一张图片,图片正在获取中,如果突然关闭页面,这个页面会造成内存泄漏吗? 如何设计一个大图加载框架 7.5 面试官:简历上如果写Glide,请注意以下几点... 谈谈Glide 假如让你自己写个图片加载框架,你会考虑哪些问题?

    11460

    Android 组件化开源app -开眼短视频(OpenEyes)

    的UI 风格,由此第二次模仿该app进行相关技术的学习与整合,废话不多说,直接上图 ,不论是商业项目还是开源app,首先肯定是看眼缘效果图:项目结构该开源项目采用组件化的方式开发,使用MVVM + AndroidX Android X 这个也没啥好说的,就是android Support 库的升级迁移版而已,现在新项目肯定都是直接androidX了,对Android X 不熟悉的小伙伴,请移步 官方介绍 ;jetpack 相信对于这个库大家应该是非常熟悉了吧,基本做android 开发的都用过吧,不多说了SmartRefreshLayout这个库和上面那个库一样,用的非常多,immersionbar实现沉浸式状态栏的一个第三方库,也是非常常用glide

    43400

    三方库源码笔记(13)-可能是全网第一篇 Coil 的源码分析文章

    Coils API 充分利用了 Kotlin 语言的新特性,简化并减少了很多重复代码 更流行: Coil 首选 Kotlin 语言开发,并且使用包含 Coroutines、OkHttp、Okio 和 AndroidX Lifecycles 在内的更现代化的开源库Coil 的首字母由来:Coroutine,Image 和 Loader 得到 Coil二、引入 CoilCoil 要求 AndroidX、Min SDK 大体框架Coil 在我看来是一个比较“激进”的开源库,热衷于使用当前最为流行的技术,包括 Coroutines、OkHttp、Okio,以及 Google 官方的 Jetpack Lifecycles、AndroidX 了,Coil 作为一个后起之秀相对 Glide 也有着一些独特的优势。 这里就先来对 Coil 的各个特性和 Glide 做下简单的对比,先让读者有个大体的印象实现语言 Glide 全盘使用 Java 语言来实现,对于 Java 和 Kotlin 语言的友好程度差不多Coil

    51110

    ViewModel再问—字节真题

    这也是很多三方库用到的巧妙方法,比如Glide,也是建立空的Fragment来管理。 2.0之后,有了androidx支持其实是用到了Activity的一个子类ComponentActivity,然后重写了onRetainNonConfigurationInstance()方法保存ViewModelStore

    37020

    Android编程之Navigation项目迁移AndroidX踩坑记录

    Android编程之Navigation项目迁移AndroidX踩坑记录androidx 是对 android.support.xxx 包的整理后产物。 由于之前的support包过于混乱,所以,google推出了 androidX。 **的包删除重新import为androidx.**的新的包。 ?注:Android Studio 3.2 Canary 14及以上版本提供了更加方便快捷的方法一键重构到AndroidX。 选择菜单上的ReFactor->Refactor to AndroidX...即可AndroidX需要使用最新的Android sdk,打开Android Studio的设置找到Android SDK下载最新的 参考文献Android AndroidX的集成AndroidX了解一下Android:你好,androidX

    43420

    Android AndroidX的迁移

    前言AndroidX replaces the original support library APIs with packages in the androidx namespace. # Android 插件会使用对应的 AndroidX 库而非支持库。 4.2 第三方库冲突support库和androidx是不能共存的,情况1 :当迁移结束之后,理论上讲自己的项目使用的是androidx,但是老项目中导入了许多第三方的库,这些旧版本的库使用的是support 解决方法:情况1,更新第三方库到最新版本或使用androidx的版本,如果这个库没有使用androidx的版本,那就要找其他的方案代替吧(不知道是否是正确的解决方案)。情况2:使用旧版本的第三方库。 5 参考资料AndroidX预览官方迁移教程谷歌开发者-是时候迁移至 AndroidX 了到此这篇关于Android AndroidX的迁移的文章就介绍到这了,更多相关AndroidX迁移内容请搜索ZaLou.Cn

    18622

    【Flutter 专题】43 图解 Flutter 适配 AndroidX

    和尚在尝试一些三方库时,会提示与 androidx 不兼容,和尚整理一下尝试步骤; 首先需要了解一下 Android 的基本情况,目前已经由 V7 发展到 androidx,主要避免包越来越臃肿的问题 ,而 Android 的新特性也会在 androidx 中进行优化增加;与之而来的挑战是适配问题,support 包与 androidx 不兼容,二者存一,在项目中需要好好斟酌; 和尚未适配 androidx =true 代表三方包迁移至 androidx? 建议手动逐步操作而非 Migrate to AndroidX 和尚在测试时尝试用 AndroidStudio 自带的 Migrate to AndroidX 方式无效,后手动逐步操作,可能是和尚操作有误或其他 兼容其他三方库 和尚在使用三方库时部分库未进行 androidx 适配,包括和尚自己发布的 pub 库,不兼容需适配升级;对于此类情况,我们可以选择不升级至 androidx 用较低版本的 pub 库,

    47541

    一起来看看 Android 官推 kotlin-first 的图片加载库

    包括内存缓存和磁盘缓存、把缩略图保存在内存中、通过 BitmapPool 循环利用 Bitmap、自动暂停和取消网络请求等 更轻量级:Coil 只有 2000 个方法,跟 Picasso 的方法数差不多,相比 Glide API 充分利用 Kotlin 的新特性,而且还有丰富的拓展函数,简化和减少了很多样板代码 更流行:Coil 通过 Kotlin 来开发,并且使用包含 Coroutines、okhttp、okio 和 AndroidX 相比于 glide 和 fresco 有着非常复杂的结构和惊人的代码量,Coil 只有 2000 左右的方法数,所以也很适合进行源码研究和学习。

    17320

    AndroidX库和一般库的详细对比以及迁移中遇到的坑总结

    本文同步发布在Github:Android Studio版本、Gradle版本、Build Tools版本、AndroidX对照详细解答一、AndroidX库和一般库的详细对比官方有好几个文件提出了如何迁移到 AndroidX库,具体如下:AndroidX概览: https:developer.android.google.cnjetpackandroidxAndroidX和旧的依赖库对照表: https:developer.android.google.cnjetpackandroidxmigrateAndroidX 如下图所示(图片很大,需要双击放大才可以看得更清楚,或者直接看原图): AndroidX与Support库及其他库的对比: ? AndroidX库和一般的support库版本完整对比图1.png AndroidX特有的库: ? AndroidX库和一般的support库版本完整对比图2.png 不属于AndroidX的库(Design库,没想到基本上常用的Support库都放到AndroidX中了,只有Design库没有放进去

    1.2K31

    Android Koin2基本使用的那件事儿

    本文主要讲解 Koin (2.0.1) 在AndroidX中的使用,所以直接添加 koin-android 依赖 首先添加 Koin Android 基本依赖 Koin for Androidimplementation org.koin:koin-android:$koin_version如果需要使用到 Scope(范围) 控制,则依赖 koin-androidx-scope Koin AndroidX Scope featuresimplementation org.koin:koin-androidx-scope:$koin_version如果项目中使用到ViewModel,那么毫不犹豫依赖 koin-androidx-viewmodel Koin AndroidX ViewModel featuresimplementation org.koin:koin-androidx-viewmodel:$koin_version既然使用Kotlin 添加 koin-androidx-ext Koin AndroidX Experimental featuresimplementation org.koin:koin-androidx-ext:$koin_versionKoin

    67310

    国内大厂都在使用哪些移动跨平台框架

    框架: arm64-v8a 包含 kotlin、androidx 跨平台框架:react-native 35、去哪儿(v9.0.6) arm框架: armeabi 包含 kotlin、androidxandroidx 跨平台框架:flutter 42、快手(v7.5.10) arm框架: armeabi-v7a 包含 androidx 跨平台框架:flutter 43、得到(v8.0.1) arm kotlin、androidx 跨平台框架:flutter 45、盒马(v4.43.0) arm框架: armeabi-v7a 包含 kotlin、androidx 跨平台框架:weex、flutter ) arm框架: armeabi-v7a 包含 kotlin、androidx 跨平台框架:react-native 经过分析这些排名靠前的App,我们可以得到如下一张表。 通过上面的统计数据,我们发现: 大部分应用都开始支持Androidx 版本,并且大多使用Kotlin 进行应用开发,当然还存在部分Java。

    75400

    总是听到有人说AndroidX,到底什么是AndroidX

    不知从什么时候开始,总是会时不时听到AndroidX这个名词,这难道又是什么新出技术吗?相信有很多朋友也会存在这样的疑惑,那么今天我就来写一篇科普文章,向大家介绍AndroidX的前世今生。? *下面的,而AndroidX库中所有API的包名都变成了在androidx.*下面。这是一个很大的变化,意味着以后凡是android. 吸取了之前命名规则的弊端,AndroidX所有库的命名规则里都不会再包含具体操作系统API的版本号了。比如,像appcompat-v7库,在AndroidX中就变成了appcompat库。 一个AndroidX完整的依赖库格式如下所示:implementation androidx.appcompat:appcompat:1.0.2了解了AndroidX是什么之后,现在你应该放轻松了吧? 因此,AndroidX上手起来也没有任何困难的地方,比如之前你经常使用的RecyclerView、ViewPager等等库,在AndroidX中都会有一个对应的版本,只要改一下包名就可以完全无缝使用,用法方面基本上都没有任何的变化

    75520

    AndroidX

    一、简介Google 2018 IO 大会推出了 Android新的扩展库 AndroidX,用于替换原来的 Android扩展库,按照官方文档说明 AndroidX 是对 android.support.xxx 如果你不知道切换到AndroidX后类路径是什么,google也为我们提供了一个mapping文件在线下载链接 PS:因为太多了,截图只列出部分? 四、AndroidStudio自动转换AS 3.2 及以上版本提供了更加方便快捷的方法一键迁移到 AndroidX。选择菜单上的ReFactor —— Migrate to AndroidX... 可以在新建工程时就配置好AndroidX。? 属性变更 AndroidX对某些组件的属性做了调整,比如FloatingActionButton,切换到AndroidX后,可能会出现解析失败,需要删除一些属性或者调整一些属性。

    1.4K50

    Android之AndroidX和Jetpack介绍

    AndroidX本质上其实就是对Android Support Library进行的一次升级. image.pngAndroidx的更改AndroidX升级内容主要在于: 第一,包名。 AndroidX 将原始支持库 API 替换为 androidx 命名空间中的软件包。只有软件包和 Maven 工件名称发生了变化;类名、方法名和字段名没有变化。 AndroidX 中的所有软件包都使用一致的命名空间,以字符串 androidx 开头。支持库软件包已映射到对应的 androidx.* 软件包。 与支持库不同,androidx 软件包会单独维护和更新。从版本 1.0.0 开始,androidx 软件包使用严格的语义版本控制。 image.png目前,androidx 命名空间中的工件包含 Android Jetpack库。

    13720

    扫码关注云+社区

    领取腾讯云代金券