參數(shù)解釋:
第一個:String乔遮,這個參數(shù)是doInBackground()方法中要用到的參數(shù)遵蚜,如果不需要參數(shù)呼盆,傳Void即可坎匿。
第二個:Void盾剩,這個參數(shù)是onProgressUpdate()方法中的要用到的參數(shù)雷激,如果不需要,傳Void即可
第三個:String告私,這個參數(shù)是doInBackground()的返回值屎暇,這個返回值會返回到onPostExecute()方法的參數(shù)中供我們使用
AsyncTask asyncTask= new AsyncTask<String, Void, String>() {
//在主線程執(zhí)行,首先執(zhí)行
@Override
protected void onPreExecute() {
super.onPreExecute();
}
//在子線程執(zhí)行驻粟,執(zhí)行耗時操作
@Override
protected String doInBackground(String... voids) {
//發(fā)出一個取消任務(wù)的請求根悼,但是不保證該任務(wù)會被取消
cancel(true);
//判斷該任務(wù)是否取消
if (isCancelled()) {
}
//請參閱onProgressUpdate()方法說明
publishProgress();
return null;
}
//在主線程中執(zhí)行,在任務(wù)執(zhí)行過程中不斷回調(diào)
//這個方法要執(zhí)行,需要在 doinbackground()方法中
//調(diào)用publishProgress()方法
@Override
protected void onProgressUpdate(Void... values) {
super.onProgressUpdate(values);
}
//在主線程執(zhí)行蜀撑,任務(wù)完成后執(zhí)行
@Override
protected void onPostExecute(String aVoid) {
super.onPostExecute(aVoid);
}
};
//一個asyncTask只能執(zhí)行一次
asyncTask.execute();