AsyncTask用于处理异步任务是非常普遍的。我们再重温一下异步请求的步骤。首先,我们来看一下类的签名:public abstract class AsyncTask<Params,Progress,Result>。这三个泛型类型分别代表了:“启动任务执行的输入参数”、“后台任务执行的速度”、“后台计算结果的类型”。
在特定的场合下,并不是所有的类型都会被使用,如果没有被使用可以被Java,long,Void类型代替。
接下来我们来看一下其一般步骤:
1、execute(Params...params),执行一个异步任务,需要我们在代码中调用此方法,从而来触发异步任务的执行。
2、onPreExecute(),在execute(Params...params)被调用后立即执行。一般用来执行后台任务之前对UI做一些标记。
3、doInBackground(Params...params),在onPreExecute()完成后立即执行,用于执行较为费时的操作,此方法将用于接收输入参数和返回结果。在执行过程中可以调用publishProgress(Progress...values)来更新进度信息。
4、onProgressUpdate(Progress...values),在调用publicProgress(Progress...values)时,此方法执行,直接将进度信息更新到UI组件上。
5、onPostExecute(Result result),当后台操作结束时,此方法将会被调用计算结果将作为参数传递到此方法中,直接将结果显示到UI组件上。