没有合适的资源?快使用搜索试试~ 我知道了~
Android学习笔记(三二):线程:后台异步任务AsyncTask.doc
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 70 浏览量
2022-07-08
18:09:57
上传
评论
收藏 105KB DOC 举报
温馨提示
试读
5页
Android学习笔记(三二):线程:后台异步任务AsyncTask
资源推荐
资源详情
资源评论
Android
学习笔记(三二):线程:后台异步任务
AsyncTask
分类: 读书笔记 Andriod2011-05-11 18:09 763 人阅读 评论(1) 收藏 举报
去五金店买个钻,不是因为我们需要钻,我们只需需要孔,既然五金店无法买孔,退而求其
次,买打孔的工具。同样的对于后台线程,我们真正需要的是能够在 UI 主线程外进行处理,
Android 提供一个让程序员编写后台操作更为容易和透明 AsyncTask。
使用 AsyncTask,需要创建 AsyncTask 的资料,并实现其中的抽象方法以及重写某些方法。
利用 AsyncTask 我们不需要自己来写后台线程,无需终结后台线程,例如 stop()的方式。
AsyncTask 的方式对无限循环的方式并不太合适,可能更合适使用 Runnable 或者 Thread。
对于初次使用的人,AsyncTask 看起来有一些复杂。我们先学些 AsyncTask 的基本情况,
然后给出一个小例子来验证。
AsyncTask
AsyncTask 中有三个参数(例如 class MyTask extends AsyncTask<参数 1,参数 2,参数
3>{})
� 参数 1:向后台任务的执行方法传递参数的类型
� 参数 2:在后台任务执行过程中,要求主 UI 线程处理中间状态,通常是一些 UI 处
理中传递的参数类型
� 参数 3:后台任务执行完返回时的参数类型
其中参数 1 和参数 2 是一个 varags,例如 String…,相当于 String[]。
对于 AsyncTask 的使用步骤如下:
� 创建一个 AsyncTask 的子类,对象创建时带参数(参数 1,参数 2,参数 3)
� 调用对象的 excute()时,将启动后台进程,执行 doInBackground()的代码。excute()
中所传递的参数类型在参数 1 中描述,属于范式定义
� 如果我们希望在启动后台进程中,进行某些初始化的处理,可以 override
onPreExecute()方法,注意这些代码是在 UI 线程中执行的
� 在执行完后台进程,我们需要进行某些处理,例如停止某些 UI 的动态画面,进度条
消失等等,可以重写 onPostExecute()方法,同样,这些代码也是在 UI 主线程中执行。其
中将 doInBackground()的返回值传递作为 onPostExecute()参数中,其类型由参数 3 描述
� 在执行后台进程中,如果需要需要向 UI 线程报告某
个处理状态,可以通过 publishProgress()来触发,这样在 UI 主
线程中将执行重写后的 onProgressUpdate()的代码,其中传递
的参数的类型由参数 2 描述。
一个小例子
有一个 ListView 的小例子,一开始 List 中没有内容,通过一个
AsyncTask 逐步在 List 中加入条目。
1)XML 文件:简单的 ListView 布局
资源评论
oligaga
- 粉丝: 50
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功