在多个 iOS 和 Android 设备之间保持数据库同步的最简单方法是啥?

Posted

技术标签:

【中文标题】在多个 iOS 和 Android 设备之间保持数据库同步的最简单方法是啥?【英文标题】:What is the easiest way to keep a database synchronized between multiple iOS and Android devices?在多个 iOS 和 Android 设备之间保持数据库同步的最简单方法是什么? 【发布时间】:2014-10-09 17:06:53 【问题描述】:

对于我们的移动应用程序,我们希望使用 Realm.io 数据库,但我们需要能够同步多个设备,以便它们始终拥有相同的信息。数据库可能会达到几兆字节的数据,因此我们希望确保不必在每次发生更改时都上传整个数据库,然后在所有其他设备上重新下载。理想情况下,我们还希望确保在更新其数据库之前,设备上不会发生与服务器的其他事务。

【问题讨论】:

【参考方案1】:

目前使用 Realm 是不可能的,尽管我相信它在路线图上。因此,您将不得不使用 REST API 或类似方法来滚动您自己的同步。

目前唯一支持我所知道的类似功能的移动数据库是 CouchDB Light http://developer.couchbase.com/mobile/,但我没有任何经验。

【讨论】:

启用 iCloud 的 Core Data 支持这一点,但显然只适用于 ios【参考方案2】:

另一种选择是使用Parse 设置一个帐户

每次在 Realm 上执行数据库写入时,您都可以写入 Parse。

Parse 还支持静默推送通知,因此当设备向 Parse 写入数据时,它可以发送静默推送通知以更新其他设备上的 Realm 数据模型。

Parse 支持多种登录方法,例如 Facebook、Twitter 和电子邮件/密码,从而可以轻松进行用户身份验证。

【讨论】:

Parse 已关闭..正式.. :(【参考方案3】:

他们刚刚发布了一个新的工具包。

今天,我们推出了 Realm 移动平台,这是一个新的产品 集成了我们完全开源(见下文!)的客户端数据库,用于 iOS 和 android 采用新的服务器端技术,提供实时 同步、冲突解决和反应性事件处理。这 新平台使移动开发人员可以轻松创建应用程序 难以构建的功能,例如实时协作、消息传递、 线下优先体验等。

在这里阅读更多: https://realm.io/news/introducing-realm-mobile-platform/

【讨论】:

以上是关于在多个 iOS 和 Android 设备之间保持数据库同步的最简单方法是啥?的主要内容,如果未能解决你的问题,请参考以下文章

通过蓝牙在 iOS 和 Android 之间传输数据?

android客户端在多个界面切换时保持socket的链接的实例

在 ios 中具有相同服务和特性的多个 BLE 设备

如何在 iOS 和 Android 之间为游戏进行通信 [关闭]

设备重新启动后,地理围栏是不是在 android 中保持活动状态

在通过 WiFi 连接的两个或多个设备之间通话 - iOS