用于在 android 和 osx 之间同步联系人的通用数据结构
Posted
技术标签:
【中文标题】用于在 android 和 osx 之间同步联系人的通用数据结构【英文标题】:Common Datastructure to synchronize contacts between android and osx 【发布时间】:2011-06-16 18:54:25 【问题描述】:我正在尝试从 android 设备中提取联系人信息并将其与 osx 中的地址簿同步。基本上是从设备到设备的直接同步机制,无需使用必要的谷歌帐户。到目前为止,我设法在 osx 端运行了一个套接字服务器,并通过 bonjour 发布了它的服务,可以从 android 手机发现和联系。我还在 android 端使用了一个同步适配器来提供同步功能。
到目前为止的设置和想法,我现在的问题是,就数据存储和通信而言,最佳选择是什么?
在android上,联系人存储在一个sqlite数据库中,可以查询。 (实际上是三个表来获取全套信息Contacts.Contract.Data ..RawContacts 和..Contacts) 可以通过AddressBook.framework 轻松访问通讯录。我非常不确定如何获得一个通用的数据结构来同步高效可靠。在 sqlite 数据库上工作是更好的选择,还是将 vCard 作为通用数据对象进行同步,或者将 android 数据转换为核心数据对象并在它们上同步更好?非常感谢 Tipps 和 cmets。也许我也想得太复杂了……
【问题讨论】:
【参考方案1】:vCard 格式被设计为一种传输联系人的方式,因此它应该能够工作。不过,在我看来,除非 OS X 和 Android SDK 提供了一种使用 vCard 的简单方法,否则定义自己的 XML 格式会更容易。
【讨论】:
我很想使用 OS X 提供的同步服务,但不幸的是我现在感觉很迷茫。看来 Sync Services 使用 Core Data 的工作方式更加灵活和可靠。 多对多同步会很复杂......所以也许了解同步服务是值得的。以上是关于用于在 android 和 osx 之间同步联系人的通用数据结构的主要内容,如果未能解决你的问题,请参考以下文章
Android中的GraphicBuffer同步机制-Fence