我有一个需要从网络服务器接收一些数据的Android应用。我已经完成了所有工作,我的问题是..如果我总是通过HTML表单向其远程数据库添加一些数据,那么从网络服务器同步数据的最佳方法是什么?
我考虑过设置时间戳,然后我可以接收带有时间戳的数据,我可以将时间戳与我的Android应用数据库中的每个数据条目进行比较,然后更新或将信息添加到我的本地数据库。
最好的方法是什么?我应该为我放入远程和本地服务器的每个条目添加时间戳吗?如果是的话。时间戳如何在PHP(MySQL)和Android(SQLite)中运行?
提前致谢! ; d
答案 0 :(得分:3)
我假设数据对应用程序是只读的,只在服务器上发生变化。
以下是我们如何做类似的事情:
应用程序将“last_sync_date”传递给服务器。如果last_sync_date为null,则服务器将传回所有数据。
服务器始终将last_sync_date传回给应用程序。 last_sync_date是UTC服务器时间。应用程序存储last_sync_date。
显然,在应用程序第一次发送时,last_sync_date将为null,因此第一次获取所有数据。从那时起,它只获得新数据。
是的,每个条目的时间戳用于确定哪些记录是新的/修改过的。
如果需要,请在每个条目中添加一个已删除的列以“删除”它们。