经典问题:服务器上的数据库和Android上的数据库都必须保持同步(使用REST服务)。
经过大量研究后,使用Android's Sync Adapter似乎是个不错的主意。 我过来看了Google's I/O App。
他们使用GCM来运行同步事件。如果我错了请纠正我,但这似乎只是单向同步。
有没有办法使用Android同步适配器进行双向同步?
答案 0 :(得分:1)
实际同步逻辑由同步适配器执行。无论您需要什么,这可以是双向的,也可以是单向的。 这部分与GCM无关。
关于Google I / O应用,他们仅使用GCM向应用提供同步触发器。这样,服务器可以通知所有客户有关新内容的信息,客户端将(几乎)立即获取它。以下是相关部分:
为了更优雅地解决此问题,我们使用GCM(Google云消息传递)。每当服务器端的数据发生更新时,服务器就会向所有已注册的设备发送GCM消息。收到此GCM消息后,设备将执行同步以下载新的会议数据。 GCMIntentService类处理传入的GCM消息:
在设备上进行本地更改时触发同步通常由保存数据的ContentProvider完成。所以这也不是问题。