0

私のプロジェクトには 2 つのデータベース ファイルがあります。

  1. assets フォルダーで利用可能 (SqliteOpenHelper クラスを使用して開きます)
  2. 実行時に作成 (SqliteOpenHelper クラスを使用して作成および開く)

ベストプラクティスはどれですか?

  • 2 つのデータベースを別々に保持し、2 つの異なるクラス (SqliteOpenHelper クラスを拡張) を使用してそれらを開きます。
  • 資産データベースを保持し、既存のデータベースに追加のテーブルを作成し、同じヘルパー クラスを使用します

assests データベースとランタイム作成データベースの両方に同じヘルパー クラスを使用しようとしています。

また、私のアプリケーションには、複数のフラグメントと複数のカーソルローダーを持つアクティビティがあります。sqlite のジェネリック ヘルパー クラスを使用する必要があります。

4

2 に答える 2

0

sqlite db ファイルをアセットからファイル ディレクトリ (/data/data/files/) にコピーすることをお勧めします。onCreateその後SQLiteOpenHelper、実行時に追加のテーブルを作成する必要がある場合は、同じ db を使用できます。このようにして、2 つの sqlite ファイルと 2 つのヘルパー クラスを使用するオーバーヘッドを削減します。

于 2012-12-21T14:17:43.333 に答える
0

常に疎結合に基づいてデザインを作成するようにしてください。

したがって、SQL操作で機能するクラスを作成する必要があります。異なるパラメーターまたは異なるテーブルが必要な場合は、それらをカプセル化する必要があります。tableFactory を作成できますか?ただし、コードをよりまとまりのある疎結合に設計する必要があります...

于 2012-12-21T14:18:38.177 に答える