AsyncTask是安卓自带的异步操作类,把异步操作简化并封装好,从而可以让开发者在子线程中更方便地更新UI。

AsyncTask为一个抽象类,在继承AsyncTask时需要指定如下三个泛型参数:<Params,Progress,Result>

Params:为启动任务时输入的参数类型

Progress:后台任务执行时返回进度值的类型

Result:任务结束后返回的类型

主要方法


doInBackground(Params… params)方法:

为子线程方法,用以在后台开启线程并执行,其中params为变长数组,其类型为在AsyncTask定义时所定义的类型,对应着execute方法中传入的参数。其返回值为Result所定义的类型。

onPreExecute方法:

为主线程方法,在子线程执行前执行相应配置信息。

onPostExecute方法:

为主线程方法,用于在子线程结束后更新UI

onProgressUpdate方法:

为主线程方法,当在doInBackground方法中调用publishProgress时,会回调此方法,用于在子线程进行的同时更新UI。

Android学习——AsyncTask的使用的更多相关文章

  1. Android学习之AsyncTask

    我们在<Android学习之Handler消息传递机制>(http://www.cnblogs.com/zhouhb/p/5812447.html)已提到过,Android只允许UI线程修 ...

  2. Android 学习笔记多媒体技术之 AsyncTask+实现音频播放...

    PS:今天搞了一下如何实现音频播放...结果被坑了,看书上写的代码是挺简单的,但是有个函数就是死活没看懂,这真是受不了...最后才弄明白,原来是一个实现异步任务的一个类...这个类使用java.uti ...

  3. 【转】 Pro Android学习笔记(九六):AsyncTask(5):横竖屏切换问题

    目录(?)[-] 横竖屏切换的问题 WeakReference 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flow ...

  4. 【转】 Pro Android学习笔记(九四):AsyncTask(3):ProgressDialog

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ Progress Dialog小例子 我们 ...

  5. 【转】 Pro Android学习笔记(九五):AsyncTask(4):执行情况

    目录(?)[-] 两个AsyncTask对象的运行情况 多次执行的异常 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/ ...

  6. 【转】 Pro Android学习笔记(九二):AsyncTask(1):AsyncTask类

    文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn.net/flowingflying/ 在Handler的学习系列中,学习了如何h ...

  7. 【转】 Pro Android学习笔记(九三):AsyncTask(2):小例子

    目录(?)[-] 继承AsyncTask UI操作接口 使用AsyncTask 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注册等附加条件.转载须注明出处:http://blog.csdn. ...

  8. 【转】 Pro Android学习笔记(七四):HTTP服务(8):使用后台线程AsyncTask

    目录(?)[-] 5秒超时异常 AsyncTask 实现AsyncTask抽象类 对AsyncTask的调用 在哪里运行 其他重要method 文章转载只能用于非商业性质,且不能带有虚拟货币.积分.注 ...

  9. Android学习笔记:多个AsyncTask实例的并发问题

    AsyncTask是Android给开发者提供的一个简单轻量级的多线程类,通过它我们可以很容易新建一个线程让在后台做一些耗时的操作(如IO操作.网络访问等),并在这个过程中更新UI.之所以说它轻量级, ...

随机推荐

  1. mac 配置charles

    从官网下载链接http://www.charlesproxy.com/download 附上注册码: Registered Name: https://zhile.io License Key: 48 ...

  2. python学习之路---day008

    文件操作一:文件操作01):文件读取:(r 只读) 001):我们先在当前文件夹内创建txt文件取名为123,在其中添加几句话内容. f 称之为文件句柄,控制着 123 这个文本文档 f=open(& ...

  3. [BZOJ 4923][Lydsy1706月赛]K小值查询

    传送门 势能分析平衡树,splay或treap都可以 放个指针版的就跑 #include <bits/stdc++.h> using namespace std; #define rep( ...

  4. hadoop 配置安装

    1.   下载hadoop 压缩包,   拷贝到 /usr/hadoop目录下   tar -zxvf  hadoop-2.7.1.tar.gz, 比如: 127.0.0.1 localhost 19 ...

  5. git 项目常用命令

    git remote -v 查看对应的远程仓库 git fetch origin master 将某个远程主机的更新,全部取回本地 git merge origin master 合并分支 git a ...

  6. 2019.3.25 SQL语句(进阶2)

    子查询 数据库中的表沿用 上一篇博客 中使用的Employee1. 练习: 1.求所有年龄比张三小的人 select * from Employee1 where age < (select a ...

  7. oracle 备份恢复篇(二)---rman 增备恢复--不完全恢复

    一,环境准备 全备脚本: export TMP=/tmp export TMPDIR=$TMP export ORACLE_BASE=/u01 export ORACLE_SID=prod expor ...

  8. 记录树莓派静态IP修改

    1.操作:修改dhcpcd.conf文件 sudo nano /etc/dhcpcd.conf interface eth0 static ip_address=192.168.0.10/24 sta ...

  9. 基于setTimeout制作滚动广告板

    很多网站在其门户页面的上方正中央都会放置一个滚动广告板,用于显示一些推荐信息,用户点击即可进入浏览.比较常见的就是各个公司的官网,电商网站的首页等. 下面是天猫的滚动广告板截图. 其实,不需要借助于什 ...

  10. Java中forEach, 用来遍历数组

    这里的for是Java中forEach, 用来遍历数组的.for(int i : d) 就是遍历int型数组d的 每一次访问数组d的时候读取的数据放入int型的i中.和for(int i=0;i< ...