当前位置: 首页 > 知识库问答 >
问题:

如何将图像从Firestore和存储加载到RecyclerView中?

卢阳成
2023-03-14

下面是我的代码:

public class Prizes {

    private String text;
    private String image;


    public Prizes (){

    }

    public Prizes(String text, String image) {
        this.text = text;
        this.image = image;
    }
    public String getText() {
        return text;
    }
    public String getImage(){
        return image;
    }
}

这是我的适配器:

public class PrizeGameAdapter extends FirestoreRecyclerAdapter<Prizes, PrizeGameAdapter.PrizeGameHolder> {

    public PrizeGameAdapter(@NonNull FirestoreRecyclerOptions<Prizes> options) {
        super(options);

    }

    @Override
    protected void onBindViewHolder(@NonNull PrizeGameHolder holder, int position, @NonNull Prizes model) {

        holder.textViewPrizeGame.setText(model.getText());
    }

    @NonNull
    @Override
    public PrizeGameHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
        View view = LayoutInflater.from(parent.getContext()).inflate(R.layout.listitem_prize_game,parent, false);
        return new PrizeGameHolder(view);
    }

    class PrizeGameHolder extends RecyclerView.ViewHolder {

        TextView textViewPrizeGame;
        ImageView imageViewPrizeGame;

        public PrizeGameHolder(@NonNull View itemView) {
            super(itemView);

            textViewPrizeGame = itemView.findViewById(R.id.listitem_text_view_prize_game);
            imageViewPrizeGame = itemView.findViewById(R.id.picture_prize_recycler_view);
        }
    }
}

共有1个答案

袁致远
2023-03-14

使用Picasso将图像从url加载到ImageView非常简单。

首先,在项目的dependencies build.gradle中添加以下行并同步项目

implementation 'com.squareup.picasso:picasso:2.71828'

同步该项目,并让梯度下载毕加索libaray。完成后,在PrizeGameAdapter类的OnBindViewHolder中添加以下代码行

Picasso.get()
.load(model.getImage())
.into(holder.imageViewPrizeGame);
 类似资料:
  • 为网络。嘿,有没有可能从firestore存储下载文件的url,而不提供存储引用中的文件名?例如,如果我们必须下载并显示一个特定文件夹中的所有图像,是否必须知道该文件夹中上载的所有文件的名称?

  • 我将图像路径(来自图库的图像)存储在SQLite数据库中,现在加载到图像视图中。。。并使用此代码: 和错误: E/BitmapFactory:无法解码流:java.io.FileNotFoundException:/storage/emulated/0/DCIM/Camera/IMG_20161230_224205.jpg(权限被拒绝)

  • 我有一个url数组,我必须加载所有图像并将其放入图像数组。 我在试这个 但它不起作用。我该怎么做?

  • 我想在上传到Firebase存储之前减小图像文件大小,因为上传需要很长时间。 这是conatins编辑文本图像视图的表单 单击“保存”按钮时,我同时保存数据(在实时数据库中)和图像(存储)。 那么如何减少图像大小或压缩它呢??

  • 我正在尝试将一个图像文件从html页面上传到azure blob存储。到目前为止,我已经编写了一个web服务来为我的blob容器创建SAS。由此,我创建了一个uri,格式为“blob地址”/“容器名称”/“blob名称”?“sas”。我的html页面上有一个上传控件。 然后,我尝试使用以下代码上传该文件: 其中blobPath是上面提到的uri,upFile是我的html上传控件。 当我试图上传文

  • 我有大约10,000个图像,我想上传到Firebase存储(它加起来大约800MB)。 使用Javascript,我正在寻找一种方法: 将它们上载到Firebase存储 在上传时获取他们的URL,并使用他们的文件名为每个文件创建Cloud Firestore文档,其中包含一个名为“downloadURL”或类似的字段,然后我的网站可以将其用作标记。 HTML JavaScript