Android版毕加索图书馆是否在网络连接关闭时处理图像加载?

Android版毕加索图书馆是否在网络连接关闭时处理图像加载?,android,picasso,image-loading,offline-mode,Android,Picasso,Image Loading,Offline Mode,我正在开发一个应用程序,我在ViewPager和其他imageview中加载图像。所以我想知道如果网络连接关闭会发生什么。在将图像加载到视图之前,库是自行处理还是必须检查网络连接 我的代码: Picasso picasso = Picasso.with(getActivity()); picasso.setDebugging(true); picasso.load(downloadPath+imgDetailPhoto) .plac

我正在开发一个应用程序,我在
ViewPager
和其他
imageview
中加载图像。所以我想知道如果网络连接关闭会发生什么。在将图像加载到视图之前,库是自行处理还是必须检查网络连接

我的代码:

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");

                    }
                });

毕加索缓存图像以供脱机使用。 我在一个简单的电影应用程序中使用它,在那里我会显示一堆电影海报。我可以打开飞行模式,我的图像仍然在那里。同样,如果我在飞行模式下强制关闭应用程序,然后再次打开应用程序,我的图像仍将加载

希望这有帮助


还有,看看Glide。它比毕加索更快,加载也更流畅。使用下面的代码,毕加索缓存图像以供脱机使用

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);
删除缓存时,上述代码无效。因此毕加索无法从缓存中找到图像。如果无法从缓存中获取图像,我们将处理以联机获取图像并显示它。我们使用以下代码实现这一点:

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
        }
    });
}
});

图像不会显示在屏幕上。整个程序都没有出错。所以你是说我不必为脱机编写单独的代码,对吗?我只使用了一次这个库,我的应用程序在脱机时似乎工作得很好,当然没有图像。确保应用程序仍能正常运行的简单方法:启动应用程序前关闭设备上的WiFi/互联网。如果你想脱机显示图像,则必须缓存它们。这对我不起作用,请用完整的示例解释。请说明它不起作用。当没有连接时,永远不会调用onError方法。