3.onResumeメソッド

Android開発に関するメモランダム

カテゴリー: 日記アプリ  閲覧数:525 配信日:2013-10-05 09:48


AsyncTask


・比較的重たい処理となる「データベース問い合わせ、一覧データ取得・表示」は、メインスレッド(UI thread)に負荷を与えずに行うため、AsyncTaskクラスを継承した「DataLoadTask」クラスで実施


3-1.AsyncTaskクラス作成


AsyncTaskクラスを継承したクラスを作成
・Generics指定(引数の型を指定)
public class DataLoadTask extends AsyncTask<Object, Integer, List<RecordItem>> {


第1引数(実行時引数) … Object
・java.lang.Object

第2引数(進捗単位) … Integer
・java.lang.Integer

第3引数(処理結果) … List<RecordItem>
・java.util.List<android.style.systemdb.RecordItem>


3-2.メソッド実装


doInBackground … メイン処理(=バックグラウンドで非同期に実行させたい処理)]
「データベース操作クラス」のインスタンス生成
・「データベース操作クラス」の検索メソッド実行
・検索結果を返す
		@Override
protected List<RecordItem> doInBackground(Object... params) {
           /* 一覧を呼び出し */
RecordDaoItem dao = new RecordDaoItem(ActivityTop.this);

return dao.list_search_item( Record ,isWordSearch );
}


onPostExecute … スレッドが終了した後に呼ばれる
※引数resultは、先のdoInBackground()でreturnしたオブジェクト。ここでは検索結果一覧
		protected void onPostExecute(List<RecordItem> result) {

・表示日付を更新
・現在の一覧表示をクリア
			arrayAdapter.clear();

・一覧表示のデータ設定 … 検索結果を、拡張for文を利用して、arrayAdapterインスタンスに追加
            /* 一覧表示のデータを設定 */
for (RecordItem item : result) {
arrayAdapter.add(item);
if( item.getItemNen().equals(String.valueOf(year))
&& item.getItemTuki().equals(String.valueOf(month))
&& item.getItemHi().equals(String.valueOf(day)) ){
btn_top_add.setVisibility(View.GONE);
}
}


週間人気ページランキング / 2-16 → 2-22
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2025/2/23 1:01 更新
指定期間人気ページランキング / 1970-1-1 → 2025-2-22
順位 ページタイトル抜粋 アクセス数
アクセスが、ありませんでした! 0
2025/2/23 1:01 更新