2010-12-12 5 views
0

私はちょうど挿入されたデータに依存する別のアクティビティを開始する前に、最後の行為として一連のSQLite挿入を実行するアクティビティを持っています。Android AsyncTask - 次回から起動するonPostExecute - 悪いアイデア?

私はすべてのdbをAsyncTaskに移動しました...そして、あなたはそれを推測しました。新しいアクティビティは前の挿入が完了する前に呼び出されています。

私はdb操作のスピードに満足していますが、次のアクティビティを開始する前にAsyncTaskが終了するのをアプリで待たせるにはどうしたらいいですか?

私はonPostExecuteから開始することを考えていましたが、それは間違っていると感じましたが、なぜそうなっているのかわかりません。

現在、私は前/ postExecuteにするつもりはすべて次のアクティビティは、すぐasyncTaskが開始されると開始されるので、それは失敗も明らかですが、デフォルトのダイアログを表示しません...しかし、:)

は必要ありませここでのAsyncTaskの使用法、または「ウォーア・ボーイ、ちょっと待ってください」という簡単な方法がありますか? :)

答えて

1

onPostExecuteで他の活動を開始することはOKです...実際には、あなたのケースでは合理的なようです。

+0

返信いただきありがとうございます。この場合、AsyncTaskを使用することはまだ有益ですか?挿入物が本当に唯一のもので、私が待っているのは唯一のことですか? UIスレッドから作業を取り除いているので、スピードアップの可能性はありますか? – JimBadger

+0

これが唯一のことであれば、行を挿入するのに多くの時間がかかる場合はAsyncTaskを使用します。そうしないと、必要はありません。 UIスレッドから作業を取り除くという考えは、完了までに2秒以上かかるものを実行することができるため、ユーザーはあなたのアプリがフリーズしていると感じることはありません。 – Cristian

+0

ご協力ありがとうございます。この間、SQLiteのトランザクションをトランザクション化するために、私は9秒間の操作を1秒未満に減らしました。かなり素晴らしい、本当に。 – JimBadger

関連する問題