私はここ数日、データベーストラフコンテンツプロバイダーにアクセスしようとして失敗しました。
データベースを指すために使用されるURIの構文が理解できないと思います。たぶん私はUriのフォーマットに関するAndroid開発者のドキュメントを正しく理解していません。
「testdatabase.db」という名前のデータベース、「table1」という名前のテーブル、およびDbProvider
そのサブクラスという名前のクラスがありContentProvider
ます。データベースは正常に作成され、adbシェルを使用してデータベースにクエリを実行できますが、クライアントからクエリを実行しようとすると、IllegalArgumentException Unknown uri: content://com.test.dbprovider/testdatabase.db
私の場合、誰かがUriの正しい形式を説明してもらえますか?そして、プロバイダーの権限部分の構文は何ですか?たとえば、機関に名前をcom.test.foo
付けることはできますが、それでも機能する必要がありますか、それともドットの後の最後の部分をクラス名などにする必要がありますか?
AndroidManifest.xml
また、ファイルに必要なプロバイダータグを作成しました。