码迷,mamicode.com
首页 > 其他好文 > 详细

AsyncTask异步查询

时间:2014-10-16 12:51:53      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:异步查询

        1、onPreExecute(): 在UI线程里面调用,它在这个task执行后会立即调用。我们在这个方法里面通常是用于建立一个任务,比如显示一个等待对话框来通知用户。

        2、doInBackground(Params...):这个方法从名字就可以看出,它是运行在后台线程的,在这个方法里面,去做耗时的事情,比如下载访问网络,操作文件等。

这这个方法里面,我们可以调用publishProgress(Progress...)来调用当前任务的进度,调用了这个方法后,对应的onProgressUpdate(Progress...)方法会被调用,

这个方法是运行在UI线程的。

        3、onProgressUpdate(Progress...):运行在UI线程,在调用publishProgress()方法之后。这个方法用来在UI上显示任何形式的进度,比如你可以显示一个等待对话框,

也可以显示一个文本形式的log,还可以显示toast对话框。

        4、onPostExecute(Result):当task结束后调用,它运行在UI线程。

        5、取消一个task,我们可以在任何时候调用cancel(Boolean)来取消一个任务,当调用了cancel()方法后,onCancelled(Object)方法就会被调用,

onPostExecute(Object)方法不会被调用,在doInBackground(Object[])方法中,我们可以用isCancelled()方法来检查任务是否取消。

        6、几点规则:

AsyncTask实例必须在UI线程中创建   

execute(Params...)方法必须在UI线程中调用。

不用手动调用onPreExecute(), onPostExecute(), doInBackground(), onProgressUpdate()方法。

一个任务只能被执行一次


AsyncTask异步查询

标签:异步查询

原文地址:http://flame.blog.51cto.com/9488271/1564606

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!