android – 如何使用谷歌应用引擎在线和离线实现跨设备数据同步?

我想创建一个应用程序,它将同步多个设备上的数据,如Evernote应用程序.
我见过Firebase和Couchbase,但由于定价和托管问题,我不想使用这两个,我想创建自己的同步.

我想创建它,因为Client是Android,用于创建API和Appengine后端的Google云端点. .

在线和离线同步

笔记记录应用示例(如Evernote)

一个简单的场景是假设用户已登录到多个设备并在一个设备中创建了一个应该与所有其他设备同步的注释,设备X处于脱机状态,并且当设备X联机时,它也会创建一个文档但是离线必须获取最新的服务器状态并添加由它创建的备注,并且应该与多个设备同步.

情景2

我想象一种同步数据将成为问题的场景.假设应用程序在未连接到Internet时应该工作,因此无法与此*服务器通信.所以:

用户A处于离线状态并编辑记录#100
用户B离线并编辑记录#100
用户C处于脱机状态并删除记录#100
用户C上线(可能是记录#100应该在服务器上删除)
用户A和B上线,但他们编辑的记录不再存在
可以出现与上述类似的各种场景.

还有更复杂的场景,有没有人做过这样的事情以及你面临的所有挑战?

什么是最好的解决方案?怎么实现这个?

简短需要逻辑,如firebase同步或Couchbase同步

解决方法:

我知道我们不应该仅仅在这里作为答案提供参考,但你的问题是如此广泛,我没有看到另一种方式.

有一个Android同步功能,在http://developer.android.com/training/sync-adapters/index.html中描述

但是,我没有看到任何与Couchbase相关的定价和托管问题.我自己开发了一个类似的应用程序,使用免费的社区版本,它运作良好.无论如何,您将需要一些服务器数据库,因此,对于所有可用的数据库产品,为什么不使用带有同步功能的产品,而不用付出代价.

(我与Couchbase制造商没有任何关系.)

上一篇:寻找有关Android同步管理器的信息


下一篇:我可以在纯Java中实现park / unpark方法吗?