Как узнать имя столбца базы данных контент-провайдера из другого приложения [преобразователь контента]

Я новичок в андроиде. У меня есть одно сомнение в контенте и распознавателе. У меня есть собственное приложение поставщика контента, и я хочу получить доступ к его базе данных из другого приложения. Я создал uri и дал разрешение в манифесте. При вставке нового значения из другого [Content Resolver] как мое приложение-распознаватель узнает имена столбцов ContentProvider, потому что мы должны создать объект ContentValues, и при вставке данных требуется имя столбца... Пожалуйста, помогите


person FaisalAhmed    schedule 09.11.2016    source источник


Ответы (2)


Если стороннее приложение делает свой ContentProvider общедоступным, у него, вероятно, есть документация о том, как получить к нему доступ, в противном случае вам следует связаться с автором приложения.

В противном случае вы можете использовать нулевую проекцию для запроса данных от того же поставщика контента и распечатать все столбцы в полученном вами курсоре.

person XGouchet    schedule 09.11.2016

Стандартный подход в реализации ContentProvider заключается в создании дополнительного класса "контракт", который инкапсулирует всю информацию, необходимую для связи с ContentProvider (независимо от того, экспортируется этот ContentProvider или нет).

Если ваш ContentProvider должен быть доступен из других приложений, вы экспортируете его и публикуете соответствующий класс «контракта» для клиентов (например, публикуете JavaDoc на веб-сайте, отправляете по почте и т. д.).

Примером класса «контракт», найденного в AOSP, является класс ContactsContract. Его JavaDoc публикуется здесь. Его источник можно найти здесь.

person Vasiliy    schedule 09.11.2016