android 之AsyncTask

 

三个参数一次代表着doInBackground(Void... params);onProgressUpdate(Integer... values);onPostExecute(String result)函数对应的参数。

调用代码:

/** 获取LoadTast对象 */
   LoadTast loadtast = new LoadTast();
   /** 执行异步task */
   loadtast.execute();

 

/** 继承自AsyncTast的LoadTast */  public class LoadTast extends AsyncTask<Void, Integer, String> {

  private ProgressDialog progressDialog;

  protected String doInBackground(Void... params) {    /** 模拟一个加速的进度 */    int sum = 1;    while (sum <= 100) {     try {      Thread.sleep(100);      publishProgress(sum);      sum++;     } catch (InterruptedException e) {      e.printStackTrace();     }    }    return "Loading Fibished..";   }

  public void onPreExecute() {    /** 创建一个对话框并显示 */    progressDialog = ProgressDialog.show(UseAsyncTask.this,      "AsyncTask Demo", "Loading....", true);   }

  public void onProgressUpdate(Integer... values) {    /** 将从publishProgress传递过来的值进行格式化后显示到TextView组件 */    text.setText(values[0] + "%");   }

  public void onPostExecute(String result) {    /** 隐藏对话框 */    progressDialog.dismiss();    /** 将从onInBackground返回的result设置到TextView组件 */    text.setText(result);   }

 };

posted on 2013-06-04 10:41  yujian_bcq  阅读(156)  评论(0编辑  收藏  举报

导航