9 votes

Comment intégrer Firebase avec Glide (méthode 'using')

Je essaie d'utiliser l'intégration de Firebase avec Glide et pour une raison quelconque, Glide.using() ne peut pas résoudre cette méthode. J'ai ajouté :

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

Dans build.gradle et aussi :

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

Voici la partie pour laquelle j'essaie d'utiliser Glide :

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

// Charger l'image en utilisant Glide
        Glide.with(this)
                .using(new FirebaseImageLoader()) // ne peut pas résoudre la méthode using!
                .load(mStorageRef)
                .into(imageView);

J'espère que vous pouvez m'aider avec cela, je n'ai trouvé aucune solution en ligne.

8voto

Alex Mamo Points 44420

Pour résoudre cela, veuillez changer cette ligne :

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

avec

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

2voto

Phil Points 431

Glide v4 utilise des chargeurs de modules avec la bibliothèque du processeur d'annotations.

Créez AppGlideModule puis enregistrez FirebaseImageLoader. Lors du chargement des images, utilisez StorageReference.

Voici les détails.

Ajoutez des bibliothèques dans 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'

Étendez le module et enregistrez

@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());
    }
}

Chargez les images avec la ref

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X