我想从firebase数据库获取图像,使用Glide库将它们存储在离线模式下。
“它叫做ImageCaching。”
为了达到这个目的,我们可以使用
NetworkPolicy
,所以首先它去检查cache
,如果不是它在onError
,那里它的downloading
来自URL的image
。
使用Picasso进行缓存
Picasso.get().load(YOUR_IMAGE_URL_HERE).resize(100, 100).centerCrop().
networkPolicy(NetworkPolicy.OFFLINE).into(yourImageView, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError(Exception e) {
Picasso.get().load(YOUR_IMAGE_URL_HERE).resize(100, 100).centerCrop().
into(yourImageView);
}
});
使用Glide进行缓存
Glide.with(MainActivity.this)
.load(YOUR_IMAGE_URL_HERE)
.diskCacheStrategy(DiskCacheStrategy.SOURCE)
.into(yourImageView);
这是我的完整示例代码之一 - https://github.com/myJarvis/MoviesWorld-OfflineOnlineSupport