我想从firebase数据库获取图像,以使用Glide库将它们存储在离线模式中。
我创建了一个名为我的app的类,我把代码放在了 启用firebase同步。 (保持(真))
问题:是否必须使用以下库:“Volley,okhttp3”或
任何库除了(滑动)使这个应用程序工作正常并存储
图像供离线使用?
答案 0 :(得分:1)
"它被称为 ImageCaching 。"
要实现这一点,我们可以使用
NetworkPolicy
,所以首先要进行 检查cache
,如果不是onError
,那么downloading
来自网址的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