如何从另一个应用[内容解析器]

时间:2016-11-09 07:26:02

标签: android android-contentprovider android-contentresolver

我是android新手。我对内容提供和解析器有一个疑问。我有我的自定义内容提供商应用程序,我想从另一个应用程序访问其数据库。我创建了uri并在清单中给出了授权。从另一个[内容解析器]插入新值时,我的解析器应用程序将如何知道contentprovider的列名,因为我们必须创建ContentValues对象,并且在插入数据时需要列名...请帮助

2 个答案:

答案 0 :(得分:1)

如果第三方应用程序正在公开他们的ContentProvider,他们可能有关于如何访问它的文档,否则您应该联系该应用程序的作者。

否则,您可以使用空投影查询来自同一内容提供程序的数据,并打印您检索的游标中的所有列。

答案 1 :(得分:1)

实施ContentProvider的标准方法是创建额外的"合同"包含与ContentProvider进行通信所需的所有信息的类(无论是否导出ContentProvider)。

如果您的ContentProvider可以从其他应用程序访问,则可以将其导出并发布相应的"合同"客户类(例如在网站上发布JavaDoc,通过邮件发送等)。

"合同的例子"在AOSP中找到的类是ContactsContract类。它的JavaDoc正在发布here。它的来源可以找到here