2017-05-11 3 views
1

J'ai donc une vue de recyclage qui charge des images à partir de Firebase Storage. J'utilise la bibliothèque Glide couplée avec FirebaseImageLoader pour y parvenir. Tout a bien fonctionné jusqu'à lundi dernier. Les images ne montrent pas plus, il n'y a pas d'erreur, exception ou quelque chose à me aider à comprendre pourquoi les images ne se chargeront pas plus: Voici quelques extraits de code:Interface de stockage Firebase et Glide ne montrant pas d'images

Gradle:

compile 'com.github.bumptech.glide:glide:3.7.0' 
compile 'com.firebaseui:firebase-ui-storage:1.2.0' 

ImageView I utiliser pour afficher des images:

<ImageView 
    android:layout_width="match_parent" 
    android:layout_height="130dp" 
    android:id="@+id/imageView_promotions" 
    android:scaleType="centerCrop"/> 

code Java qui construit le lien de stockage Firebase:

public StorageReference getThumbUri(String municipality){ 
     return Constants.STORAGE_REFERENCE.child(Constants.PROMOTIONS).child(municipality).child(promo_thumb); 
     //returns e.g. gs://myfirebaseapp.com/promotions/Mahikeng/spar_thumb.png 
    } 

code pour charger l'image:

Glide.with(context).using(new FirebaseImageLoader()).load(promotions.get(position). 
         getThumbUri(municipality)).into(holder.imageView_promotions); 

post-scriptum Ce code a bien fonctionné tout le long, n'a jamais rien changé je jure à Dieu. Tout ce que j'ai fait était de mettre à jour mon Android Studio à 2.3.1 et mettre à jour les bibliothèques de support de Google à 25.3.1

Répondre

2

J'ai réussi à le trier. Si quelqu'un rencontre le même problème, revenez à Firebase SDK version 10.2.1 si vous l'avez récemment mis à jour vers 10.2.4, il semble y avoir un bogue avec le dernier SDK.

Tout va bien

2

Ma solution à Kotlin:

if (reference != null && reference.isNotEmpty()) { 
      val storageReference = FirebaseStorage.getInstance().reference.child(reference) 
      storageReference.downloadUrl.addOnSuccessListener { uri -> Glide.with(context) 
       .load(uri) 
       //.centerCrop() 
       .into(mImage) } 

référence est une chaîne avec le nom du fichier

Gradle:

compile 'com.github.bumptech.glide:glide:4.0.0-RC0' 
annotationProcessor 'com.github.bumptech.glide:compiler:4.0.0-RC0' 
compile 'com.firebaseui:firebase-ui:2.0.1' 
+0

Bienvenue sur Stack Overflow! Bien que cet extrait de code puisse résoudre la question, [y compris une explication] (// meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers) aide vraiment à améliorer la qualité de votre message. Rappelez-vous que vous répondez à la question pour les lecteurs dans le futur, et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code. Essayez également de ne pas surcharger votre code avec des commentaires explicatifs, ceci réduit la lisibilité du code et des explications! –