AsyncTask 实现异步刷新

来源:互联网 发布:spark sql 例子 编辑:程序博客网 时间:2024/05/16 16:10
class GetXMLTask extends AsyncTask<String,Integer,Bitmap> {//继承AsyncTask@Overrideprotected Bitmap doInBackground(String... params) {               
          //处理后台执行的任务,在后台线程执行return bmImg;}protected void onProgressUpdate(Integer... progress) {                //在调用publishProgress之后被调用,在ui线程执行         }     protected void onPostExecute(Bitmap result) {         //后台任务执行完之后被调用,在ui线程执行     if(result != null) {                    }else {            }      mpDialog.cancel();          }          protected void onPreExecute () {         //在 doInBackground(Params...)之前被调用,在ui线程执行     mpDialog.setMessage("亲,正在帮您努力加载哦!");     mpDialog.show();      }          protected void onCancelled () {          //在ui线程执行     }}

我们可以看到,主要就下面
onPreExecute   //刷新ui可以提示用户开始后台工作了
doInBackground //后台执行,比如下载等等
onPostExecute  //后台执行后,刷新界面。


参考资料

使用AsyncTask异步更新UI界面

Android 异步操作AsyncTask