2012-04-17 8 views
0

このタブから3つのアクティビティを分けるタブアクティビティで動作するAndroidアプリがあります。私はSQLiteでDatabaseHandlerクラスを設定しました。Androidのタブアクティビティでデータベースを扱う方法

これまでのところ、データベースの処理方法はわかりません。これは、アクティビティの1つからデータを受け取るため、別のデータにそのデータを表示する必要があるためです。私はTabActivityのメインデータベースを宣言しなければならないのか、それともどこでAndroidでSQLを使ったことがないのか分かりません。

それがより理解しやすいように、私はそれを想像してみました:Explanatory Graph(申し訳ありませんが、私は直接ポストに画像を投稿するにはまだ十分な評判を持っていません)事前に

感謝を。

答えて

0

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

それぞれのアクティビティは、独自のDatabaseHandlerを持つことができます。あなたのDatabaseHandlerを使用しているが

+0

私は、データベースが常に同じままであることをあなたから理解:

モバイルTutsが公式Androidのドキュメントとサンプルの上に読む価値がある良いチュートリアルのカップルを持っている

私がDatabaseHandlerを宣言している限り、どのタブに関係なく申し訳ありませんが、私はこれを初めて知ったと言いましたが、私はデータベースが単一の活動のためだけに役立つか、それとも気づかずに複数の異なるデータベースを作成できるかと心配していました。ありがとう! –

+0

もちろん、問題ありません! 'close()'を呼び出すと、データベースはディスクに書き込まれるため、SQLiteはあなたのために並行処理の問題を処理する必要があります。 – theelfismike

1

は、私はほとんどの非自明なアプリがあなたのデータの上に抽象化を提供ContentProvider

ContentProviderを使用して恩恵を受けるだろうと思う長期的には、各アクティビティ内posssibleです。サポートライブラリを使用してAndroid 1.6に戻って利用可能なCursorLoaderLoaderManagerと組み合わせると、本当に強力になります。

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

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

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

+0

ありがとう!私はそれを見ていきますが、私は本当にSQLiteデータベースに保存する必要がありました。 ;) –

関連する問題