我几乎尝试了所有答案,但有很多重复的答案,但是我仍然无法在Glide中使用Firebase存储映像。
首先我正在使用文档
FirebaseStorage storage = FirebaseStorage.getInstance();
StorageReference storageRef = storage.getReference();
StorageReference pathReference = storageRef.child("sorular/1.jpg");
// ImageView in your Activity
ImageView imageView = rootView.findViewById(R.id.imageView);
// Load the image using Glide
Glide.with(this /* context */)
.using(new FirebaseImageLoader()) // Cannot resolve method 'using
.load(pathReference)
.into(imageView);
如果我清理Glide的.using部分,logcat会出现此错误:
E / GlideExecutor:请求抛出未抛出的com.bumptech.glide.Registry $
NoModelLoaderAvailableException:无法在com.bumptech.glide上找到模型的任何ModelLoader:gs:
//123...appspot.com/sorular/1.jpg。
Registry.getModelLoaders(Registry.java:227)在com.bumptech.glide.load.engine.DecodeHelper.getLoadData(DecodeHelper.java:179)在com.bumptech.glide.load.engine.DecodeHelper.getCacheKeys(DecodeHelper.java:197)在com.bumptech.glide.load
com.bumptech.glide.load.engine.DecodeJob.runGenerators(DecodeJob.java:282)上的.engine.ResourceCacheGenerator.startNext(ResourceCacheGenerator.java:41)在com.bumptech.glide.load.engine.DecodeJob.runWrapped(DecodeJob)
.java:249)位于com.bumptech.glide.load.engine.DecodeJob.run(DecodeJob.java:222)(位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133))。
ThreadPoolExecutor $
Worker.run(ThreadPoolExecutor.java:607)在java.lang.Thread.run(Thread.java:761)
在com.bumptech.glide.load.engine.executor.GlideExecutor $
DefaultThreadFactory $ 1.run(GlideExecutor.java:347)
那么如何才能以最佳方式在我的Android应用程序中使用Firebase存储映像?
这也是我的构建gradle依赖项:
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.support:appcompat-v7:27.0.2'
implementation 'com.android.support:palette-v7:27.0.2'
implementation "com.android.support:cardview-v7:27.0.2"
implementation "com.android.support:recyclerview-v7:27.0.2"
implementation "com.android.support:support-v4:27.0.2"
implementation 'com.android.support:design:27.0.2'
implementation 'com.android.support.constraint:constraint-layout:1.0.2'
implementation 'com.github.florent37:materialviewpager:1.2.3'
implementation 'com.google.firebase:firebase-database:11.8.0'
implementation 'com.google.firebase:firebase-storage:11.8.0'
implementation 'com.firebaseui:firebase-ui-storage:2.0.1'
implementation 'com.google.firebase:firebase-auth:11.8.0'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'com.android.support.test:runner:1.0.1'
androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}
更改此:
implementation 'com.firebaseui:firebase-ui-storage:2.0.1'
对此:
implementation 'com.firebaseui:firebase-ui-storage:3.2.1'
根据Glide文档:
using()
在Glide
4中删除了using()API,以鼓励用户向AppGlideModule注册其组件一次,以避免重复使用对象。无需在每次加载图像时都创建一个新的ModelLoader,而是在AppGlideModule中将其注册一次,然后让Glide检查模型(传递给load()的对象)以弄清楚何时使用注册的ModelLoader。为了确保仅对某些模型使用ModelLoader,请实现上述的handles()以检查每个模型,并仅在应使用ModelLoader时返回true。
using()
已从Glide 4中删除。
要解决此问题,您需要执行以下操作:要从StorageReference加载图像,请首先注册一个AppGlideModule:
@GlideModule
public class MyAppGlideModule extends AppGlideModule {
@Override
public void registerComponents(Context context, Glide glide, Registry registry) {
// Register FirebaseImageLoader to handle StorageReference
registry.append(StorageReference.class, InputStream.class,
new FirebaseImageLoader.Factory());
}
}
一旦创建了AppGlideModule类并完成了干净的构建,就可以使用GlideApp将StorageReference加载到ImageView中:
// Reference to an image file in Cloud Storage
StorageReference storageReference = ...;
// ImageView in your Activity
ImageView imageView = ...;
// Download directly from StorageReference using Glide
// (See MyAppGlideModule for Loader registration)
GlideApp.with(this /* context */)
.load(storageReference)
.into(imageView);
此处提供更多信息:https : //github.com/firebase/FirebaseUI-
Android/tree/master/storage
我正在使用Glide库在imageview中加载图像,并使用以下代码。 灰色占位符在图像未加载之前可见,但在图像在imageview中加载后,占位符仍会出现,并在该图像后显示一些空白。 我如何解决这个问题。如果你有任何想法,请帮助我。
我第一次使用Glide在ImageView中显示GIF。我已经按照几个站点的方式对其进行了编码。但它不起作用。我已经给出了以下所有代码:(如果我弄错了什么,请告诉我) 项目级build.gradle 应用程序级构建。gradle文件: activity_main.xml 活动Java代码: 单击“提交”按钮后,我没有看到GIF图像。
我无法上载firebase存储上的配置文件图像。我正在把烤面包片上的错误打印出来。为什么会出现这种情况?我无法解决这个问题,我审查了我的代码很多次。问题可能是什么?我如何调整我的代码以使其正常工作?提前向大家表示感谢。
我使用滑翔库来显示网格视图中的图像,但是在我的图像视图中显示了注释。 E/Glide:class com。邦普泰克。滑行负载发动机GlideException:无法加载资源 我的代码在使用位图时工作正常。这是我的密码:
我知道如何使用滑翔将图像插入到常规ImageView中 (
问题内容: 如何使用Glide库将位图加载到ImageView中?我想使用文本创建自定义图像,然后使用Glide将其加载到imageview中。 这是我用文本创建自定义位图的方法 But when i try to load this bitmap using glide i’m getting error 问题答案: @rookiedev是正确的, Glide中没有load(Bitmap)它,这