异步映像下载并存储在ImageView数组中

时间:2011-06-24 18:32:20

标签: android asynchronous png imageview android-asynctask

我一直在寻找一种方法来进行多个图像的异步下载并将它们存储在一个数组中。我有一些很好的例子用于列表,但我想有一种方法来下载这些并在以后使用它们。 谢谢阅读。任何建议将不胜感激。

2 个答案:

答案 0 :(得分:5)

尝试这样的事情:

public void onClick(View v) {
    new DownloadImageTask().execute("http://example.com/image.png");
}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {
     protected Bitmap doInBackground(String... urls) {
         return loadImageFromNetwork(urls[0]);
     }

     protected void onPostExecute(Bitmap result) {
         //Do something with bitmap eg:
         mImageView.setImageBitmap(result);
     }
 }

 private Bitmap loadImageFromNetwork(String url){
      try {
          Bitmap bitmap = BitmapFactory.decodeStream((InputStream)new URL(imageURL).getContent());
          return bitmap;
      } catch (Exception e) {
          e.printStackTrace();
    }
 }

答案 1 :(得分:0)

你需要改变 新网址(imageURL) - &gt;新网址(网址)

并将退货类型放在&#34; e.printStackTrace();&#34; (返回null;)

我检查过它。