2012-01-15 22 views
2

使用の違いは何ですかBaseColumnsContentProviderとは何ですか? のインターフェイスなので、別の場所で使用される可能性があります...?私は実際にポイントを得ていない、私はコンテンツプロバイダの単純な定数を使用して_idまたはnameをデータベースに定義しています。だから、私は何かが欠けている?ContentProviderでBaseColumnsを使用するかどうかを指定しますか?

のpublic static finalクラスのノートはBaseColumns {...

感謝を実装

PS:私はこの答えチェックしました:What is the use of BaseColumns in Androidをしかし、私は本当に答えでポイントを見ることができませんposted

答えて

3

BaseColumnsの実装のポイントは、コードの再利用のポイントと同じです。あなたはを持っていないコードを再利用するために、あなたは再びそれを再実装することができます、質問は何ですか?明らかに、それらが提供するすべての2つの列(_IDと_COUNT)に対して一定であるので、あなたはBaseColumnsを実装その多くの時間を節約していない、ので

さて、BaseColumnsの場合には、これはあまり目立ついませんこれら2つの定数を自分で追加するのではなく、しかし、もしあなたができるのであればそれを使わないのはなぜですか?

tl; dr: BaseColumnsを使用する必要はありません。そうしないと、数行のコードを入力する必要がなくなります。一方、それはあなたがそれらをタイプすることからあなたを救うので、なぜそれを使用しないのですか?

+0

Seramme、BaseColumnsが実際に何をしているのか教えていただけますか?つまり、それを実装すれば、ContentProviderはBaseColumnsを呼び出しますか? – Paul

+0

何もしません。どんなメソッドも定義していないので、呼び出す必要はありません。それはすべて2つの定数のコンテナです。 ContentProviderではなく別のクラスに実装し、ThatOtherClass._IDを使用してidカラムを参照することもできます。参照:http://developer.android.com/reference/android/provider/BaseColumns.html – Seramme

関連する問題