将联系人从 ContentProvider 提供给标准联系人应用程序
Provide contacts from ContentProvider to standard Contact app
我试过搜索,但我什至不能用简短的形式提出问题。
- 我有
SQLite
table 和 id/username/mobile/email。
- 我已经为它创建了
ContentProvider
。
- 我已经通过 AccountManager(AccountAuthenticator) 创建了帐户
一切正常,我可以使用我的函数 Sqlite2Contacts
创建联系人。 IE。我提供给 ContactsContract
的每条 SQLite
条记录以及我的帐户名称和类型。通过标准应用程序可以看到所有联系人,当我删除帐户时,所有联系人也将被删除。
一切正常,但是...我想我错过了什么。我想这应该是它的一些框架。
即我将我的 ContentProvider 绑定到...使用某种适配器的东西,无需手动同步联系人。
我需要的唯一答案是我能做还是不做,而不是实施。如果我可以...我应该使用什么class/framework/adapter。
听起来你的方向错了,你不应该把你的应用程序的联系人放在 ContentProvider
。
要将特定于应用程序的联系人放入 Android 中的联系人数据库中,您的应用程序需要两个组件:帐户和 SyncAdapter。
Account
允许用户进行身份验证(如果需要)并手动删除/同步您应用的联系人。
SyncAdapter
由系统调用或由您的应用以编程方式调用,并将 RawContacts
同步到您应用的 ACCOUNT_TYPE
+ ACCOUNT_NAME
.
下的联系人数据库中
您可以关注 Udi 的两个教程:
- http://blog.udinic.com/2013/04/24/write-your-own-android-authenticator/
(注意认证部分是可选的)
- http://blog.udinic.com/2013/07/24/write-your-own-android-sync-adapter/
官方教程在这里:
https://developer.android.com/guide/topics/providers/contacts-provider.html
(在 How to write a sync adapter for synchronizing data from your server to the Contacts Provider
下)
我试过搜索,但我什至不能用简短的形式提出问题。
- 我有
SQLite
table 和 id/username/mobile/email。 - 我已经为它创建了
ContentProvider
。 - 我已经通过 AccountManager(AccountAuthenticator) 创建了帐户
一切正常,我可以使用我的函数 Sqlite2Contacts
创建联系人。 IE。我提供给 ContactsContract
的每条 SQLite
条记录以及我的帐户名称和类型。通过标准应用程序可以看到所有联系人,当我删除帐户时,所有联系人也将被删除。
一切正常,但是...我想我错过了什么。我想这应该是它的一些框架。
即我将我的 ContentProvider 绑定到...使用某种适配器的东西,无需手动同步联系人。
我需要的唯一答案是我能做还是不做,而不是实施。如果我可以...我应该使用什么class/framework/adapter。
听起来你的方向错了,你不应该把你的应用程序的联系人放在 ContentProvider
。
要将特定于应用程序的联系人放入 Android 中的联系人数据库中,您的应用程序需要两个组件:帐户和 SyncAdapter。
Account
允许用户进行身份验证(如果需要)并手动删除/同步您应用的联系人。
SyncAdapter
由系统调用或由您的应用以编程方式调用,并将 RawContacts
同步到您应用的 ACCOUNT_TYPE
+ ACCOUNT_NAME
.
您可以关注 Udi 的两个教程:
- http://blog.udinic.com/2013/04/24/write-your-own-android-authenticator/ (注意认证部分是可选的)
- http://blog.udinic.com/2013/07/24/write-your-own-android-sync-adapter/
官方教程在这里:
https://developer.android.com/guide/topics/providers/contacts-provider.html
(在 How to write a sync adapter for synchronizing data from your server to the Contacts Provider
下)