如何将 Firebase 与 Glide 集成('using' 方法)

How to integrate Firebase with Glide ('using' method)

我正在尝试将 Firebase 与 Glide 集成,出于某种原因, Glide.using() 无法解析此方法。 我确实添加了:

compile 'com.firebaseui:firebase-ui-storage:0.6.0'

进入 build.gradle 并且:

compile 'com.github.bumptech.glide:glide:4.0.0-RC1'

这是我尝试使用 Glide 的部分:

   mStorageRef = FirebaseStorage.getInstance().getReference();
    mStorageRef.child("images/Puffer-fish-are-pretty-damn-cute.jpg");

// Load the image using Glide
        Glide.with(this)
                .using(new FirebaseImageLoader()) // cannot resolve method using!
                .load(mStorageRef)
                .into(imageView);

我希望你能帮助我,在网上没有找到任何解决方案。

要解决此问题,请更改此行:

compile 'com.github.bumptech.glide:glide:4.0.0-RC1'

compile 'com.github.bumptech.glide:glide:3.7.0'

Glide v4 正在使用带有注释处理器库的模块加载器。

创建AppGlideModule然后注册FirebaseImageLoader。加载图像时使用 StorageReference

这里有详细的介绍。

在gradle

中添加库
implementation 'com.github.bumptech.glide:glide:4.7.1'
annotationProcessor 'com.github.bumptech.glide:compiler:4.7.1'
implementation 'com.firebaseui:firebase-ui-storage:4.1.0'

扩展模块并注册

@GlideModule
public class MyAppGlideModule extends AppGlideModule {

    @Override
    public void registerComponents(@NonNull Context context, @NonNull Glide glide, @NonNull Registry registry) {
        registry.append(StorageReference.class, InputStream.class, new FirebaseImageLoader.Factory());
    }
}

使用 ref 加载图像

Uri uri = Uri.parse(photoUrl);
StorageReference ref = FirebaseStorage.getInstance().getReference().child(uri.getPath());
Glide.with(itemView.getContext())
    .load(ref)
    .into(thumb);