2012-02-20 36 views
-1

我應該如何從android中使用Thread加載http圖像? 我想在等待圖像加載時顯示佈局。使用線程加載圖像formURL

現在,我使用此代碼顯示從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; 
    } 

誰能幫助我?

+0

請修復您的問題。即使你的英語不是最好的,你也可以修改你的語言(錯別字,缺少空格,用大寫字母開始你的句子,用'。'等結束它)。 ''是什麼意思?這是你提出一個問題的暗示嗎?這不是neccessairy我相信... – Nanne 2012-02-20 13:44:36

+0

謝謝你的建議,是的,我知道有很多從我。保持學習 – rage 2012-02-20 14:12:51

回答

0

檢查this link。一旦你瞭解了android中的線程是如何工作的,你可以自己編寫一個解決方案,或者使用一些開源代碼庫來完成。例如:ignition

0

您應該將ImageView對象傳遞給您的方法。和方法作爲一個線程運行。

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(); 
相關問題