asyncTask基礎

asyncTask的參數

  1. Params
    在執行 AsyncTask 時需要傳入的參數,可用於在後臺任務中使用。
  2. Progress
    後臺任務執行時,如果需要在界面上顯示當前的進度,則使用這裏指定的泛型作爲 進度單位。
  3. Result
    當任務執行完畢後,如果需要對結果進行返回,則使用這裏指定的泛型作爲返回值 類型。

asyncTask需要重寫的方法

  1. onPreExecute()
    用於進行一些界面上的初始化操作,
    比如顯示一個進度條對話框等。
  2. doInBackground(Params…)
    這個方法中的所有代碼都會在子線程中運行,
    任務一旦完成就可以通過 return 語句來將任務的執行結果返回,如果 AsyncTask 的 第三個泛型參數指定的是 Void,就可以不返回任務執行結果。注意,在這個方法中是不 可以進行 UI 操作的,如果需要更新 UI 元素,比如說反饋當前任務的執行進度,可以調 用 publishProgress(Progress…)方法來完成。
  3. onProgressUpdate(Progress…)
    當在後臺任務中調用了 publishProgress(Progress…)方法後,這個方法就會很快被調
    用,方法中攜帶的參數就是在後臺任務中傳遞過來的。在這個方法中可以對 UI 進行操 作,利用參數中的數值就可以對界面元素進行相應地更新。
  4. onPostExecute(Result)
    當後臺任務執行完畢並通過 return 語句進行返回時,這個方法就很快會被調用。返 回的數據會作爲參數傳遞到此方法中,可以利用返回的數據來進行一些 UI 操作,比如 說提醒任務執行的結果,以及關閉掉進度條對話框等。

使用 AsyncTask 的訣竅就是

在 doInBackground()方法中去執行具體的耗時任務,
在 onProgressUpdate()方法中進行 UI 操作,
在 onPostExecute()方法中執行一些任務的 收尾工作。
啓動這個任務,new DownloadTask().execute();

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章