在滑行时无法解决GlideApp:4.2.0

时间:2017-10-29 08:13:01

标签: android android-studio

我想在我的项目中使用滑行:4.2.0。添加后

@GlideModule     公共最终类MyAppGlideModule扩展了AppGlideModule {}

它说错误:(16,8)错误:类MainActivity与同名包冲突 GlideApp也不起作用

2 个答案:

答案 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");