FC2ブログ

AsyncTaskによる非同期実行

AsyncTaskによる非同期実行

AsyncTaskを使うと
バックグラウンドで処理を行い
その結果をメインアクティビティのUIに反映させることができる

AsyncTaskは
Params
Progress
Result
の3つのパラメータを持つ

ちなみに、パラメータの意味は
Params
タスクが開始されるときに送られるパラメータ
doInBackground()の引数

Progress
バックグラウンド処理の進捗状況を示すための
onProgressUpdate()の引数

Result
バックグラウンド処理が終わったときに実行される
onPostExecute()の引数


また、AsyncTaskをexecuteすると
4つのメソッドが実行される

実行されるメソッドは4つ

onPreExecute()
実行前の準備処理
例えばインジケータセットアップ

doInBackground(Params...)
バックグラウンドで実行したい処理

onProgressUpdate(Progress ...)
バックグラウンド処理の進捗状況を
UIスレッドで表示するなら記述

onPostExecute(Result)
バックグラウンド処理が終わり
UIスレッドで反映させる処理


AsyncTaskを使うにはルールがあるので注意

このルールは
AsyncTaskのインスタンスはUIスレッドで生成

AsyncTaskの execute()は
UIスレッドから呼び出す

onPreExecute()
onPostExecute()
doInBackground()
onProgressUpdate()
は手動で呼び出せない

AsyncTaskは1回だけ実行できる2回目だと、例外になってしまう
スポンサーサイト



コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック