AsyncTask-异步任务

来源:互联网 发布:淘宝提前收款好用吗 编辑:程序博客网 时间:2024/06/02 21:23

AsyncTask是android 1.5提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程。

优点:简单快捷、过程可控

AsyncTask的使用步骤:

1 添加一个类,继承AsyncTask,并设置相应参数
2 重写四个方法
onPreExecute()  该方法将在执行后台操作前会被UI线程调用。可以在该方法中做一些准备工作,如在界面

上显示一个进度对话框(ProgressDialog)


doInBackground(Params...)  将在onPreExecute 方法执行后马上执行,该方法运行在后台线程中。

负责执行耗时操作。可以在该方法中调用publishProgress方法来通知UI线程更新实时的任务进度


onProgressUpdate(Progress...)在publishProgress方法被调用后,UI 线程将调用本方法更新进度

onPostExecute(Result)在doInBackground 执行完成后,本方法将被UI 线程调用,在此方法中更新UI界面

AsyncTask的参数说明:

AsyncTask是一个抽象类.  它需要三种泛型类型的参数,Params,Progress和Result
Params 启动任务执行的输入参数,比如HTTP请求的URL。 一般用String类型
Progress 后台任务执行的百分比。 一般用Integer类型,不需要更新进度的时候用Void(大写字母V)
Result 后台执行任务最终返回的结果,一般用byte[ ]或者String


0 0
原创粉丝点击