AsyncTask是官方提供的流程架構

讓你方便的處理任務上的在UI和Worker Thread的狀況

AsyncTask<Params, Progress, Result>

參數部分

Params : 輸入參數的傳入值, 並且在doInBackground內被傳入可使用

Progress : 用來更新處理進度, 用pulishProgress傳入onProgressUpdate內

Result : 在執行完doInBackground後, return的值, 會傳到onPostExecute內

 

而在內部有四個常用的method

onPreExecute() : 在UI Thread執行, 在任務執行前會先進入, 通常用來放執行前的Progress bar

doInBackground(Params... params) : 在Worker Thread執行, 用來處理繁重的工作

onPostExecute(Result result) : 在UI Thread執行. 任務執行完後最後回執行, 可用來顯示結果和關閉Progress bar

onProgressUpdate(Progress... progress) : 在UI Thread執行, 可用pulishProgress來傳入參數和呼叫

 

最後AsyncTask用 .execute(Params) 來使用

 

1. 官網https://developer.android.com/reference/android/os/AsyncTask.html

 

2. 先宣告一個class繼承AsyncTask, 並且Implement其methods

 

3. 然後在用override的方式把method給取出

onPreExecute在一開始就會執行, 跑在UI Thread

onPostExecute則是全部做完時才會被呼叫

 

4. 繁重工作會在doInBackground內執行

可以呼叫publishProgress後在onProgressUpdate更新畫面

 

5. 最後用Task, execute來執行Task

 

doInBackground
文章標籤
全站熱搜
創作者介紹
創作者 RX1226 的頭像
RX1226

給你魚竿

RX1226 發表在 痞客邦 留言(0) 人氣(670)