2

私のアプリケーションは、ユーザーがこのデータベースのコンテンツのリストを表示できるように、データベース (読み取り専用、資産ファイルに保存) と通信しています。たとえば、このデータベースから数千の要素をリストビューに表示でき、ユーザーは任意の要素をクリックして詳細情報を取得できます。

ユーザーが「お気に入り」リストを作成できるようにする新しい機能を追加したいと思います。したがって、ユーザーがデータベースの要素をクリックするたびに、「お気に入りに追加」ボタンをクリックすると、メインメニューから「お気に入り」ボタンが表示され、ユーザーが決定した要素のみのリストビューが開きます最初に追加します。

SQLiteOpenHelper を拡張する DatabaseHelper クラスと、最初のテーブルとの相互作用を指定する DatabaseAdapter クラスが既にあります。

私が理解していることから、1 つのデータベースを保持し (その後 DatabaseHelper クラスを再利用)、新しいテーブルのメソッド (新しい要素の追加、要素の削除など) とフィールドを定義する新しい DatabaseAdapter2 クラスを作成できます。私のテーブルの。そうですか?メインテーブルを変更から保護するために DatabaseHelper が「読み取り専用」で定義されているため、よくわかりませんが、2番目のテーブルは「書き込み+読み取り」にする必要があるため、2番目のdatabaseHelperがある方がよいでしょう? 些細な質問かもしれませんが、既存のテーブル/データベースから新しいテーブル/データベースを作成することに関する多くの情報が見つかりません。

4

1 に答える 1

1

あなたがアプリを説明している方法では、書き込みのために mainTable を開く必要がありますが、すべてを 1 つのデータベースとして作成することを検討します。お気に入りデータベースから読み取り、次に mainTable データベースから後続のデータをプルする場合、1 つのデータベースから両方のテーブルからプルする複雑なクエリを作成する場合よりもはるかに遅くなります。

于 2013-04-10T04:32:00.313 に答える