各位看官们大家好,上一回中咱们说的是Android中Handler机制的例子,这一回咱们说的例子是Android中的Asynctask机制。闲话休提,言归正转。让我们一起Talk Android吧!
看官们,我们在上一章回中提到过其它的异步机制,本章回介绍的Asynctask也是一种异步机制。要明白如果使用这种异步机制,我们需要明白Asynctask的三种参数类型和四个回调方法。在介绍这些内容之前,我们先看一下它的定义:
public abstract class AsyncTask<Params, Progress, Result>
三种参数
- 第一种参数:Params表示子线程运行时的参数,它由主线程传递而来;
- 第二种参数:Progress表示子线程的执行进度;
- 第三种参数:Result表示子线程运行的结果;
大家看完后可能理解不深,大家先不要着急,等我们介绍完它的四个回调方法后,大家就能理解它们了,因为这些参数是配合回调方法一起使用的。目前需要注意的是这三种参数都是泛型类型,因此需要在使用的时候为它们指定类型,至于指定哪种类型,就与程序的运行需求有关了。
四个回调方法:
- 方法一:
void onPreExecute();用来完成异步操作也就是子线程开始前的准备工作; - 方法二:
Result doInBackground(Params... params);子线程工作的方法,类似Java中Thread类的run方法 - 方法三:
void onProgressUpdate(Progress... values)用来显示子线程的执行进度,该方法只有在方法二中调用publishProgress(Progress... values)方法后才会被回调,否则不运行。 - 方法四:
void onPostExecute(Result result)子线程运行完成时会回调它;
四个回调方法都介绍完了,我们再回头看一下这些方法就会发现方法二的参数类型就是类的第一种参数,而它的返回值类型就是类的第三种参数.方法三的参数类型就是类的第二种参数;方法四的参数类型就是类的第三种参数。
这样分析后相信大家对三种参数类型有了深入的了解。最后我们总结一些注意事项:
- 这些方法都是回调方法;
- 方法的参数类型都是与类相关的泛型类型;
- 方法的参数都是可变参数;
各位看官,关于Android中Asnyctask机制的例子咱们就介绍到这里,欲知后面还有什么例子,且听下回分解!
本文深入讲解Android中的Asynctask机制,包括其三种参数类型和四个回调方法的作用及使用方式,帮助开发者理解如何在Android应用中实现异步任务。

被折叠的 条评论
为什么被折叠?



