描画まで通信待ちになるような場合には、そのタスクを別スレッドに分ける。通信系はUIスレッドで実行するとエラーになるように設定されているらしい。
非同期タスク
流れ
AsyncTaskを継承したクラスを作り、このクラスのインスタンスを実行する。
実際の実行時には execute で実行するが、execute の引数がそのまま doInBackgournd に流される。
【UIスレッド】 execute(引数①) (実際の呼び出し元)
↓(引数①が流れる)
【バックグラウンド】 doInBackground
↓ └ publishProgress(引数②)・・・経過を知らせるために呼ばれる
↓ ↓(引数②が流れる)
↓ 【UIスレッド】onProgressUpdate
↓(戻り値③が流れる)
【UIスレッド】onPostExecute / onCancel
クラスの定義
継承時に AsyncTask<①,②,③> を埋める
最終更新:2017年05月03日 21:58