2013-06-12 4 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; 
} 

Выше конструктор для этого класса. Поскольку это метод, фигурные скобки используются, чтобы показать, где начинается и заканчивается метод.

URL-адреса являются параметрами, и это то, что передается методу выполнения.

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

AsyncTask Params, Прогресс, Результат

Смежные вопросы