【问题标题】:Display Image in ImageView and save it to internal storage on Android在 ImageView 中显示图像并将其保存到 Android 上的内部存储中
【发布时间】:2021-04-27 16:24:42
【问题描述】:

我正在使用 firebase 存储中的 picasso 库在 recyclerview 中显示一些图像,我想要实现的是在图像显示在图像视图中后立即将图像保存到特定于应用程序的内部存储中。

然后当我下次打开应用程序时,我想从内部存储中获取图像,如果图像在那里不可用,则从 firebase url 中获取它。我可以使用 Picasso 库显示图像,但后来我被卡住了,我刚刚开始 android 开发,不知道如何从这里开始。下面是我的代码。

public class ImageAdapter extends RecyclerView.Adapter<ImageAdapter.ImageViewHolder> {
    private List<LoadImage> loadImages;
    private Map<String, Bitmap> mBitmaps = new HashMap<>();

    public ImageAdapter(List<LoadImage> loadImages) {
        this.loadImages = loadImages;
    }

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

    @Override
    public void onBindViewHolder(@NonNull ImageViewHolder holder, int position) {
        LoadImage currentImage = loadImages.get(position);

        Picasso.get()
                .load(currentImage.getImageUrl())
                .fit()
                .into(holder.imageViewDownload);
    }

    @Override
    public int getItemCount() {
        return loadImages.size();
    }

    public class ImageViewHolder extends RecyclerView.ViewHolder {

        ImageView imageViewDownload;

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

            imageViewDownload = itemView.findViewById(R.id.image_view_download);
        }
    }
}

【问题讨论】:

  • 毕加索已经将图像保存在缓存中。
  • 但是当我的互联网关闭时,我的应用不显示任何图像

标签: android android-recyclerview android-imageview android-internal-storage


【解决方案1】:

您无需将图像保存到内部存储中。当您加载图像时,毕加索库会为您执行此操作,它将图像缓存到特定于应用程序的目录。下次如果可用,它将加载缓存的图像,如果没有,它将从 url 下载图像并缓存

【讨论】:

  • 好吧,当我在没有互联网的情况下打开我的应用程序时,只有一个回收站视图加载,并且没有显示图像
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-09-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多