此文章用于个人记录以防忘记。
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);
}
}