此文章用於個人記錄以防忘記。
AsyncTask使用說明如下:
package ytbk.soft.activity;
import java.security.PublicKey;
import android.os.AsyncTask;
/**
* 此類的說明:
* @author Administrator
* 此類的執行流程:
* 1,執行execute方法,首先執行onPreExecute方法。
* 2,其次執行 doInBackground 方法。
* 3,如果doInBackground執行publishProgress(),會執行onProgressUpdate
* 4,最後執行onPostExecute 並接收doInBackground的返回值
*
* AsyncTask 有三個參數AsyncTask<String, String, String>,說明如下:
* 第一個參數:是聲明doInBackground 接收的參數
* 第二個參數:onProgressUpdate 接收的參數
* 第三個參數:doInBackground的返回值和onPostExecute的接收值
*/
public class AsyncTaskInWeb extends AsyncTask<String, Integer, String>
{
//此方法用於執行真正耗時和處理大數據比較延遲的操作,不能修改ui中的控件
@Override
protected String doInBackground(String... params)
{
//此方法內都會觸發publishProgress 用於處理此線程的執行進度,好比你ui裏有一個進度條,
//可用於更新進度條
//publishProgress(1);
return null;
}
//該方法運行在UI線程當中
//可以執行一些UI裏的進度條之類的,或TextView顯示的變更。
@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();
}
//每次調用publishProgress 都會觸發此方法
@Override
protected void onProgressUpdate(Integer... values) {
// TODO Auto-generated method stub
super.onProgressUpdate(values);
}
//在doInBackground執行完後,執行此方法,並接收doInBackground的返回值
@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
}
}