如何知道服务器上的数据是否比设备上的数据更新,反之亦然?

时间:2015-08-18 11:10:45

标签: android offline-caching android-syncadapter

我一直在尝试使用sqlite在客户端(Android设备)和服务器之间实现SyncAdapter与同步数据。不同设备之间将共享相同的数据。

更新时间 一旦在一个客户端设备上更新特定记录,它就会被推送到服务器。此时,更新的记录也应该从服务器同步到其他连接的设备。

现在,当我们从其他连接的设备发送同步请求时,知道在服务器上更新哪条记录的最佳方法是什么?

1 个答案:

答案 0 :(得分:1)

以下是我要做的事情:

  • 首先,考虑使用时间戳。这是如何工作的;
  • 在您的数据库表(远程)中,有一列 updated_at ,只要您同步新数据,就应该为其设置新的时间戳。
  • 在您的Android代码中,您只需在首选项中存储 lastSyncTime ,然后与从服务器列中获取的内容进行比较。

您可以轻松从端点 / last_sync / 中提取值,以查看sync_time是否已更改。

通过比较两个时间戳,您可以决定是要同步新数据还是保持旧数据,直到新数据同步为止。

我希望这会有所帮助。祝你好运!