4

Androidでコンテンツプロバイダーを使用してクエリを結合/比較する方法。これは可能ですか?

4

1 に答える 1

9

2 つのテーブル間の関係に応じて、私は通常、次の解決策のいずれかを適用します。これらの解決策は、通常、すべてのプロジェクトを外部から利用できるインターフェイス (コンテンツ プロバイダーなど) を公開するライブラリ プロジェクトに文書化されています。

  • テーブル A に含まれる情報が、テーブル BI と結合しないとほとんど意味がない場合、A にクエリを実行するたびに常に A と B の JOIN を返すだけです。ライブラリ内の「テーブル A」への URI を定義する場所で文書化できます。 .

  • テーブル A と B に、単独でクエリ可能なデータが含まれている場合 (つまり、JOIN なしで)、通常は追加の URI を提供します。 2 つのテーブルの。繰り返しますが、これを lib に文書化します。

これ以外にもオプションがあるかもしれませんが、これらは ContentProvider とは何かという概念に最もよく合っていると思います。つまり、その背後に実装されているデータストアにとらわれないインターフェースです。基盤となるデータ ストアの機能を明示的に使用する場合はどこでも、これは奇妙に見える「ヘルパー URI」によって明確になります。

これに関するコメントは大歓迎です。たぶん、1つか2つのことを学ぶことができます..

于 2012-08-30T08:41:31.100 に答える