您的位置:首页 > 其它

AsyncTask 基于异步消息处理机制

2016-11-19 11:59 197 查看
AsyncTask 是一个抽象类

1、创建一个子类去继承AsyncTask

Params 在执行 AsyncTask 时需要传入的参数,可用于在后台任务中使用。

Progress 后台任务执行时,如果需要在界面上显示当前的进度,则使用这里指定的泛型作为进度单位。

Result当任务执行完毕后,如果需要对结果进行返回,则使用这里指定的泛型作为返回值类型

注:泛型参数指定为 Void,表示在执行 AsyncTask 的时候不需要传入参数给后台任务

class AsyncTask extends AsyncTask<Params, Progress, Result>{
//该方法运行在UI线程中,可对UI控件进行设置
@Override
protected void onPreExecute() {

}
//该方法不运行在UI线程中,主要用于异步操作,
//所有代码都会在子线程中运行
//通过调用publishProgress(Progress... values)方法
//触发onProgressUpdate对UI进行操作
@Override
protected Params doInBackground(Params... params) {

return null;
}
//接收doInBackground(),return的参数
//可以利用返回的数据来进行一些 UI 操作
@Override
protected void onPostExecute(Params s) {

}
//在doInBackground方法中,
//每次调用publishProgress方法都会触发该方法
//运行在UI线程中,可对UI控件进行操作
@Override
protected void onProgressUpdate(Progress... values) {

}
}


2、启动这个任务

new MyAsynTask().execute(Params... params);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: