Android:アプリケーションの複数のアクティビティから単一のデータベースにアクセスしますか?

CodeFusionMobile:

すべてのメモデータをsqlite3データベースに保存するtodoリストタイプのアプリケーションがあります。アプリケーションの各アクティビティは、データのさまざまな部分をリアルタイムで編集するためにデータベースにアクセスする必要があります。

現在、各アクティビティで独自のDBManagerオブジェクト(データベースを管理するために作成したヘルパークラス)を開いています。これは問題を引き起こしていますが、もう少しグローバルなアクセスソリューションが欲しいので、データベースを開いたり、閉じたり、作成したりする必要はありません。

いくつかのオプションを検討していますが、それぞれの長所と短所、その他の提案を聞きたいと思います。

  1. シングルトンスタイル。唯一のデータベースマネージャーへの参照を返すラッパークラスを用意して、それを必要とするアクティビティで使用できるようにします。

  2. 静的マネージャー。マネージャークラスを完全に静的なメンバーにし、読み込み時にデータベースを開くようにします。それを必要とする人(誰でも)が簡単にアクセスできます。

  3. 1と2の間の合併。データベースのメンバーシングルトンインスタンスを初期化するデータベースマネージャークラスを作成でき、すべてのデータ操作メソッドは静的でした。そうすれば、データベースにアクセスするためにシングルトンへの参照も必要なくなります。私はこのソリューションが一番好きです。欠点を指摘してください。

提案?

私の意見では、コンテンツプロバイダーは複雑であり、自分のものではないアクティビティと共有しないのであれば、それは必要ありません。したがって、最初にシングルトンクラスを使用することをお勧めします。その後、時間がある場合や必要な場合は、コンテンツプロバイダーにアクセスしてください。

シングルトンを6か月間問題なく使用できました。(ただし、実際にシングルトンにするように注意しました。データを1回だけロードするインスタンスは1つだけです)

シングルトン

  • 利点:実装が簡単
  • 利点:共通のインスタンスを使用したため、キャッシングを簡単に実装でき、アプリケーションがデータベースに頻繁にアクセスする必要がなくなりました。
  • 欠点:外部アクティビティとデータを共有できない

コンテンツプロバイダー

  • 利点:外部アクティビティとデータを共有できます
  • 利点:Search APIと統合できます
  • 欠点:複雑で、データを別の方法で表現する必要がある
  • 短所:学習に時間を費やす別のAndroid API

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Android:複数のアプリケーションのアクティビティを含む単一のタスクを作成する(Lauchmodeの問題)

分類Dev

Webアプリケーションからデータベースにアクセスするためのベストプラクティス

分類Dev

Androidアプリケーションで1つのアクティビティから別のアクティビティにデータを渡す方法

分類Dev

万一AndroidのネイティブReactRootViewの使用アクティビティやアプリケーションコンテキストに反応しますか?

分類Dev

1つのアプリケーションからの複数のデータベースアクセス

分類Dev

android-roomからサードパーティアプリケーションのデータにアクセスする可能性

分類Dev

サーバーからAndroidアプリケーションにデータを送信するためのベストプラクティス

分類Dev

iOSアプリケーションの1つのクエリで単一のsqliteデータベースから複数のテーブルからデータを取得するにはどうすればよいですか?

分類Dev

ベストプラクティスMVVMは、あるアクティビティから別のアクティビティにデータを渡します

分類Dev

DjangoのモデルプロパティからManyToManyリレーションにアクセスします

分類Dev

Android:アクティビティからアクセスして別のアクティビティのプライベート変数を更新する方法

分類Dev

複数のAndroidアプリケーションが同じFirebaseデータベースにアクセスできますか?

分類Dev

複数のAndroidアプリケーションが同じFirebaseデータベースにアクセスできますか?

分類Dev

複数のAndroidアプリケーションが同じFirebaseデータベースにアクセスできますか?

分類Dev

Androidアプリケーションで1つのアクティビティから別のアクティビティに整数を渡す方法

分類Dev

ネイティブからプラグインのsqliteデータベースにアクセスします

分類Dev

Junitテストでアプリケーションプロパティからプロパティにアクセスする際のnullポインタ例外

分類Dev

エンティティフレームワーク-ASP.NETWebアプリケーションのコードからデータベースを移行する

分類Dev

