我正在处理一个应用程序,如果24小时过去了,需要与网络服务器同步。每个交互都记录在数据库中,以便我可以跟踪上次同步时间,因此当应用程序启动时,它会检查数据库以查看是否需要同步。到目前为止,我没有找到合适的时钟来进行可靠和一致的时间测量,时钟可以是临时的(测量正常运行时间),或者它们的日期可以由用户改变,所以是否有任何好的策略处理这些问题?可靠的时钟在Android的好策略?
1
A
回答
2
在软件工程中,这是人人共有的的常见问题,唯一正确答案是:不是没有网络调用。测量时间是你不能普遍采用的。时区,不同的用户时钟,夏令时,所有这些东西将发生。或者使用System.elapsedRealTime()
以及类似引导监听程序或询问服务器时间是什么(这实际上是一个不好的的想法,因为它可以)失败b)可怕的慢c)花费用户的钱和d)浪费电池。 您可以做的另一件事是在特定的时间每天自动同步(如凌晨4点)。这对用户更改时间或DST没有帮助,但在99%的情况下都能正常工作。用户通常不会改变他们的时间:)
+0
是的,我想最糟糕的情况是,如果用户决定篡改日期,应用程序将最多等待另外24小时,然后再次同步。感谢您的建议。 – 2013-04-21 00:01:47
+0
标记为已解决吗? – meredrica 2013-10-13 10:58:34
相关问题
- 1. Android Widget可视性策略
- 2. 什么是最可靠的android时钟使用?
- 3. 可靠的遗忘卡夫卡生产者实施策略
- 4. Android StrictMode策略
- 5. Android的定位策略
- 6. 关于横切关注的好策略
- 7. 好的模型设计策略
- 8. 具有不可靠网络和低带宽的Java ORM的策略
- 9. 缓慢和不可靠的服务的客户端Web服务缓存策略
- 10. 在Android上处理异步回调有什么好策略?
- 11. 确定Android手机CPU时钟频率的最可靠方法是什么?
- 12. 当CPU频率可变时,基于时钟的时序是否可靠?
- 13. 什么是符号可能有空间的好策略?
- 14. 策略在一段时间
- 15. android logback不会在基于时间的策略上滚动
- 16. 可靠的Android设备
- 17. Android Wifi监听器策略
- 18. Android MapView POI缓存策略
- 19. Android服务连接策略
- 20. Android堆分段策略?
- 21. Android闹钟时钟
- 22. 策略在Windows
- 23. 最好的策略风格相同的HTML时,它出现在多个页面
- 24. Android的布局命名策略
- 25. 可配置软件的分支策略
- 26. 如何在C#中设置组策略的密码策略
- 27. 我可以依靠iOS设备时钟正确吗?
- 28. 何时何地最好初始化可靠的集合?
- 29. 的部署策略
- 30. Omniauth的TripIt策略
如果用户改变他们的设备时钟并导致早期(或晚期)同步,世界会爆炸吗? – 2013-04-20 21:13:25
总而言之,否:用户将始终能够更改时钟。您唯一真正的追求是在自上次签入后超过24小时的时间内提出请求并在* server *端进行检查。 – 2013-04-20 21:17:23
@MarcB我正在考虑其他应用程序方面的这个问题,也许有必要得到自同步以来的确切时间,这将是非常困难的。 – 2013-04-21 09:17:10