关于AsyncTask异步执行任务演示

   public  class  MainActivity  extends  Activity  {   时间=private  String  url “https://cache.yisu.com/upload/information/20200311/46/200000.jpg”;   @Override   protected  void  onCreate (Bundle  savedInstanceState), {   super.onCreate (savedInstanceState);   setContentView (R.layout.activity_main);   testTask ();   }   public  void  testTask () {   DownloadPicTask  task =, new  DownloadPicTask ();   url=task.imgPath ;   task.img =, (ImageView), findViewById (R.id.p_w_picpathView1);   task.execute (url);   }   }

//任务类

package  com.example.task;   import  org.apache.http.HttpResponse;   import  org.apache.http.client.HttpClient;   import  org.apache.http.client.methods.HttpGet;   import  org.apache.http.impl.client.DefaultHttpClient;   import  org.apache.http.util.EntityUtils;   import  android.graphics.Bitmap;   import  android.graphics.BitmapFactory;   import  android.os.AsyncTask;   import  android.util.Log;   import  android.widget.ImageView;   public , class  DownloadPicTask  extends  AsyncTask<字符串,整数,,String> {   public  String  imgPath;,   private  byte[],数据;   public  ImageView  img;   protected  void  onPrepareExecute () {   Log.v(“任务”,“onPrepareExecute”);   super.onPreExecute ();   }//,doInBackground方法内部执行后台任务,不可在此方法内修改UI   @Override   protected  String  doInBackground(字符串…,arg0), {//,TODO  Auto-generated  method 存根   Log.v(“任务”,“doInBackground ”, +, arg0);   HttpClient  HttpClient =, new  DefaultHttpClient ();   HttpGet  HttpGet =, new  HttpGet (imgPath);   HttpResponse  HttpResponse =,空;   try  {   时间=httpResponse  httpClient.execute (httpGet);   .getStatusCode if  (httpResponse.getStatusLine () (),==, 200), {   时间=data  EntityUtils.toByteArray (httpResponse   .getEntity ());   }   },catch  (Exception  e), {   e.printStackTrace ();   }   return 零;   }//,onProgressUpdate方法用于更新进度信息   @Override   protected  void  onProgressUpdate(整数…,进展),{   Log.v(“任务”,“onProgressUpdate”);   super.onProgressUpdate(进展);   }//,onPostExecute方法用于在执行完后台任务后更新UI,显示结果   @Override   protected  void  onPostExecute (String 结果),{//,progressDialog.dismiss ();   Log.v(“任务”,“onPostExecute”);   Bitmap  bmp=BitmapFactory.decodeByteArray(数据,,0,,data.length);   img.setImageBitmap (bmp);   }//,虚方法用于在取消执行中的任务时更改UI   @Override   protected  void 虚(),{   Log.v(“任务”,“虚”);   }   }

//. xml中只有一个ImageView控件

关于AsyncTask异步执行任务演示