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) 编辑 收藏 举报