实现 getStreamFromPOtherSource() 来处理异常

Implementing getStreamFromPOtherSource() to handle Exceptions

我正在使用 Android Universal Image loader in my news app i'm currently working on. I'm using NewsAPI 获取新闻。从网站解析 JSON 后。我使用自定义适配器填充列表视图,通用图像加载器用于在后台获取图像。但有些图片UIL doesn't support scheme(protocol) by default [null].You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))显示异常

我认为在某些图像中,URI 不是库期望的格式。

所以我的问题是我如何填充图像的位置,这给了我 Drawable 文件夹中的图片错误。 (404图片表示图片无法下载)

我找到了应该放代码的地方。

protected InputStream getStreamFromOtherSource(String imageUri, Object extra) throws IOException { throw new UnsupportedOperationException(String.format("UIL doesn't support scheme(protocol) by default [%s]. You should implement this support yourself (BaseImageDownloader.getStreamFromOtherSource(...))", new Object[]{imageUri})); }

如果图像不可下载,我需要知道我应该在此处放置什么样的代码以从我的可绘制文件中放置 404 图像。

兄弟..你可以使用 Piccasso 图片库 android。它可以解决您的问题。

示例代码:

if(!image.equals("default")){


                Picasso.with(Profile.this).load(image).networkPolicy(NetworkPolicy.OFFLINE)
                        .placeholder(R.drawable.default).into(mDisplayImage, new Callback() {
                    @Override
                    public void onSuccess() {

                    }

                    @Override
                    public void onError() {
                        Picasso.with(Profile.this).load(image).placeholder(R.drawable.default).into(mDisplayImage);

                    }
                });

}

在这里它可以替换默认的(即)404 found image while Error condition

还有一个小建议,您可以使用 Easy News 库从 NewsAPI 中简单地检索新闻。这里我们不需要解析JSON。它通过单一方法调用提供数据