2013-11-03 161 views
1

好的,我對android開發相當新,並且正在開發一個應用程序。我已經看遍了整個stackoverflow,但似乎無法找到一個有效的例子。我需要從網址異步下載一張照片,然後在imageview中設置它。我決定創建一個獨立於我的片段的類來下載圖像。異步下載圖像並設置爲圖像視圖

代碼:

public class UpdateUser { 

    private static final String TAG = "UpdateUser"; 


    public void refresh(JSONObject user){ 

     //Download profile pic 
     try { 
      downloadProfpic(user.getString("userpic_url")); 
     } catch (JSONException e) { 
      Log.e(TAG, "", e); 
     } 
    } 

    public void downloadProfpic(String userpicURL) { 

     try{ 

      URL murl = new URL(userpicURL); 
      Bitmap bm = BitmapFactory.decodeStream(murl.openConnection().getInputStream()); 

      Context context = Application.getContext(); 
      final FileOutputStream fos = context.openFileOutput("Prof_pic.png", Context.MODE_PRIVATE); 

      bm.compress(CompressFormat.JPEG, 90, fos); 

      //Set the imageview 
      //pageFrag.setProfPic("Prof_pic.png"); 

     } catch (IOException e) { 
      e.printStackTrace(); 
      return; 
     }  

    } 
} 

正如你可以看到它不是異步的,也沒有設置ImageView的。此外,我相當確定我沒有正確地做。我應該下載到內部存儲?或者下載到文件?有人能幫助我嗎?

謝謝 湯姆

回答