kotlin使用Glide 4.0.0

kotlin使用Glide 4.0.0

官方链接

Gradle引用

repositories {
  mavenCentral()
}

dependencies {
    implementation 'com.github.bumptech.glide:glide:4.0.0'
    implementation 'com.android.support:support-v4:25.3.1'
}

这里使用 implementation 看郭大神的博客。

基础使用

在Activity和Fragment中直接使用。

Glide.with(fragment)
    .load(myUrl)
    .into(imageView)
    
Glide.with(activity)
    .load(myUrl)
    .into(imageView)

刚开始学kotlin的原因我自接触Glide就是4.0了,所以不知道和原来的一些变化。v4版本要是使用override等一些API就要使用生成API。

用注解生成GlideApp

1.在build.gradle中添加

dependencies {
  kapt 'com.github.bumptech.glide:compiler:4.0.0'
}

2.创建MyAppGlideModule

只要添加@GlideModule注释和继承AppGlideModule就可以

package seven.com.neihan.util


import com.bumptech.glide.annotation.GlideModule
import com.bumptech.glide.module.AppGlideModule

/**
 * Created by Seven on 2017/8/16.
 */

@GlideModule
class MyAppGlideModule: AppGlideModule() {

}

3.点击 Build -> Make Projece 编译通过就可以使用GlideApp代替Glide加载图片

GlideApp.with(fragment).load(url).override(screenWidth, showPicHeight).into(pic)

作为一个初学者简单引用Glide遇到的问题

unresolved reference: GlideApp 错误

主要原因是注解库没有被引入

解决方案:

如果在引用注解库的时候使用 annotationProcessor 改成 kapt。

在Java中引用注解库用的是 annotationProcessor,但是在kotlin中引用注解的时候要用 kapt Kotlin参考文档 这个在Glide官网也有说明。

如果在使用的是kapt还是报错就在build.gradle中添加。

kapt {
   generateStubs = true
}

这个配置本来在是在现在的kotlin版本中不用加入的,具体原因还没有深究请谅解。

generateStubs = true 会先把Kotlin的代码生成 .class stubs,以处理注解。还有就是要把 apt 改为 kapt, kapt同样也会对java代码做注解处理


谢谢观赏

作为swift开发人员初学kotlin有不足的地方希望多指正,万分感谢。

你可能感兴趣的:(kotlin使用Glide 4.0.0)