所以我有一个从Firebase存储加载图片的recyclerview。我使用Glide库和FirebaseImageLoader来实现这一点。所有人一直工作到上周一。图片不再显示,没有错误,异常或某些东西可以帮助我弄清楚图片为什么不再加载:以下是一些代码片段:
摇篮:
compile 'com.github.bumptech.glide:glide:3.7.0'
compile 'com.firebaseui:firebase-ui-storage:1.2.0'
ImageView我用来显示图像:
<ImageView
android:layout_width="match_parent"
android:layout_height="130dp"
android:id="@+id/imageView_promotions"
android:scaleType="centerCrop"/>
构建Firebase存储链接的Java代码:
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
}
加载图片的代码:
Glide.with(context).using(new FirebaseImageLoader()).load(promotions.get(position).
getThumbUri(municipality)).into(holder.imageView_promotions);
P.S。这段代码一直很好,从来没有改变过任何我向上帝发誓的事。我所做的只是将我的Android Studio更新为2.3.1并将Google支持库更新为25.3.1
答案 0 :(得分:2)
我设法解决了这个问题。如果有人遇到同样的问题,如果您最近将其更新为10.2.4,请恢复为Firebase SDK版本10.2.1,最近的SDK似乎存在错误。
一切都很好
答案 1 :(得分:2)
我在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) }
reference是一个名为file
的字符串摇篮:
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'