Android 为什么Glide不使用Firebase存储
我试图从Firebase存储加载图像,但在使用Glide时出现异常 我的代码Android 为什么Glide不使用Firebase存储,android,firebase,imageview,firebase-storage,android-glide,Android,Firebase,Imageview,Firebase Storage,Android Glide,我试图从Firebase存储加载图像,但在使用Glide时出现异常 我的代码 storageReference=FirebaseStorage.getInstance().getReference().child("profiles/"+firebaseUser.getUid()+"/"+"profilePic"); Glide.with(FinishIntroActivity.this) .load(storageReferenc
storageReference=FirebaseStorage.getInstance().getReference().child("profiles/"+firebaseUser.getUid()+"/"+"profilePic");
Glide.with(FinishIntroActivity.this)
.load(storageReference.getDownloadUrl())
.into(profileFinishImg);
implementation 'com.github.bumptech.glide:glide:4.8.0'
我的毕业典礼
storageReference=FirebaseStorage.getInstance().getReference().child("profiles/"+firebaseUser.getUid()+"/"+"profilePic");
Glide.with(FinishIntroActivity.this)
.load(storageReference.getDownloadUrl())
.into(profileFinishImg);
implementation 'com.github.bumptech.glide:glide:4.8.0'
我得到的例外情况
W/Glide: Load failed for com.google.android.gms.tasks.zzu@669eaa8 with size [525x525]
class com.bumptech.glide.load.engine.GlideException: Failed to load resource
There was 1 cause:
com.bumptech.glide.Registry$NoModelLoaderAvailableException(Failed to find any ModelLoaders for model: com.google.android.gms.tasks.zzu@669eaa8)
call GlideException#logRootCauses(String) for more detail
Cause (1 of 1): class com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders for model: com.google.android.gms.tasks.zzu@669eaa8
2020-05-02 11:32:07.951 8343-8343/com.happyorbit.happyorbit I/Glide: Root cause (1 of 1)
com.bumptech.glide.Registry$NoModelLoaderAvailableException: Failed to find any ModelLoaders for model: com.google.android.gms.tasks.zzu@669eaa8
at com.bumptech.glide.Registry.getModelLoaders(Registry.java:584)
at com.bumptech.glide.load.engine.DecodeHelper.getLoadData(DecodeHelper.java:205)
at com.bumptech.glide.load.engine.DecodeHelper.getCacheKeys(DecodeHelper.java:223)
at com.bumptech.glide.load.engine.ResourceCacheGenerator.startNext(ResourceCacheGenerator.java:44)
at com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:302)
at com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob.java:269)
at com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:233)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
at java.lang.Thread.run(Thread.java:919)
at com.bumptech.glide.load.engine.executor.GlideExecutor$DefaultThreadFactory$1.run(GlideExecutor.java:446)
请帮我正确地使用Glide。谢谢正如您可以从中看到的,getDownloadUrl()
不会实际返回URL。它异步返回一个任务,如果向该任务添加侦听器,该任务将为您提供URL。只有在将URL传递给侦听器之后,您才能获得该URL,并且您不能保证该URL何时完成
我建议阅读另一个问题的答案,了解更多细节和示例:
另一种选择是作为Glide的插件使用,它将为您完成大部分艰苦的工作