Android 的 Picasso 库是否在网络连接关闭时处理图像加载?
Does Picasso library for Android handle image loading while network connectivity is off?
我正在开发一个应用程序,其中我使用 Picasso library 在我的 ViewPager
和其他 ImageViews
中加载图像。所以我想知道如果网络连接关闭会发生什么。该库是自行处理还是我必须在将图像加载到视图之前检查网络连接?
我的代码:
Picasso picasso = Picasso.with(getActivity());
picasso.setDebugging(true);
picasso.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.into(eventImage, new Callback() {
@Override
public void onSuccess() {
Log.d("Success...", "picasso loaded successfully");
}
@Override
public void onError() {
Log.d("Error...", "picasso load error");
}
});
Picasso 缓存图像以供离线使用。
我在一个简单的电影应用程序中使用它,我在其中显示了一堆电影海报。我可以打开飞行模式,我的图像仍然存在。同样,如果我在飞行模式下强行关闭应用程序,然后再次打开应用程序,我的图像仍会加载。
希望对您有所帮助。
P.S。查看 Glide https://github.com/bumptech/glide。它比 Picasso
更快,加载更流畅
使用下面的代码 Picasso 缓存图像以供离线使用。
Picasso.with(this)
.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.networkPolicy(NetworkPolicy.OFFLINE)//use this for offline support
.into(eventImage);
以上代码在删除时不起作用 cache.so Picasso 无法从 cache.If 中找到图像 无法从我们处理的缓存中获取图像以在线获取图像并显示它。我们使用以下代码实现:
Picasso.with(getActivity())
.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.networkPolicy(NetworkPolicy.OFFLINE)//user this for offline support
.into(eventImage, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Picasso.with(getActivity())
.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.networkPolicy(NetworkPolicy.OFFLINE)//user this for offline support
.into(eventImage, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
//get error if image not loaded
}
});
}
});
我正在开发一个应用程序,其中我使用 Picasso library 在我的 ViewPager
和其他 ImageViews
中加载图像。所以我想知道如果网络连接关闭会发生什么。该库是自行处理还是我必须在将图像加载到视图之前检查网络连接?
我的代码:
Picasso picasso = Picasso.with(getActivity());
picasso.setDebugging(true);
picasso.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.into(eventImage, new Callback() {
@Override
public void onSuccess() {
Log.d("Success...", "picasso loaded successfully");
}
@Override
public void onError() {
Log.d("Error...", "picasso load error");
}
});
Picasso 缓存图像以供离线使用。 我在一个简单的电影应用程序中使用它,我在其中显示了一堆电影海报。我可以打开飞行模式,我的图像仍然存在。同样,如果我在飞行模式下强行关闭应用程序,然后再次打开应用程序,我的图像仍会加载。
希望对您有所帮助。
P.S。查看 Glide https://github.com/bumptech/glide。它比 Picasso
更快,加载更流畅使用下面的代码 Picasso 缓存图像以供离线使用。
Picasso.with(this)
.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.networkPolicy(NetworkPolicy.OFFLINE)//use this for offline support
.into(eventImage);
以上代码在删除时不起作用 cache.so Picasso 无法从 cache.If 中找到图像 无法从我们处理的缓存中获取图像以在线获取图像并显示它。我们使用以下代码实现:
Picasso.with(getActivity())
.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.networkPolicy(NetworkPolicy.OFFLINE)//user this for offline support
.into(eventImage, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
Picasso.with(getActivity())
.load(downloadPath+imgDetailPhoto)
.placeholder(R.drawable.no_image)
.error(android.R.drawable.stat_notify_error)
.networkPolicy(NetworkPolicy.OFFLINE)//user this for offline support
.into(eventImage, new Callback() {
@Override
public void onSuccess() {
}
@Override
public void onError() {
//get error if image not loaded
}
});
}
});