Android学习笔记(39):异步任务AsyncTask

异步任务是为了在新线程中修改UI组件而提供的,当然为了解决这个问题我们还可以用Handler实现线程之间的通信。但异步任务为我们提供了一种进一步简化的方式。

 

使用AsyncTask的步骤如下:

 

1.在UI线程中创建AsyncTask的子类(必须在UI线程中创建),指定三个泛型参数:不需要的可以指定为Void

Params:启动任务执行的输入参数的类型。

Progress:后台任务完成的进度值的类型。

Result:后台任务完成后返回结果的类型。

 

2.实现AsyncTask的如下方法(这些方法都是Android系统负责调用的,不需要程序员去调用):

doInBackground(Params... params):是后台线程需要完成的任务。在onPreExecute后执行。此方法将接收输入参数和返回计算结果。在执行过程中可以调用publishProgress(Progress... values)来更新进度信息。

onProgressUpdate(Progress... values):在调用publishProgress(Progress... values)时,此方法被执行,直接将进度信息更新到UI组件上。

onPreExecute():在执行后台线程的任务前调用。一般用于完成一些初始化操作。

onPostExecute(Result result):在执行后台线程的任务后调用。在doInBackground后执行。

 

3.调用AsyncTask子类的execute()方法开始执行后台任务。(必须在UI线程中调用)

 

需要注意的是AsyncTask只能调用一次,多次调用会抛出异常。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

这波lucio来全学了

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值