2012-05-13 6 views
0

私は、Android 2.3.3でSQLiteデータベースを使用して学習PoCとしてCRUDアプリケーションを実装しようとしています。今のところ、私は検索フォームと検索結果アクティビティ(構築中)を含む検索アクティビティを入れました。 AsyncTaskを使用してdbアクセスを処理していて、このデータを次のアクティビティに表示したいとします。Android AsyncTaskに関する質問

現在、onPostExecuteメソッドから結果アクティビティを開始していますが、結果はうまく表示されていますが、これは2番目のスレッド(AsyncTask用に作成された)で新しいアクティビティを起動しません。

この場合、データをUIスレッドに戻してそこから結果アクティビティを開始するにはどうすればよいですか?

私は頻繁なポスターではありませんので、私の投稿は時々少しハーフ焼きになる傾向があります。

Debojit

答えて

2

のみdoInBackgroundは、バックグラウンドスレッドです。 onPostExecuteはUIスレッドにあります。これはAsyncTaskの美しさです:UIスレッドで設定し、ファイルやネットワークアクセスなどの待ち時間の長い作業をバックグラウンドスレッドで行い、UIスレッドでonPostExecuteで応答します。

+0

ありがとう、これは私を助けます。さらなるクエリ:これに 'Service'や' ContentProvider'を使うべきでしょうか? – Debojit

+1

ユースケースではContentProviderは正当化されますが、サービスは正当化されません。 –

+0

私のユースケースでは、 'ContentProvider'を使うことが推奨されていますか(パフォーマンス上)、' doInBackground'から呼び出されるDAO(私の現在の実装)として残しますか?これは少し鈍いと聞いて申し訳ありません。 – Debojit