Android开发之AsynTask的使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android开发之AsynTask的使用相关的知识,希望对你有一定的参考价值。

今天,总结一下AsynTask的使用

 

原理:基于异步消息处理机制

AsyncTask 是一个抽象类,所以如果我们想使用它,

就必须要创建一个子类去继承它。

在继承时我们可以为 AsyncTask 类指定三个泛型参数,

1.Parms

在执行AsynTask时需要传入的参数,可用于在后台任务中使用

2.Process

后台任务执行时,如果需要在界面上显示当前的进度,则使用这里指定的泛型作为进度单位

3.Result

当任务执行完毕后,如果需要对结果进行返回,则使用这里指定的泛型作为返回值类型



一个最简单的自定义AsynTask就可以写成如下方式

class DownloadTask extends AsynTask<Void,Integer,Boolean>{

    ......

}

第一个泛型参数为Void,表示在执行AsynTask的时候不需要传入参数给后台任务

第二个泛型参数为Integer,表示使用整型数据来作为进度显示单位

第三个泛型参数为Boolean,则表示使用布尔数据来反馈执行结果



使用AsynTask的诀窍是

在onPreExecute()方法中进行一些界面上的初始化操作,会在后台任务开始执行之前调用

在 doInBackground()方法中去执行具体的耗时任务,

在 onProgressUpdate()方法中进行 UI 操作,

在 onPostExecute()方法中执行一些任务的收尾工作。



最后,如果想要启动这个任务,只需编写以下代码即可:

new DownloadTask().execute();

以上是关于Android开发之AsynTask的使用的主要内容,如果未能解决你的问题,请参考以下文章

Android开发之使用AsyncTask实现实时翻译

Android之HTTP网络通信--GET传递

android中带有Endless Listview Scroll的AsynTask

在 AsynTask (Android Studio) 中获取 EOFException [重复]

android - asynTask中打开多选alertDialog

带有进度对话框取消的 Android AsyncTask