在iOS和Android之间同步应用程序数据

6

有一些应用程序可以在iOS和Android(包括手机和平板电脑)上运行,并能够在不同设备之间同步数据。

  1. 是否有任何框架或库可提供此同步功能?
  2. 如果没有,有哪些不同的实现选项?
  3. 可以使用iCloud在Android和iOS设备间同步应用程序数据吗?
6个回答

4
有没有任何框架或库可以提供这种同步功能?
你可以查看OpenMobster Cloud Platform。同步服务可在Android和iOS设备之间进行安全的数据复制。您只需在云端开发Java同步通道,并在设备端使用Device API访问您的数据。这是该项目的链接:http://openmobster.googlecode.com 完整披露:我是OpenMobster平台的首席工程师。

谢谢。我有机会时会去查看的。 - Mustafa
我能否使用OpenMobster在Android和iOS以及Java桌面或Web应用程序之间进行数据同步?如果可以,这个解决方案有多可扩展?有多少用户可以同时使用它?提前致谢。 - Geet Choubey

2

有没有提供这种同步功能的框架或库?

没有。目前没有任何框架或库能够提供像iCloud在苹果设备上提供的跨平台同步功能。

如果没有,那么有哪些不同的实现选项?

  1. 完全不使用同步机制,而是使用Web服务。对于某些情况来说,这可能是一个不错的解决方案。
  2. 在iOS和Android应用程序中使用SQLite数据库,并自己实现同步解决方案。如果选择实现自定义同步解决方案,您将面临以下一些挑战:
    • 提供注册机制,以使用云/服务器端服务
    • 读取和写入数据到/从服务器/云
    • 检测和解决冲突(即合并冲突)
    • 离线访问数据,并处理设备未连接到任何网络的情况
    • 在iOS中,您将无法使用Core-Data(这使得开发相对容易),因此您必须注意有效地显示数据,优化数据访问等问题

iCloud能否用于在Android和iOS设备之间同步应用程序数据?

不行。iCloud仅限于苹果设备(截至2012年7月)。


误导/过时的信息。请查看其他答案。 - Gustavo Maciel

0

Orando Labs的EnduroSync是一个全新的产品,可以完美地满足您的需求。我们提供iOS和Android客户端,并将推出更多版本。

声明:我在Orando Labs工作。

EnduroSync客户端允许您在本地设备上创建对象数据存储。客户端非常复杂 - 我们为每个客户端(现在支持iOS和Android,更多版本即将推出)建模数据为本机对象。客户端可以离线和在线使用。数据会保存到本地sqlite数据库中。

当您更改模型中的对象时,增量会记录在设备上。在某些时候,您可以“同步”对象数据存储。同步使用提交/推送/拉取过程(类似于git),但这对您来说是不可见的。同步将您的本地副本与服务器上的任何内容保持同步,并发送您所做的任何更改。冲突使用基于时间戳的合并进行解决,因此较新的数据不会被较旧的数据覆盖。

EnduroSync是一项在线服务,因此您无需在自己的服务器上设置任何内容。

此外,还有一个灵活的权限系统,可以让您以多种方式共享对象数据存储。例如,大多数应用程序将为每个用户、偏好设置、笔记、标签等拥有一个或多个对象数据存储。您还可以按应用程序、用户类型和通配符等方式共享对象数据存储。

因此,基本上您可以使用我们的客户端 SDK 在设备上对数据进行建模。建模是使用设备的本地编程语言中的简单对象完成的。如果您注册同步服务,则还可以获得同步功能。


2
你能提供一些技术背景吗?这样,它不仅是一个指向外部资源的简单链接。答案应该能够独立存在,请检查[答案]。 - brasofilo

0

Dropbox API v2是否为Android、iOS和桌面应用程序提供回调功能,以便在Dropbox上的数据发生更改时进行通知? - Geet Choubey

0

我不了解iOS,但是在Android上,您可以使用同步适配器将数据与云(您的服务器)同步。例如:

http://developer.android.com/training/cloudsync/index.html

因此,如果您从iPhone应用程序获取一些数据到您的服务器,那么您可以将其同步到Android应用程序中,反之亦然。


-1

c2dm已被弃用:

重要提示:c2dm已于2012年6月26日正式被弃用。这意味着c2dm已停止接受新用户和配额请求。c2dm将不再添加新功能。但是,使用c2dm的应用程序将继续工作。鼓励现有的c2dm开发人员迁移到名为Google Cloud Messaging for Android(GCM)的新版本。有关更多信息,请参见C2DM-to-GCM迁移文档。开发人员必须使用GCM进行新开发。

请使用GCM:链接


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接