![]() |
1
71
制作SyncAdapter时,可以使用两种基本方法:
Android设备可以有许多不同的内容提供者和许多不同的syncadapter。因为ContentResolver可能不是同一个的一部分
.apk文件
作为SyncAdapter,ContentResolver是一种系统服务,它可以找到合适的ContentProvider来存储给定类型的数据。它使用ContentAuthority字符串来执行此操作,该字符串唯一标识一个特定的ContentProvider。此外,每个ContentProvider都必须在
在这种情况下,使用现有的ContentProvider,您需要查看平台文档以查看它们使用的ContentAuthority字符串,并使用相同的字符串。如果要创建自己的ContentProvider,只需确保创建的ContentAuthority是唯一的。最好的方法是在Authority中使用部分域名(java类样式)。按相反的顺序写。这在他们的例子中得到了说明。。。
|
![]() |
2
5
当您的APK被加载时,清单中的指令告诉操作系统检查所有元数据。在本例中,它是Android联系人的内容元数据。用于查找提供者的名称是com.android.contacts(由android定义),所有者有“权限”提供对其数据库(即content provider)的内容访问。 你可以成为自己数据的内容提供商,这些数据可以与非联系人的web服务同步。元数据是一种向操作系统注册的机制,以便您可以在广播消息期间找到它。
这是关系的开始和术语的一些分解。 |
![]() |
3
2
再次回顾AndroidManifest,同步服务中奇怪的元数据标记是在ContentAuthority和帐户之间建立绑定的关键部分。它在外部引用另一个xml文件(可以随意调用,与应用程序相关的文件) 让我们看看sync_myapp.xml:
所有contentAuthority字符串必须全部匹配,并且与您正在同步的内容匹配——如果您正在创建自己的数据库,则应该是您定义的字符串,或者如果您正在同步已知的数据类型(如联系人或日历事件或您拥有的内容),则应该使用一些现有的设备字符串。上面的(“com.android.contacts”)碰巧是联系人类型数据的ContentAuthority字符串(惊奇,惊奇。) accountType还必须与已输入的已知帐户类型之一匹配,或者必须与正在创建的帐户类型匹配。 最后一个userVisible true表示显示给用户。 |
![]() |
Murilo · Jetpack编写导航栏项目图标 6 月前 |
![]() |
KolaYAndr · 活动RESULT_OK似乎从未发生过 6 月前 |
![]() |
psycho_pat · Android应用程序中的权限 7 月前 |
|
FarazFiroz · 如何将argb转换为描述性文本颜色 7 月前 |
![]() |
Daniel · Unity Android游戏支持的设备数量太少 7 月前 |