【发布时间】: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