Я безуспешно пытаюсь получить доступ к базе данных через провайдера контента уже пару дней.
Я думаю, что я не понимаю синтаксис Uri, который используется для указания на базу данных. Возможно, я не правильно понимаю документацию разработчика Android о формате Uri.
У меня есть база данных с именем «testdatabase.db», таблица с именем «table1» и класс с именем DbProvider
, который подклассов ContentProvider
. База данных создана успешно, и я могу делать запросы к ней, используя оболочку adb, но когда я пытаюсь сделать запросы от клиента, я получаю IllegalArgumentException Unknown uri: content://com.test.dbprovider/testdatabase.db
Может кто-нибудь объяснить, какой правильный формат Ури в моем случае? А каков синтаксис авторитетной части провайдера? Можно ли назвать орган, например, com.test.foo
, и он все еще должен работать, или последняя часть после точки должна быть именем класса или чем-то подобным?
Я также сделал необходимые теги провайдера для файла AndroidManifest.xml
.