カテゴリー:
android.os
閲覧数:405 配信日:2013-10-02 09:44
処理の流れ
・doInBackgroundで非同期処理をして取得した情報はResult型に詰め込まれる
・それをonPostExecute()で受け取り、UIに反映させる
メソッド一覧
onPreExecute
・タスク開始直後に呼ばれる
・何か初期化したいことがあればここでする
@Override
protected void onPreExecute() {
/* 処理中ダイアログ表示(プログレスダイアログを初期化して表示) */
progressDialog = new ProgressDialog(ActivityTop.this);
doInBackground … 可変長引数
・メイン処理(=バックグラウンドで非同期に実行させたい処理)
※ここで、UI threadに関わる処理を記述すると、実行時にエラーとなるので注意が必要
@Override
protected List<RecordItem> doInBackground(Object... params) { // 可変長引数
/* 一覧を呼び出し */
RecordDaoItem dao = new RecordDaoItem(ActivityTop.this);
return dao.list_search_item( Record ,isWordSearch );
}
onProgressUpdate
・バックグラウンド処理の進捗具合(プログレスバー)を、メインスレッド(UIスレッド)で表示させたい場合、ここに処理を書く
※※doInBackground()で、publishProgress()が呼ばれた場合に処理される
onPostExecute
・doInBackground()の実行が終わると呼び出される
・バックグラウンド処理が終了し、メインスレッドに反映させる処理をここに書く
・「完了!」とかTextViewなどに表示させたい場合はここに記述
※引数resultは、先のdoInBackground()でreturnしたオブジェクト
protected void onPostExecute(List<RecordItem> result) {
/* 処理中ダイアログをクローズ */
progressDialog.dismiss();