一纪吮、什么是AsyncTask鳄哭?
英文直譯過(guò)來(lái)是異步任務(wù)要糊,是android中專門用來(lái)處理耗時(shí)操作的一個(gè)幫助類。
二妆丘、為什么要使用AsyncTask锄俄?
這個(gè)類作用其實(shí)跟handler類似,但是封裝好了操作前勺拣,操作中奶赠,操作后的方法,用起來(lái)比較方便药有。
三毅戈、如何使用苹丸?
首先需要新建一個(gè)類來(lái)繼承AsyncTask類,實(shí)現(xiàn)其中的幾個(gè)重要方法苇经。
class MyAsyncTask extends AsyncTask<String, Integer, String> {
@Override
protected String doInBackground(String... strings) {
//此處處理耗時(shí)操作赘理,傳入可變長(zhǎng)String數(shù)組,傳出String參數(shù)
//此方法可傳遞Integer參數(shù)給onProgressUpdate ()方法
publishProgress(progress);
}
@Override
protected void onPreExecute() {
super.onPreExecute();
//此處處理耗時(shí)操作前的準(zhǔn)備工作
}
@Override
protected void onPostExecute(String s) {
super.onPostExecute(s);
//此處處理耗時(shí)操作后的界面更新或提示扇单,傳入前面的String參數(shù)
}
@Override
protected void onProgressUpdate(Integer... values) {
super.onProgressUpdate(values);
//此處處理操作中的界面更新或提示商模,接受前面?zhèn)魅氲腎nteger參數(shù)
}
}
其中三個(gè)參數(shù)分別為,傳入?yún)?shù)蜘澜,操作中傳遞參數(shù)施流,操作后傳出參數(shù)。
實(shí)現(xiàn)方法后可使用
new MyAsyncTask().excute(url);
調(diào)用該方法