使用Thread加载图像formURL

时间:2012-02-20 13:31:03

标签: android

如何在android中使用Thread从http加载图像? 我想在等待图像加载时显示布局。

现在我使用此代码从http显示我的img,并在显示结果之前显示一段黑暗的空白屏幕:

        private Drawable ImageOperations(Context ctx, String url, String saveFilename) {
        try {
            InputStream is = (InputStream) this.fetch(url);
            Drawable d = Drawable.createFromStream(is, "src");
            return d;
        } catch (MalformedURLException e) {
            return null;
        } catch (IOException e) {
            return null;
        }
    }

    public Object fetch(String address) throws MalformedURLException,IOException {
        URL url = new URL(address);
        Object content = url.getContent();
        return content;
    }

任何人都可以帮助我吗?

2 个答案:

答案 0 :(得分:1)

Use this for load images from http

ImageView img_item;
String image_url = "here url"
    new Thread(new Runnable() 
    {
    public void run() 
        {
        try 
        {
            final Bitmap bitmap = BitmapFactory.decodeStream((InputStream) new URL(image_url).getContent());
            img_item.post(new Runnable()
            {
              public void run() 
              {
                if(bitmap !=null)
                {
                   img_item.setImageBitmap(bitmap);
                }   
              }
            }); 
        } catch (Exception e)
        {
        // TODO: handle exception
        }
    }
  }).start();

答案 1 :(得分:0)

您应该将ImageView对象传递给您的方法。和方法作为一个线程运行。