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

时间:2012-07-05 10:02:50

标签: android ios sync icloud

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

  1. 是否有提供此同步功能的框架或库?
  2. 如果没有,实施的不同选择有哪些?
  3. iCloud可用于在Android和iOS设备上同步应用程序数据吗?

6 个答案:

答案 0 :(得分:4)

是否有提供此同步功能的框架或库?

您可以查看OpenMobster Cloud Platform。 Sync服务可确保Android和iOS设备之间的数据复制安全。您所要做的就是在Cloud Side上开发Java Sync Channel,并使用设备端的Device API访问您的数据。以下是该项目的链接:http://openmobster.googlecode.com

完全披露:我是OpenMobster平台的总工程师

答案 1 :(得分:2)

  

是否有提供此同步功能的框架或库?

没有。没有框架或库提供iCloud为Apple设备提供的跨平台同步。

  

如果没有,实施的不同选择有哪些?

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

    iCloud可以用于在Android和iOS设备上同步应用程序数据吗?

    没有。 iCloud仅适用于Apple设备(截至2012年7月)。

答案 2 :(得分:0)

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

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

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

答案 3 :(得分:0)

Dropbox数据存储API可以同步您的结构数据(数据库),Sync API以及同步图像,文档和其他文件。

https://www.dropbox.com/developers/datastore

https://www.dropbox.com/developers/sync

他们有iOS和Android版本。

答案 4 :(得分:0)

来自Orando Labs的EnduroSync是一款完全符合您要求的新产品。 iOS和Android都有客户端,还有更多客户端。

完全披露:我在Orando Labs工作。

EnduroSync客户端允许您在本地设备上创建对象数据存储。客户端相当复杂 - 数据被建模为我们支持的每个客户端的本机对象(现在iOS和Android,更多)。客户离线和在线工作。数据将保存到本地的sqlite数据库中。

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

EnduroSync是一项在线服务,因此您无需设置服务器。

还有一个灵活的权限系统,允许您以各种方式共享对象数据存储。例如,大多数应用程序将为每个用户提供一个或多个对象数据存储,用于首选项,注释,标签等。您还可以按应用程序,每个用户类型和通配符共享对象数据存储,还有许多其他方式。 / p>

所以基本上你使用我们的客户端SDK来模拟设备上的数据。建模是使用设备的本机编程语言中的简单对象。如果你签字 对于同步服务,您也可以进行同步。

答案 5 :(得分:-1)

c2dm已被弃用:

  

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

使用GCM:Link