android AsyncTask 轻量级异步处理
来源:互联网 发布:梯形九九乘法表 java 编辑:程序博客网 时间:2024/06/05 12:50
AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程.
AsyncTask定义了三种泛型类型 Params,Progress和Result。
- Params 启动任务执行的输入参数,比如HTTP请求的URL。
- Progress 后台任务执行的百分比。
- Result 后台执行任务最终返回的结果,比如String。
使用AsyncTask类,以下是几条必须遵守的准则:
- Task的实例必须在UI thread中创建;
- execute方法必须在UI thread中调用;
- 不要手动的调用onPreExecute(), onPostExecute(Result),doInBackground(Params...), onProgressUpdate(Progress...)这几个方法;
- 该task只能被执行一次,否则多次调用时将会出现异常;
/** * 第一个参数 传入的数据,可以是String ,Integer 等 * 第二个参数 进行进程监控 ,可以监控进程执行的百分比 * 第三个参数是线程执行完后返回的类型,可以是result也可以是Stirng等 */ new AsyncTask<String, Float, Result>(){ /** * 这个方法在线程中 * 传入参数是执行execute()方法中传入的对象 * 返回执行的结果也就是第三个参数 */@Overrideprotected Result doInBackground(String... params) {// TODO Auto-generated method stub//publishProgress(values);return null;}/** * 在线程开启之前的回调这个函数 */@Overrideprotected void onPreExecute() {// TODO Auto-generated method stubsuper.onPreExecute();}/** * 当线程执行结束后回调这个函数 * 可以进行解析、更新ui等一些操作 */@Overrideprotected void onPostExecute(Result result) {// TODO Auto-generated method stubsuper.onPostExecute(result);}/** * 开启线程控制,也可以对外发布执行的进度。 * 在doInBackground方法中使用publishProgress(values)回调这个函数; */@Overrideprotected void onProgressUpdate(Float... values) {// TODO Auto-generated method stubsuper.onProgressUpdate(values);}/** * 用户取消的时候回调这个方法 */@Overrideprotected void onCancelled(Result result) {// TODO Auto-generated method stubsuper.onCancelled(result);}@Overrideprotected void onCancelled() {// TODO Auto-generated method stubsuper.onCancelled();} }.execute(params);
可以继承来调用AsyncTask
参考:http://www.cnblogs.com/devinzhang/archive/2012/02/13/2350070.html
0 0
- android AsyncTask 轻量级异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android 异步处理AsyncTask
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android AsyncTask异步处理
- Android 异步处理 AsyncTask实现
- Android异步处理之AsyncTask
- Android之AsyncTask轻量级异步类(笔记)
- android:AsyncTask实现异步处理任务
- android线程异步处理之AsyncTask
- android:AsyncTask实现异步处理任务
- 黑马程序员——OC语言加强---Foundation框架介绍
- 欢迎使用Markdown编辑器写博客
- B-树和B+树的应用:数据搜索和数据库索引
- maven详解之生命周期与插件
- git中failed to push some refs to git问题解决及基本使用
- android AsyncTask 轻量级异步处理
- IO
- listView遇到的问题
- 图解Linux命令之--id命令
- GDT 与 LDT
- NppAStyle-0.2.0-20151006 is out
- 数据挖掘之基础概念二
- atoi实现,考虑溢出等各种情况
- 8分钟锻炼腹肌教程