kotlin使用Glide 4.0.0

我要在河邊釣一整天的魚發表於2017-12-19

官方連結

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程式碼做註解處理


謝謝觀賞

相關文章