私は Microsoft .NET 開発 (主に C#) で長年の経験があり、Android と Java の速度を上げるために取り組んできました。ここまでで、いくつかの画面と機能するコンテンツ プロバイダーを備えた小さなアプリケーションを作成しました。
コンテンツ プロバイダーを開発するために私が見たすべての例は、通常、1 つのテーブルで動作するため、これが規則であるという印象を受けました。
他のテーブル用にさらにいくつかのコンテンツ プロバイダーを作成し、それらをテストしようとしたときに「不明な URI」IllegalArgumentException に遭遇しました。コンテンツ プロバイダーの 1 つによって例外がスローされていますが、呼び出すつもりだったプロバイダーではありません。
私のアプリケーションは、AndroidManifest.xml ファイルの最初のコンテンツ プロバイダを使用しているようです。このため、アプリケーション全体に対して 1 つのコンテンツ プロバイダのみを使用する必要があるかどうか疑問に思っています。
Android アプリケーションで複数のテーブルを操作するためのベスト プラクティスや例はありますか? テーブルごとに 1 つのコンテンツ プロバイダーを使用する必要がありますか?それとも、アプリケーション全体に対して 1 つのみにする必要がありますか? 前者の場合、URI を適切なプロバイダーに解決するにはどうすればよいですか? 後者の場合、コンテンツ プロバイダーのコードが switch ステートメントで汚染されないようにするにはどうすればよいですか?