アプリ用のコンテンツ プロバイダーを作成しました。メイン アクティビティで CursorLoader とリストビューを使用して使用しています。リストビューにはいくつかの要素が表示されます。要素は多くのタグにバインドできます。
要素 (_id、説明)、タグ (_id、説明)、要素タグ (idElement、idTag) の 3 つのテーブルを定義しました。
コンテンツ プロバイダーのクエリ メソッドで結合を行いますが、要素には多くのタグを含めることができるためです。リストビューのようなものを取得します(これはクエリの結果でもあります):
- 要素 1 | タグ1
- 要素 1 | タグ2
- 要素 1 | タグ3
しかし、私はしたいです:
- Element1 Tag1 Tag2 Tag3 (最初のセル)
私は要素とタグの間の結合を作成しないことについて考えましたが、この場合、カーソルアダプターの各要素のタグを照会する必要があります (これは悪いと思います)。
また、おそらく非正規化が最善のアイデアであるというスレッドを読みました (コンマで区切られた要素のタグを含む要素テーブルに列を作成します)。しかし、タグを含むすべての要素を取得したい場合、これは遅くなります。
結合クエリのおかげで、CursorLoader 全体を失望させて、大きなハッシュマップを 1 つだけ作成する必要があるのではないでしょうか?
あなたの考えを本当に感謝します。
前もってありがとう:)