AsyncTask官方文檔教程整理-創(chuàng)新互聯(lián)

簡(jiǎn)介

目前創(chuàng)新互聯(lián)已為1000+的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁(yè)空間、網(wǎng)站托管維護(hù)、企業(yè)網(wǎng)站設(shè)計(jì)、武漢網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。

Android給我們提供了一種輕量級(jí)的異步任務(wù)類(lèi)AsyncTask。該類(lèi)中實(shí)現(xiàn)異步操作,并提供接口反饋當(dāng)前異步執(zhí)行結(jié)果及進(jìn)度,這些接口中有直接運(yùn)行在主線程中的(如 onPostExecute,onPreExecute等)。

AsyncTask可以輕松正確的使用UI線程,這個(gè)類(lèi)允許你在后臺(tái)操作,并且不需要使用threads或者h(yuǎn)andler將結(jié)果發(fā)布到UI線程。

AsyncTask設(shè)計(jì)之初就是輔助Thread和Handler的,并且不會(huì)生成線程。AsyncTask應(yīng)該被用于短時(shí)間內(nèi)的操作(最多幾秒鐘),如果你想要長(zhǎng)時(shí)間保持線程運(yùn)行,請(qǐng)使用Executor或者ThreadPoolExecutor或者FutureTask。

AsyncTask在后臺(tái)運(yùn)行任務(wù),在UI線程發(fā)布結(jié)果,定義三個(gè)參數(shù),Params, Progress和Result,執(zhí)行四個(gè)步驟,onPreExecute, doInBackground, onProgressUpdate和onPostExecute。

使用方法

AsyncTask必須被繼承來(lái)使用。子類(lèi)必須實(shí)現(xiàn)至少一個(gè)方法(ddoInBackground(Params…)) ,還有一個(gè)最常用的方法(onPostExecute(Result) 。

private class DownloadFilesTask extends AsyncTask<URL, Integer, Long> {
 protected Long doInBackground(URL... urls) {
  int count = urls.length;
  long totalSize = 0;
  for (int i = 0; i < count; i++) {
   totalSize += Downloader.downloadFile(urls[i]);
   publishProgress((int) ((i / (float) count) * 100));
   // Escape early if cancel() is called
   if (isCancelled()) break;
  }
  return totalSize;
 }
 protected void onProgressUpdate(Integer... progress) {
  setProgressPercent(progress[0]);
 }
 protected void onPostExecute(Long result) {
  showDialog("Downloaded " + result + " bytes");
 }
}

新聞名稱(chēng):AsyncTask官方文檔教程整理-創(chuàng)新互聯(lián)
網(wǎng)站路徑:http://muchs.cn/article10/ddsedo.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供ChatGPT、用戶體驗(yàn)、網(wǎng)站內(nèi)鏈、面包屑導(dǎo)航微信小程序、域名注冊(cè)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

商城網(wǎng)站建設(shè)