1

私はアンドロイド開発の初心者なので、次の問題を解決するためのアドバイスをお願いしたいと思います。

私は 2 つの SQLite テーブルを持っています:cardsmeanings. 各カードには、1 つまたは複数の意味があります。私のAndroidアプリケーションは、意味のあるカードのリストを表示する必要があります。次の操作を実現する必要があります。

  • 意味のある新しいカードを追加する
  • 既存のカードに意味を追加する
  • 意味のあるカードを読む、更新する、削除する

私が理解している限り、これを実現する最善の方法は、カード用と意味用に 2 つのコンテンツ プロバイダーを作成することです。次に、カードの機能をカプセル化し、カードをある種のアダプターに入れるクラスを構築したいと思います。次に、アダプタをある種のリスト ビューにバインドします。

この方法が最適かどうかはわかりません。そのため、これを行うためのより良い方法についてのアドバイスは大歓迎です。

4

1 に答える 1

0

カードには 1 つ以上の意味があるため、3 つ目のテーブルを使用する必要があります。これを CardMeanings と呼びましょう。これには 2 つの列があります。カードの固有 ID と意味の固有 ID。この表の各行は、1 つのカードと 1 つの意味の一意の組み合わせを表しています。

Card      Meaning
  1          1
  1          3
  1          4
  2          7
  3          3
  3          4

次に、単一のアダプターを使用して、関係の論理ビューとアダプターのみが使用できる低レベルのメソッドを使用してこのテーブルを管理し、整合性を維持します。たとえば、カードを削除するとどうなるでしょうか? 通常は、指定されたカード ID を持つ CardMeanings テーブル内のカードとすべての行を削除しますが、1 つのアダプターでそれを行い、3 つのテーブルすべてを管理します。

重要なことは、アダプターの要点は、物理ビュー (3 つのテーブル) を論理ビュー (カードとその意味) に変えることです。アクティビティ コードは論理ビューのみを処理し、アダプタは物理ビューのみを処理する必要があります。

于 2012-11-22T22:13:06.073 に答える