AsyncTask
2016-01-07 14:24
218 查看
AsyncTask的基本用法
由于AsyncTask 是抽象类,所以如果我们使用它,就必须创建一个子类去继承他。 AsyncTask<Void, Integer, Boolean> 第一个参数,是传入的值,第二个update UI需要用的类型,第三个是 doInBackground 返回的值。
1. onPreExecute()
这个方法会在后台任务开始执行之间调用,用于进行一些界面上的初始化操作,比如显示一个进度条对话框等。
2. doInBackground(Params...)
这个方法中的所有代码都会在子线程中运行,我们应该在这里去处理所有的耗时任务。任务一旦完成就可以通过return语句来将任务的执行结果进行返回,如果AsyncTask的第三个泛型参数指定的是Void,就可以不返回任务执行结果。注意,在这个方法中是不可以进行UI操作的,如果需要更新UI元素,比如说反馈当前任务的执行进度,可以调用publishProgress(Progress...)方法来完成。
3. onProgressUpdate(Progress...)
当在后台任务中调用了publishProgress(Progress...)方法后,这个方法就很快会被调用,方法中携带的参数就是在后台任务中传递过来的。在这个方法中可以对UI进行操作,利用参数中的数值就可以对界面元素进行相应的更新。
4. onPostExecute(Result)
当后台任务执行完毕并通过return语句进行返回时,这个方法就很快会被调用。返回的数据会作为参数传递到此方法中,可以利用返回的数据来进行一些UI操作,比如说提醒任务执行的结果,以及关闭掉进度条对话框等。
http://blog.csdn.net/guolin_blog/article/details/11711405
相关文章推荐
- 一个基于Python 装饰器的缓存库——wrapcache
- 1、Two Sum
- 菜单 PHP 开发中的外围资源性能分析(一)
- 输入一行字符串,把字符串翻转[单词顺序不变]
- web 前端资料
- 5.UITableView基本使用
- 蓝牙代理报错:invalid handle error
- MFC列表控件更改一行的字体颜色
- SHELL变量的几个小题目
- iis的错误页设置不显示详细信息
- VIM入门
- HttpUploader6-queue版本更新说明
- MQTT——java简单测试(二)
- 网易前端JavaScript编码规范【转】
- [AnyDAC][Phys][ODBC][Microsoft][ODBC 驱动管理器]在指定的DSN中,驱动程序和应用程序体系结构不
- 5.1.2. Using Lists as Queues(像队列一样)
- Centos7下openresty自启动配置
- lambda内容的介绍
- bug系列-------sn序列号在烧img之后被损坏
- 判断计算机是大端还是小端