我有一个应用程序,用于收集全天用户通常离线收集金额,然后在晚上他们在线上传金额。有时设备日期和时间不准确,因此他们上传了错误的数据。
在收集时,我的应用程序正在从设备获取日期和时间。有没有办法让应用程序始终存储准确的日期和时间,没有Sim和没有互联网。
答案 0 :(得分:1)
好吧,在搜索应用程序之前这样做。作为一个人,如何在没有互联网的情况下判断日期/时间是否正确? 一个可能的解决方案是从上次设备连接到互联网时计算秒数的服务(这意味着它在那个时刻有正确的日期/时间)然后当你想要添加新的数量时,你可以添加秒数到最后一次并存储此值。
你将有两件事要做到这一点:
还有一件事你需要小心,如果设备熄火或由于某种原因,某些东西停止了服务。所有这些都是用户问题,您需要决定为用户处理多少东西。
您可以通过每隔10~15推送到SqlLite
数据库来修复用户错误,但是如果设备关闭了几个小时然后在错误的时间再次启动,则无法修复 - 我不会认为有一个可能的解决方案 - 。
答案 1 :(得分:1)
您可以在用户切换数据时在应用程序缓存中创建Sqlite表 可以在该表中保存当前服务器时间,在脱机模式下,您可以将服务器时间与当前时间进行比较。这是获得准确时间的最近方法