我一直在尝试实现SyncAdapter 同步数据之间的客户端(android设备)和服务器使用sqlite。相同的数据将在不同的设备之间共享。
在更新:一旦某个客户端设备上的特定记录被更新,它就会被推送到服务器。此时,更新的记录也应该从服务器同步到其他连接的设备。
现在,当我们从其他连接的设备发送同步请求时,知道服务器上哪条记录被更新的最好方法是什么?
我将这样做:
- 首先,考虑使用时间戳。这是如何工作的;
- 在你的数据库表(远程),有一个列updated_at,一旦你同步你的新数据,你应该设置一个新的时间戳。
- 在你的android代码中,你可以简单地存储lastSyncTime在你的首选项中,然后与你从你的服务器列得到的比较。
您可以轻松地从端点/lastrongync/提取值,查看sync_time是否更改。
通过比较两个时间戳,您可以决定是否要同步新数据或保留旧数据直到新数据同步。
我希望这对你有帮助。好运!