如何知道服务器上的数据是否比设备上的数据新,反之亦然?
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 是否已更改。
通过比较两个时间戳,您可以决定是要同步新数据还是保留旧数据直到新数据同步。
希望对您有所帮助。祝你好运!
我一直在尝试实现 SyncAdapter 以 同步 客户端(android 设备)和服务器之间的数据,使用 sqlite.The 相同的数据将在不同的设备之间共享设备。
更新时: 一旦特定记录在一个客户端设备上更新,它就会被推送到服务器。在那一刻,更新的记录也应该从服务器同步到其他连接的设备。
现在,当我们从其他连接的设备发送同步请求时,了解服务器上更新了哪些记录的最佳方式是什么?
以下是我要实现的目标:
- 首先,考虑使用时间戳。这是它的工作原理;
- 在你的数据库table(远程)中,有一个列updated_at,一旦你同步了你的新数据,你应该设置一个它的新时间戳。
- 在您的 android 代码中,您只需将 lastSyncTime 存储在您的首选项中,然后与您从服务器列中获得的内容进行比较。
您可以轻松地从端点 /last_sync/ 中提取值,以查看 sync_time 是否已更改。
通过比较两个时间戳,您可以决定是要同步新数据还是保留旧数据直到新数据同步。
希望对您有所帮助。祝你好运!