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



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

在更新:

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

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

我将这样做:

  • 首先,考虑使用时间戳。这是如何工作的;
  • 在你的数据库表(远程),有一个列updated_at,一旦你同步你的新数据,你应该设置一个新的时间戳。
  • 在你的android代码中,你可以简单地存储lastSyncTime在你的首选项中,然后与你从你的服务器列得到的比较。

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

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

我希望这对你有帮助。好运!

最新更新