Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android異步任務類分析

Android異步任務類分析

編輯:關於Android編程

一、為什麼要使用異步任務類?
Handler模式需要為每一個任務創建一個新的線程,任務完成後通過Handler對象向UI線程發送消息,完成界面的更新, 這種方式對整個界面的控制非常精細。 但是也有缺點,例如代碼臃腫,所以為了簡化操作,Android 1.5 sdk 提供了一個工具類 AsyncTask(異步任務類), 使得創建異步任務變的更加簡單。

二、異步任務類的實現
異步類實現計數演示過程:
首先在 主Activity文件中:(主Activity用來解析程序的第一個界面) vcDgyM7O8bXEttTP86OssqK4+NLssr3A4LXEubnU7LSrtd3Su7j2zsSxvrbUz/O1xNL908OjrNXi0fnU2tLssr3Izs7x1tDE3LLZ1/fV4rj2zsSxvr/yo7s8L3N0cm9uZz4KPHN0cm9uZz4yLiDKudPD0uyyvcDgttTP87XE0v3Tw7X308MgZXhlY3V0ZShQYXJhbXMgLi4gUGFyYW1zKbe9t6ijrNa00NDS7LK9yM7O8aGj0rK8tL34yOvBy87Sw8e0tL2otcTS7LK9yM7O8dbQyKXWtNDQo7s8L3N0cm9uZz4KPGJyPgoKy7XD96O6CmV4ZWN1dGUoo6m/ydLUtKu13bbguPayzsr9o6y0q7XdtcSyzsr9wODQzcrc0uyyvcDgtcS12tK7uPayzsr9wODQzb72tqijrMjnufvS7LK9wOC1xLXa0ru49rLOyv3A4NDNzqpJbnRlZ2VywODQzaOsCsTHw7RleGVjdXRltKu13bXEss7K/b7NsdjQ68rH1fvQzbXEo6zS1LTLwODNxqO7CtTa0uyyvcDg08Nkb0luQmFja2dyb3VuZChJbnRlZ2VyIC4uLiBwYXJhbXMpt723qMC0vdPK1WV4ZWN1dGW0q7XdtcSyzsr9o6zV4tbWss7K/bXE0LS3qLHtyr6jrNPDwLS908rVtuC49rSrtd3AtAq1xLLOyv2jrLa8saO05tTayv3X6XBhcmFtc1sgXdbQo6xwYXJhbXNbMF2x7cq+tKu13bXEtdrSu7j2ss7K/aOs0tS0y8Dgzcajuwo8aW1nIHNyYz0="/uploadfile/Collfiles/20150209/20150209085146106.png" alt="\">

主Activity代碼如下: \

進入了我們創建的異步任務中:
首先介紹一下這個異步任務類的創建及相應參數說明: a. 在創建AsyncTask類(異步任務類)的時候,要設定數據類型;(稱為Android的泛型編程) \ 參數說明: \ b. 通俗說一下參數: 第一個參數的類型,就是我們在執行execute()方法時要傳遞的參數類型,還有接收該參數的方法doInBackground()的參數類型保持一致; 第二個參數的類型,就是onProgressUpdate(..)方法接收publicProgress()方法傳遞數據對應的類型; 第三個參數的類型,就是接收doInBackground()方法的返回值的類型;

3. 在execute方法執行後,也即啟動了異步任務,onPreExecute()方法立即被執行;
4. 在onPreExecute()執行完成後,立即執行doInBackground()方法; 該方法的說明: a. 該方法被子線程調用; b. 將耗時的操作放在該方法中; c. 在該方法中,通過異步類的對象調用publishProgress()該方法,要求系統自動調用onProgressUpdate()方法;類似handle的用法; d. 該方法的返回值,賦值給了類的第三個參數Result;
5. 由於上面調用了publishProgress()該方法,會要求系統的UI主線程自動調用onProgressUpdate()方法; 該方法的說明: a. 該方法被UI主線程調用; b. 在調用publishProgress()方法時,可以傳遞參數給onProgressUpdate(Integer... values);values[]數組來接收傳遞的參數, 用來將結果顯示在UI控件上;
6. 當後台操作結束時,onPostExecute()方法會被自動調用,類的第三個參數Result的結果會傳遞到此方法中,可以將Result的結果顯示在
UI控件上;
異步任務類代碼如下:
\ \
異步任務效果圖: \\




異步任務實現列表的刷新: \

實現代碼:

\
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved