【腾科技术文献】Android异步任务类Asyn
异步任务类AsyncTask
网络操作可能会有让人意想不到的延迟,因此,我们经常将网络操作放在另外的一个线程中。Android里面提供了一个专门来处理这些异步任务的类:AsyncTask,它提供了很多回调方法给我们:其中重点想跟大家说两个
Ø doInBackgroud(Params... params) 的解释如下
protected abstract Result doInBackground (Params... params)
Override this method to perform a computation on a background thread. The specified parameters are the parameters passed to execute(Params...) by the caller of this task. This method can callpublishProgress(Progress...) to publish updates on the UI thread.
当AsyncTask执行excute(Params...)方法的时候,这个方法就会在后台执行,没错,excute执行的方法里面的参数就是它的参数了。
Ø onPostExecute(Result result)
里面的参数result就是doInBackgroud(Params... params)返回的值,这一来一往的,是不是觉得有点趣了。
对于AsyncTask这个类的具体方法,那里有很详尽的解释。当你创建了一个Async的子类并执行了它的execute(Params...)时,它就会去调用doInBackgound()这个方法,并把参数传给它,当任务结束时,就将结果返回给onPostExecute()这个方法,此时,你就可以在这个方法里执行一些操作,
网络操作可能会有让人意想不到的延迟,因此,我们经常将网络操作放在另外的一个线程中。Android里面提供了一个专门来处理这些异步任务的类:AsyncTask,它提供了很多回调方法给我们:其中重点想跟大家说两个
Ø doInBackgroud(Params... params) 的解释如下
protected abstract Result doInBackground (Params... params)
Override this method to perform a computation on a background thread. The specified parameters are the parameters passed to execute(Params...) by the caller of this task. This method can callpublishProgress(Progress...) to publish updates on the UI thread.
当AsyncTask执行excute(Params...)方法的时候,这个方法就会在后台执行,没错,excute执行的方法里面的参数就是它的参数了。
Ø onPostExecute(Result result)
里面的参数result就是doInBackgroud(Params... params)返回的值,这一来一往的,是不是觉得有点趣了。
对于AsyncTask这个类的具体方法,那里有很详尽的解释。当你创建了一个Async的子类并执行了它的execute(Params...)时,它就会去调用doInBackgound()这个方法,并把参数传给它,当任务结束时,就将结果返回给onPostExecute()这个方法,此时,你就可以在这个方法里执行一些操作,