0

したがって、このタブを介して 3 つの異なるアクティビティを分離する TabActivity で実行されている Android アプリがあります。SQLite を使用して DatabaseHandler クラスを設定しましたが、問題ありません。

問題は、データベースがアクティビティの 1 つからデータを受け取り、そのデータを別のアクティビティで表示する必要があるため、これまでデータベースの処理方法がよくわからないことです。メインの TabActivity で db を宣言する必要があるかどうか、またはどこで宣言する必要があるかわかりません。これまで Android で SQL を使用したことがなく、現時点ではかなり迷っています。

より理解しやすいようにイメージしてみました:説明グラフ(申し訳ありませんが、画像を投稿に直接投稿するにはまだ十分な評判がありません)

前もって感謝します。

4

2 に答える 2

1

長期的には各アクティビティ内で DatabaseHandler を使用することは可能ですが、ほとんどの重要なアプリは、ContentProvider

ContentProviderデータの抽象化を提供します。サポート ライブラリを使用して Android 1.6 に戻すCursorLoaderと、それを組み合わせると非常に強力になります。LoaderManager

これらの概念は少し勉強する必要がありますが、複数のフラグメントまたはアクティビティ間でデータを共有することがより簡単になり、エラーが発生しにくくなります。

Mobile Tuts には、公式の Android ドキュメントと例に加えて読む価値のある優れたチュートリアルがいくつかあります。

http://mobile.tutsplus.com/tutorials/android/android-sdk_content-providers/

http://mobile.tutsplus.com/tutorials/android/android-sdk_loading-data_cursorloader/

于 2012-04-17T01:49:42.980 に答える
0

データベースへの読み取り/書き込みが完了したらすぐにデータベースとの接続を閉じる限り、問題はありません。

各アクティビティは、独自の DatabaseHandler を持つことができる必要があります。

于 2012-04-17T01:35:36.633 に答える