2013-06-12 248 views
0

我發佈之前已經研究過,但無法真正得到明確的答案,所以我來到這裏。在這些代碼行中,我想了解他們究竟做了什麼。我來自cpp背景,這裏的東西真的不一樣。AsyncTask幫助需要了解

new DisplayImageFromURL((ImageView) findViewById(R.id.my_image)) 
       .execute("http://www.tmonews.com/wp-content/uploads/2012/10/androidfigure.jpg"); 

這段代碼究竟幹什麼?在我的代碼中有一個私有類聲明在下面,但我不知道它傳遞給下一個類的信息。

private class DisplayImageFromURL extends AsyncTask<String, Void, Bitmap> { 
     ImageView bmImage; 
     @Override 
     protected void onPreExecute() { 
      // TODO Auto-generated method stub 
      super.onPreExecute(); 
      pd = new ProgressDialog(MainActivity.this); 
      pd.setMessage("Loading..."); 
      pd.show(); 
     } 
     public DisplayImageFromURL(ImageView bmImage) { 
      this.bmImage = bmImage; 
     } 
     protected Bitmap doInBackground(String... urls) { 
      String urldisplay = urls[0]; 
      Bitmap mIcon11 = null; 
      try { 
       InputStream in = new java.net.URL(urldisplay).openStream(); 
       mIcon11 = BitmapFactory.decodeStream(in); 
      } catch (Exception e) { 
       Log.e("Error", e.getMessage()); 
       e.printStackTrace(); 
      } 

      return mIcon11; 

     } 
     protected void onPostExecute(Bitmap result) { 
      bmImage.setImageBitmap(result); 
      pd.dismiss(); 
     } 
    } 
} 

這段代碼做了什麼?這個花括號是什麼意思?

public DisplayImageFromURL(ImageView bmImage) { 
     this.bmImage = bmImage; 
    } 

而這最後一個..從哪裏得到URL?

protected Bitmap doInBackground(String... urls) { 
      String urldisplay = urls[0]; 
+1

閱讀文檔http://developer.android.com/reference/android/os/AsyncTask.html – Raghunandan

+0

'那有什麼大括號的意思是在這裏嗎?'也許閱讀關於Java:http://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-092-introduction-to-programming-in-java-january-iap-2010/index .htm – verybadalloc

+0

先生,我已閱讀官方安卓文檔 – user2479697

回答

0
public DisplayImageFromURL(ImageView bmImage) { 
this.bmImage = bmImage; 
} 

以上是這個類的構造函數。由於它是一種方法,因此使用花括號來顯示方法的開始和結束位置。

這些網址是參數,它們是傳遞給執行方法的內容。

new DisplayImageFromURL((ImageView) findViewById(R.id.my_image)) 
.execute("http://www.tmonews.com/wp-content/uploads/2012/10/androidfigure.jpg"); 

的AsyncTask PARAMS,進展,結果