AsyncTask耗時工作
使用方法
通常寫成內部類別,方便與UI進行互動,形如AsyncTask<傳入值型態, 進度值型態, 回傳值型態>,傳入的型態如String, Integer, Float, Boolean,如果不需要傳入參數的話,寫Void(大寫V)。
定義完型態,接著覆寫doInBackground()
執行的時候建立出testTask物件,執行execute()就行了。execute()裡面可以填入需要的參數。執行execute()後相當於執行了doInBackground()。
與UI Thread的互動
有三個方法可以與UI Thread互動,包括onPreExecute(之前)、onProgressUpdate(過程)、onPostExecute(之後)
1.背景工作之前做的事放在onPreExecute()
2.背景工作執行過程中更新狀態的邏輯放在onProgressUpdate(),在doInBackground()可以呼叫publishProgress()方法自動執行onProgressUpdate()。
3.執行完背景工作後,會執行onPostExecute()
除了doInBackground()之外,三個方法裡面都能夠與UI Thread互動。
Last updated
Was this helpful?