1. 程式人生 > >AsyncTask 實現非同步重新整理

AsyncTask 實現非同步重新整理

class GetXMLTask extends AsyncTask<String,Integer,Bitmap> {//繼承AsyncTask

	@Override
	protected Bitmap doInBackground(String... params) {
               
          //處理後臺執行的任務,在後臺執行緒執行
		
				
		return bmImg;
	}
	
	protected void onProgressUpdate(Integer... progress) {
                //在呼叫publishProgress之後被呼叫,在ui執行緒執行
		
	    
     }

     protected void onPostExecute(Bitmap result) {
         //後臺任務執行完之後被呼叫,在ui執行緒執行
    	 if(result != null) {
    		 	  
    	 	  
    	  }else {
    		  
    	  }
    	  mpDialog.cancel();
    	 
     }
     
     protected void onPreExecute () {
         //在 doInBackground(Params...)之前被呼叫,在ui執行緒執行
    	 mpDialog.setMessage("親,正在幫您努力載入哦!");
    	 mpDialog.show(); 
     }
     
     protected void onCancelled () {
          //在ui執行緒執行

     }
	
}

我們可以看到,主要就下面
onPreExecute   //重新整理ui可以提示使用者開始後臺工作了
doInBackground //後臺執行,比如下載等等
onPostExecute  //後臺執行後,重新整理介面。

參考資料