我想在我的项目中使用滑行:4.2.0。添加后
@GlideModule 公共最终类MyAppGlideModule扩展了AppGlideModule {}
它说错误:(16,8)错误:类MainActivity与同名包冲突 GlideApp也不起作用
答案 0 :(得分:2)
只需使用android studio - > menu - > build - > Make Project,然后GlideApp将在build / generated / source中生成.....
但我有另一个问题,我不能在kotlin类中使用GlideApp,当我构建应用程序时,gradle将'KotlinExt.kt:未解析的参考:GlideApp'
另外,请确保在使用Kotlin时使用kapt而不是annotationProcessor
kapt'com.github.bumptech.glide:编译器:4.x.x'
答案 1 :(得分:0)
我成功地通过添加以下代码来解决问题,使gras ans sync
annotationProcessor 'com.github.bumptech.glide:compiler:4.2.0'
创建一个类并将其命名为SkyGlideModule(您可以给它命名)
@GlideModule 公共类SkyGlideModule扩展了AppGlideModule {
File mediaCacheDirectory;
SkyConstants skyConstants = new SkyConstants();
public static final int DiskCacheInBytes = 100 * 1024 * 1024;
public static final String DiskCacheName = "MyAppCacheDirectory";
@Override
public void applyOptions(Context context, GlideBuilder builder) {
builder.setDiskCache(
new ExternalCacheDiskCacheFactory(context, DiskCacheName, DiskCacheInBytes));
builder.setMemoryCache(new LruResourceCache(DiskCacheInBytes));
builder.setBitmapPool(new LruBitmapPool(DiskCacheInBytes));
}
private class DiskCacheFactory extends DiskLruCacheFactory {
DiskCacheFactory(final Context context, final String diskCacheName, long diskCacheSize) {
super(new CacheDirectoryGetter() {
@Override
public File getCacheDirectory() {
return mediaCacheDirectory;
}
}, (int) diskCacheSize);
}
}
}
将以下行添加到清单
<meta-data android:name="com.myapp.packageName.ClassWithGridleModule" android:value="GlideModule" tools:node="remove" />
最后称为
GlideApp.with(context)
.load("urlToOnlineImage")
.into("imageviefindbyid");