您的位置:首页 > 移动开发 > Android开发

Android 中执行异步操作 AsyncTask实现。

2013-12-10 16:57 525 查看
此文章用于个人记录以防忘记。

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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: