Android 中執行異步操作 AsyncTask實現。

此文章用於個人記錄以防忘記。

AsyncTask使用說明如下:

package ytbk.soft.activity;

import java.security.PublicKey;

import android.os.AsyncTask;

/**
 * 此類的說明:
 * @author Administrator
 * 此類的執行流程:
 * 1,執行execute方法,首先執行onPreExecute方法。
 * 2,其次執行 doInBackground 方法。
 * 3,如果doInBackground執行publishProgress(),會執行onProgressUpdate
 * 4,最後執行onPostExecute 並接收doInBackground的返回值
 * 
 * AsyncTask 有三個參數AsyncTask<String, String, String>,說明如下:
 * 第一個參數:是聲明doInBackground 接收的參數
 * 第二個參數:onProgressUpdate 接收的參數
 * 第三個參數:doInBackground的返回值和onPostExecute的接收值
 */
public class AsyncTaskInWeb extends AsyncTask<String, Integer, String>
{
	//此方法用於執行真正耗時和處理大數據比較延遲的操作,不能修改ui中的控件
	@Override
	protected String doInBackground(String... params) 
	{
		//此方法內都會觸發publishProgress 用於處理此線程的執行進度,好比你ui裏有一個進度條,
		//可用於更新進度條
		//publishProgress(1);
		return null;
	}

	//該方法運行在UI線程當中
	//可以執行一些UI裏的進度條之類的,或TextView顯示的變更。
	@Override
	protected void onPreExecute() {
		// TODO Auto-generated method stub
		super.onPreExecute();
	}
	
	//每次調用publishProgress 都會觸發此方法
	@Override
	protected void onProgressUpdate(Integer... values) {
		// TODO Auto-generated method stub
		super.onProgressUpdate(values);
	}

	//在doInBackground執行完後,執行此方法,並接收doInBackground的返回值
	@Override
	protected void onPostExecute(String result) {
		// TODO Auto-generated method stub
		super.onPostExecute(result);
	}
}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章