AsyncTask的使用

 

AsyncTask的使用
  1. class  DownloadImagesTask  extends  AsyncTask<String, Integer, Bitmap> {    
  2.     
  3. private   int  imageViewID;    
  4.     
  5.      protected   void  onPostExecute(Bitmap bitmap1) {    
  6.     setImage(imageViewID, bitmap1);    
  7. }    
  8.     
  9.      public   void  setImageId( int  imageViewID) {    
  10.          this .imageViewID = imageViewID;    
  11.     }    
  12.     
  13.      @Override     
  14.      protected  Bitmap doInBackground(String... url) {    
  15.         Bitmap bitmap1 =     
  16.             DownloadImage(url[ 0 ]);    
  17.          return  bitmap1;    
  18.     }   
  19. /* 39.        @Override 
40.        protected void onCancelled() {  
41.            super.onCancelled();  
42.        }  
43.        @Override 
44.        protected void onPostExecute(String result) {  
45.            // 返回HTML页面的内容  
46.            message.setText(result);  
47.        }  
48.        @Override 
49.        protected void onPreExecute() {  
50.            // 任务启动,可以在这里显示一个对话框,这里简单处理  
51.            message.setText(R.string.task_started);  
52.        }  
53.        @Override 
54.        protected void onProgressUpdate(Integer... values) {  
55.            // 更新进度  
56.            message.setText(values[0]);  
57.        }  
*/
  1. }   //有很多的方法可以用

 

Java代码  
  1. DownloadImagesTask task1 =  new  DownloadImagesTask();    
  2. task1.setImageId(R.id.img1);    
  3. task1.execute( "http://assets.devx.com/articlefigs/39810_1.jpg" );   

 

Java代码  
  1. private  Bitmap DownloadImage(String URL)   
  2.    {           
  3.        Bitmap bitmap =  null ;   
  4.        InputStream in =  null ;           
  5.         try  {   
  6.            in = OpenHttpConnection(URL);   
  7.            bitmap = BitmapFactory.decodeStream(in);   
  8.            in.close();   
  9.        }  catch  (IOException e1) {   
  10.             // TODO Auto-generated catch block   
  11.            e1.printStackTrace();   
  12.        }   
  13.         return  bitmap;                   
  14.    }  

 在其中使用进度对话框

 

Java代码  
  1. class  GetTask  extends  AsyncTask<Object, Void, String>    
  2.     {    
  3.         Context mContext;    
  4.             ProgressDialog mDialog =  null ;    
  5.     
  6.             GetPhotoFeedTask(Context context)    
  7.     {    
  8.         mContext = context;    
  9.     }    
  10.     
  11.          @Override     
  12.          protected   void  onPreExecute()    
  13.         {    
  14.              super .onPreExecute();    
  15.     
  16.              mDialog =  new  ProgressDialog(mContext);    
  17.              mDialog.setMessage( "Please wait..." );    
  18.              mDialog.show();    
  19.         }    
  20.                  @Override     
  21.          protected  String doInBackground(Object... params)    
  22.         {    
  23.                    // do stuff in background : fetch response    
  24.                 }    
  25.     
  26.                  @Override     
  27.          protected   void  onPostExecute(String result)    
  28.         {    
  29.              super .onPostExecute(result);    
  30.             setProgressBarIndeterminateVisibility( false );    
  31.              // mDialog.dismiss();    
  32.                 }    
  33. }  

你可能感兴趣的:(AsyncTask)