あるアクティビティから別のアクティビティにデータを渡すことはできますが、アプリケーションがクラッシュします

分類Dev

Androidアプリケーションのアクティビティのスタックを維持する

分類Dev

非アクティビティ/アプリケーションコンテキストからのconfirmDeveiceCredentialIntent

分類Dev

Android アプリのアクション バーからメニュー オプションを選択するときに、あるアクティビティから別のアクティビティにデータを渡す

分類Dev

反応ネイティブSectionListのセクションアイテムからセクションデータにアクセスします

分類Dev

アクティビティラベル(アクションバーのタイトル)を別のアクティビティから変更しますか?

分類Dev

Springboot-マルチテナントアプリケーションの単一のリクエスト内で複数のデータソースにアクセスします

分類Dev

アプリケーションandroidの別のアクティビティからGooglePlusをログアウトしますか?

分類Dev

Robolectric:アプリケーションの実行時にどのアクティビティが起動されるかをテストします

分類Dev

単一のインポートからPythonアプリケーション内のグローバル変数にアクセスします

分類Dev

ロケーションリスナー-サービスから開始するのではなく、アクティビティから機能します

Related 関連記事

  1. 1

    Android:複数のアプリケーションのアクティビティを含む単一のタスクを作成する(Lauchmodeの問題)

  2. 2

    Webアプリケーションからデータベースにアクセスするためのベストプラクティス

  3. 3

    Androidアプリケーションで1つのアクティビティから別のアクティビティにデータを渡す方法

  4. 4

    万一AndroidのネイティブReactRootViewの使用アクティビティやアプリケーションコンテキストに反応しますか?

  5. 5

    1つのアプリケーションからの複数のデータベースアクセス

  6. 6

    android-roomからサードパーティアプリケーションのデータにアクセスする可能性

  7. 7

    サーバーからAndroidアプリケーションにデータを送信するためのベストプラクティス

  8. 8

    iOSアプリケーションの1つのクエリで単一のsqliteデータベースから複数のテーブルからデータを取得するにはどうすればよいですか?

  9. 9

    ベストプラクティスMVVMは、あるアクティビティから別のアクティビティにデータを渡します

  10. 10

    DjangoのモデルプロパティからManyToManyリレーションにアクセスします

  11. 11

    Android:アクティビティからアクセスして別のアクティビティのプライベート変数を更新する方法

  12. 12

    複数のAndroidアプリケーションが同じFirebaseデータベースにアクセスできますか?

  13. 13

    複数のAndroidアプリケーションが同じFirebaseデータベースにアクセスできますか?

  14. 14

    複数のAndroidアプリケーションが同じFirebaseデータベースにアクセスできますか?

  15. 15

    Androidアプリケーションで1つのアクティビティから別のアクティビティに整数を渡す方法

  16. 16

    ネイティブからプラグインのsqliteデータベースにアクセスします

  17. 17

    Junitテストでアプリケーションプロパティからプロパティにアクセスする際のnullポインタ例外

  18. 18

    エンティティフレームワーク-ASP.NETWebアプリケーションのコードからデータベースを移行する

  19. 19

    あるアクティビティから別のアクティビティにデータを渡すことはできますが、アプリケーションがクラッシュします

  20. 20

    Androidアプリケーションのアクティビティのスタックを維持する

  21. 21

    非アクティビティ/アプリケーションコンテキストからのconfirmDeveiceCredentialIntent

  22. 22

    Android アプリのアクション バーからメニュー オプションを選択するときに、あるアクティビティから別のアクティビティにデータを渡す

  23. 23

    反応ネイティブSectionListのセクションアイテムからセクションデータにアクセスします

  24. 24

    アクティビティラベル(アクションバーのタイトル)を別のアクティビティから変更しますか?

  25. 25

    Springboot-マルチテナントアプリケーションの単一のリクエスト内で複数のデータソースにアクセスします

  26. 26

    アプリケーションandroidの別のアクティビティからGooglePlusをログアウトしますか?

  27. 27

    Robolectric:アプリケーションの実行時にどのアクティビティが起動されるかをテストします

  28. 28

    単一のインポートからPythonアプリケーション内のグローバル変数にアクセスします

  29. 29

    ロケーションリスナー-サービスから開始するのではなく、アクティビティから機能します

ホットタグ

アーカイブ