【问题标题】:How do I display all images in a firesbase storage file on android studio如何在 android studio 上的 firebase 存储文件中显示所有图像
【发布时间】:2019-07-03 15:05:40
【问题描述】:

我有一个应用程序,用户可以在其中将图像上传到火力基础存储中的 4 个不同文件夹,我知道我希望能够在应用程序上查看这些图像但不知道如何。

我不确定这是否是解决此问题的正确位置,但确实是这样。我已经制作了一个评论应用程序,用户可以在其中提交图像和评论,我已经让评论部分正常工作并且上传图像工作,以便每个不同的公司都有自己的图像文件。我知道希望能够从 fire base 的存储中检索图像并将它们打印到回收站视图中,但无法做到这一点。任何建议将不胜感激。

【问题讨论】:

    标签: android firebase firebase-storage


    【解决方案1】:

    没有办法列出所有存储文件,但是如果您知道如何将其保存在每个文件夹中,则可以轻松显示删除或其他内容。假设您按数字 1-100 保存,您可以循环获取下载 url 和在滑行中显示。

     storageRef.child("folderA/1.png").getDownloadUrl().addOnSuccessListener(new 
         OnSuccessListener<Uri>() {
    @Override
    public void onSuccess(Uri uri) {
          Glide.load(uri)
        // Got the download URL for 'users/me/profile.png'
    }
     }).addOnFailureListener(new OnFailureListener() {
    @Override
    public void onFailure(@NonNull Exception exception) {
        // Handle any errors
    }
     });
    

    【讨论】:

    • 它保存为随机字符串,所以我不能这样做
    • 如果你知道你是如何生成这些随机字符串以及任何循环它们的方法。否则,现在没有选项可以让您从 Firebase 读取数据库存储。您可以在 Firebase 支持上发布请求
    • 通常最好的做法是知道你是如何保存它的。就像所有用户的个人资料存储一样,我使用他们的 id.jpg 所以如果我需要在用户删除帐户时清理存储。我可以轻松做到这一点。
    【解决方案2】:

    您需要使用 StorageReference 来加载 Firebase 存储映像。

    ImageView image = (ImageView)findViewById(R.id.imageView);
    
    // Reference to an image file in Cloud Storage
    StorageReference storageReference = FirebaseStorage.getInstance().getReference().child("folder_name");
    
    
    // Load the image using Glide
    Glide.with(getApplicationContext())
            .load(storageReference)
            .into(image );
    

    更多详情Docs

    【讨论】:

    • 我试过了,但是当我点击图库时,它只是转到显示文本视图的白页,我没有图像视图
    猜你喜欢
    • 2017-07-17
    • 2021-02-18
    • 2021-07-04
    • 2017-09-06
    • 1970-01-01
    • 2021-12-26
    • 2020-12-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多