一般会使用线程Thread 、Timer 或者使用AsyncTask ,而这些操作都是在在后台另外开一个线程给我们找数据,具体得到的数据需要使用Handler 去更新UI,AsyncTask 也是一样使用到的Handler 只是它将Handler 封装在了onPostExecute 执行操作中。
使用过AsyncTask 的同学都知道一个异步加载数据最少要重写以下这两个方法:
doInBackground 后台执行,比较耗时的操作都可以放在这里。注意这里不能直接操作UI。
onPostExecute 相当于Handler 处理UI的方式,在这里面可以使用在doInBackground 得到的结果处理操作UI。
有必要的话你还得重写以下这三个方法,但不是必须的:
onProgressUpdate 可以使用进度条增加用户体验度。
onPreExecute 这里是最终用户调用Excute时的接口
onCancelled 用户调用取消时,要做的操作