【问题标题】:Problem in downloading array of images from the array of urls in android从android中的url数组下载图像数组的问题
【发布时间】:2011-09-25 03:21:15
【问题描述】:

我在从 url 数组下载图像以显示图像列表时遇到问题。 我将图像 url 存储到一个数组中,当我迭代这个数组时,我正在调用一种方法来下载并通过一次传递一个 url 返回位图。但是在完成此迭代后,我丢失了一些图像。这意味着我开始知道迭代过程会跳过一些图像。

任何人都可以帮助我吗? 出于参考目的,我在这里附上我的代码,我在带有处理程序的单独线程中运行。

Bitmap[] data = new Bitmap[urls.size()];
for (int i = 0; i < urls.size(); i++) {
Bitmap temp=getBitmapFromURL(urls.get(i));
if(temp!=null){
    data[i] = temp;
                }
}
public static Bitmap getBitmapFromURL(String urlString) {
        try {
         URL url = new URL(urlString);
         InputStream input = url.openConnection().getInputStream();

           BitmapFactory.Options options = new BitmapFactory.Options();

                    options.inSampleSize = 8; 


                myBitmap = BitmapFactory.decodeStream(input, null, options);
            return myBitmap;
        }catch (Exception e) {
            e.printStackTrace();
        }

}

【问题讨论】:

    标签: android image list url download


    【解决方案1】:

    您可以使用 Lasylist 在列表视图中显示图像。

    源代码在这里http://open-pim.com/tmp/LazyList.zip

    【讨论】:

    • 感谢您的快速回复。如果我想直接在列表视图中下载和显示图像,延迟加载应该可以工作。但我的意图是我想从后端下载图像,然后将它们存储在位图数组中,然后在完成下载所有图像后显示它们
    【解决方案2】:

    图像的延迟加载将解决您的问题。请点击以下链接:Lazy load of images in ListView

    【讨论】:

    • 感谢您的快速回复。如果我想直接在列表视图中下载和显示图像,延迟加载应该可以工作。但我的意图是我想从后端下载图像,然后将它们存储在位图数组中,然后在完成下载所有图像后显示它们。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-06-12
    • 1970-01-01
    相关资源
    最近更新 更多