6

有些应用程序可以在 iOS 和 Android(手机和平板电脑)上运行,并且它们设法在不同设备之间同步数据。

  1. 有没有提供这种同步功能的框架或库?
  2. 如果不是,有哪些不同的实施方案?
  3. iCloud 可以用于在 Android 和 iOS 设备之间同步应用程序数据吗?
4

6 回答 6

4

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

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

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

于 2012-07-11T04:28:33.093 回答
2

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

不,没有任何框架或库可以提供 iCloud 为 Apple 设备提供的那种跨平台同步。

如果不是,有哪些不同的实施方案?

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

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

不可以。iCloud 仅适用于 Apple 设备(截至 2012 年 7 月)。

于 2012-07-11T06:53:55.840 回答
0

Dropbox Datastore API 可以同步你的结构数据(database),以及同步 API 和同步图片、文档等文件。

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

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

他们有 iOS 和 Android 版本。

于 2013-11-15T22:20:31.000 回答
0

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

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

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

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

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

还有一个灵活的权限系统,可让您以多种方式共享对象数据存储。例如,大多数应用程序将为每个用户提供一个或多个对象数据存储,用于偏好、注释、标签等。您还可以按应用程序、每个用户类型以及使用通配符等许多其他方式共享对象数据存储。

因此,基本上您使用我们的客户端 SDK 对设备上的数据进行建模。建模是使用设备本机编程语言中的简单对象。如果您注册同步服务,您也会获得同步。

于 2014-05-27T19:50:39.980 回答
0

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

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

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

于 2012-07-05T10:09:59.533 回答
-1

c2dm 已被弃用:

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

使用 GCM:链接

于 2012-07-05T10:15:20.477 回答