用于替换ContactcsContract的内容提供程序

时间:2016-06-04 20:43:13

标签: android android-studio android-contentprovider android-cursor

我试图对我下载的应用进行一些更改,该应用使用ContactContracts显示手机中存储的联系人列表,

我想要做的是使用内容提供商来显示我存储在我的数据库中的联系人列表

原始应用使用此方法从手机加载联系人并存储在“联系人”对象中:

cd \Projects\SampleApp
SampleApp.sln

我不熟悉使用内容提供商,所以我不确定我应该在我的内容提供商类中定义什么

1 个答案:

答案 0 :(得分:0)

如果您不想,则不必使用内容提供商。此处使用联系提供程序示例来实现自己的用户数据库管理也是错误的方法。提供者多次进化以支持所有类型的用例。我的意思是,看看它的documentation。所有这些表格和微观管理。我怀疑你是否需要这一切。

我建议你做以下事情。首先创建数据库方案。找出您需要哪些表以及应用程序工作所需的列。然后将其放入sqlite database并定义查询以存储和检索内容。这应该是使应用程序正常运行所必需的。

然后,如果一切正常并且您仍有动机或要求,请使用现有数据库作为带有提供程序的数据存储创建content provider,并声明URI以访问和修改内容。当然,您必须重写现有代码的某些部分。但是如果您使用查询,更新,删除和插入数据库的方法,那应该没问题。

或者您通过插入原始联系人以困难的方式执行此操作并将联系人插入联系人提供程序。但是,您不必与系统共享联系人(例如,在现有联系人上设置自定义操作)或其他应用程序,然后就是不要这样做。