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

android-AsyncTask

2016-02-21 11:13 351 查看
AsyncTask是一种异步处理工具,在执行一些耗时操作如下载或请求接口数据等都会想到它。对于这个抽象类,
我们直接写个子类或内部类继承它,还要给定它的三个泛型:
Params:执行doInBackground要传递的参数
Progress:当需要显示进度时进度的单位类型
Result:完成任务返回结果类型
public class MyAsyncTask extends AsyncTask<Void, Integer, String>{
@Override
protected void onPreExecute() {
//doInBackground之前调用,常用于界面的初始化
}
@Override
protected String doInBackground(Void... params) {
//开启子线程运行,多是耗时操作,无法直接更新ui
publishProgress(50);//反馈当前操作进度,会去执行onProgressUpdate方法
return null;
}
@Override
protected void onProgressUpdate(Integer... values) {
//更新进度
}
@Override
protected void onPostExecute(String result) {
//doInBackground的return后执行,参数即为doInBackground返回值,该方法在主线程中进行,可对
//UI进行操作
}

}
启动这个任务只要new MyAsyncTask().execute()方法就可以了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android asynctask