实现getStreamFromPOtherSource()以处理异常

时间:2018-04-22 14:08:19

标签: java android universal-image-loader

我正在我的新闻应用中使用Android Universal Image loader,我目前正在努力。我使用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图像。

1 个答案:

答案 0 :(得分:1)

Bro ..您可以将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)在出现错误情况时找到的图片

建议您使用Easy News库从NewsAPI轻松检索新闻。在这里,我们不需要解析JSON。它通过单个方法调用来提供数据

相关问题