有一些应用程序可以在iOS和Android(包括手机和平板电脑)上运行,并能够在不同设备之间同步数据。
- 是否有任何框架或库可提供此同步功能?
- 如果没有,有哪些不同的实现选项?
- 可以使用iCloud在Android和iOS设备间同步应用程序数据吗?
有一些应用程序可以在iOS和Android(包括手机和平板电脑)上运行,并能够在不同设备之间同步数据。
有没有提供这种同步功能的框架或库?
没有。目前没有任何框架或库能够提供像iCloud在苹果设备上提供的跨平台同步功能。
如果没有,那么有哪些不同的实现选项?
iCloud能否用于在Android和iOS设备之间同步应用程序数据?
不行。iCloud仅限于苹果设备(截至2012年7月)。
Orando Labs的EnduroSync是一个全新的产品,可以完美地满足您的需求。我们提供iOS和Android客户端,并将推出更多版本。
声明:我在Orando Labs工作。
EnduroSync客户端允许您在本地设备上创建对象数据存储。客户端非常复杂 - 我们为每个客户端(现在支持iOS和Android,更多版本即将推出)建模数据为本机对象。客户端可以离线和在线使用。数据会保存到本地sqlite数据库中。
当您更改模型中的对象时,增量会记录在设备上。在某些时候,您可以“同步”对象数据存储。同步使用提交/推送/拉取过程(类似于git),但这对您来说是不可见的。同步将您的本地副本与服务器上的任何内容保持同步,并发送您所做的任何更改。冲突使用基于时间戳的合并进行解决,因此较新的数据不会被较旧的数据覆盖。
EnduroSync是一项在线服务,因此您无需在自己的服务器上设置任何内容。
此外,还有一个灵活的权限系统,可以让您以多种方式共享对象数据存储。例如,大多数应用程序将为每个用户、偏好设置、笔记、标签等拥有一个或多个对象数据存储。您还可以按应用程序、用户类型和通配符等方式共享对象数据存储。
因此,基本上您可以使用我们的客户端 SDK 在设备上对数据进行建模。建模是使用设备的本地编程语言中的简单对象完成的。如果您注册同步服务,则还可以获得同步功能。
Dropbox数据存储API可以同步您的结构化数据(数据库),Sync API可以同步图像、文档和其他文件。
https://www.dropbox.com/developers/datastore
https://www.dropbox.com/developers/sync
它们有iOS和Android版本。
我不了解iOS,但是在Android上,您可以使用同步适配器将数据与云(您的服务器)同步。例如:
http://developer.android.com/training/cloudsync/index.html
因此,如果您从iPhone应用程序获取一些数据到您的服务器,那么您可以将其同步到Android应用程序中,反之亦然。
c2dm已被弃用:
重要提示:c2dm已于2012年6月26日正式被弃用。这意味着c2dm已停止接受新用户和配额请求。c2dm将不再添加新功能。但是,使用c2dm的应用程序将继续工作。鼓励现有的c2dm开发人员迁移到名为Google Cloud Messaging for Android(GCM)的新版本。有关更多信息,请参见C2DM-to-GCM迁移文档。开发人员必须使用GCM进行新开发。
请使用GCM:链接