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

How to know if the data on the server is newer than the data on the device, or vice versa?

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

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

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

以下是我要实现的目标:

  • 首先,考虑使用时间戳。这是它的工作原理;
  • 在你的数据库table(远程)中,有一个列updated_at,一旦你同步了你的新数据,你应该设置一个它的新时间戳。
  • 在您的 android 代码中,您只需将 lastSyncTime 存储在您的首选项中,然后与您从服务器列中获得的内容进行比较。

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

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

希望对您有所帮助。祝你好运!