サニー、
複数の方法でディスク、dbまたはウェブからデータにアクセスできます。 ContentProviderを使用する理由と使用しない理由は、データへのインターフェイスを構築しているためではなく、そのデータにアクセスする必要があるため、またそのデータをどのように配布する必要があるかが原因です。本質的に、それはアクセス(セキュリティレベル)の問題かどうかです。 (あなたのデータとそれらにアクセスツール、すなわちどのように敏感である)
あなたがデータにアクセスする複数のパッケージに複数のオブジェクトを持っている場合は、ContentProviderのは、移動するための方法かもしれません。これは、複数のパッケージが別々のアプリケーションである場合に特に当てはまります。さらに重要なのは、ContentProvidersは特定のデータに対する汎用要求を許可することです。つまり、アプリは、連絡先を誰に提供するのかを知るのではなく、連絡先を要求するだけで連絡先を要求することができます。
最終的に、決定はあなたがあなたのデータにアクセスしたい何をどのようになります。アプリケーションをローカライズしたい場合、アプリケーションがどのように要求しているのか、どのようにして誰から参照するのか、正確に知るためには、ローカライズされたクラスとカスタムの特殊なアダプタを使用してContentProviderを実行することができます。あなたのニーズを満たす。あなたのデータにアクセスするために複数のコンポーネントやプログラムが必要な場合は、考慮する必要がありますが、質問はリクエスターと、ソースがリクエスターにとって重要かどうかについてです。
あなたの次の質問は、あなたがのContentProviderを使用している場合、あなたは1以上のものを使用する必要があるということでした。ここでもあなたのニーズに基づいて実装する方法はあなたの選択です。しかし、それに従うべきいくつかの良い実践がありますが、それはあなたにいくつかの指針を与えるかもしれません。各クラスは実際には本当に1つのことをすべきであり、それは具体的でなければなりません。 ContentProviderが何を問わずデータを提供する必要がある場合は、両方を同じプロバイダ内で実装することは可能ですが、ややこしいことがあります。リクエスタ(通常はアクティビティ)がディスクとデータベースの区別を行う場合は、おそらく複数のプロバイダである必要があります。私が言うことは嫌いですが、私たちが行うことができるのは選択肢、考慮事項、結果を提供することなので、必要なものを定義する必要があります。しかしねえ!それはプログラミングについての美しいものです!必要なものを選択し、それらのニーズに合ったソリューションを作ることは、決して教えられなかったことを行う新しい方法を見つける可能性があります。このことができます
希望、 FuzzicalLogic
あなたは私が1デシベルのためのコンテンツプロバイダだけでなく、ディスクストレージまたは2つの別々のコンテンツプロバイダを使用する必要があると思いますか? – Sunny