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);
	}
}


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