【问题标题】:No image from glide in Firestore [duplicate]Firestore中没有来自滑翔的图像[重复]
【发布时间】:2020-02-03 11:49:45
【问题描述】:

我知道人们以前遇到过这个问题,并且有使用 Firebase 实时数据库的解决方案,但我正在使用 Cloud Firestore,我正在尝试解决这个问题。我不想降级我的依赖项,因为这不是解决方案。但这是我保存下载网址的方式:

final String download_uri = uploadTask.getResult().getStorage().getDownloadUrl().toString();

这就是我尝试将其填充到 Glide 的方式:

Glide.with(ProfileActivity.this).load(user_image).into(profilePicture);

在 Firestore 中,user_image 的值为 com.google.android.gms.tasks.zzu@d1a2c07

如何为 Firestore 解决此问题?

【问题讨论】:

  • 此问题与 Cloud Firestore 或实时数据库无关,而与您从 Firebase 存储中检索下载 URL 的方式有关。 getDownloadUrl() 现在返回 Task,因此您需要向该任务添加一个侦听器以等待其结果。 Krishna 的回答展示了如何做到这一点,但this list 之前提出的许多问题也是如此。

标签: android google-cloud-firestore firebase-storage


【解决方案1】:

在您的代码中,user_image 采用 Task<Uri> 对象的字符串表示,

以下是从 Cloud Firestore 获取下载网址的方法

uploadTask.getResult().getStorage().getDownloadUrl().addOnCompleteListener(new OnCompleteListener<Uri>() {
    @Override
    public void onComplete(@NonNull Task<Uri> task) {
         String url = String.valueOf(task.getResult()));//gives image or file string url
    }
});

【讨论】:

    猜你喜欢
    • 2017-07-12
    • 1970-01-01
    • 2020-05-10
    • 1970-01-01
    • 2018-11-05
    • 1970-01-01
    • 2017-07-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多