我已经设法读取了web服务,以获取任何给定城市的当前时间。我可以从web服务中获得两个重要的值,当前时间(String)和偏移量。
问题是如何正确设置任何给定城市的时间?
选项1:
- 读取机器/当地时间
- 计算机器时间外的UTC/GMT时间
- 城市时间=UTC时间+/-偏移值
- 但当机器时间不对时会发生什么呢?您还将获得时间不对对吗
选项2:
- 字符串读取当前城市时间(2012-11-2419:30)
- 分析此时间值并将其设置为日历
- 我们得到了正确的城市时间
- 但下一分钟怎么样?当然,每分钟请求web服务以获取当前时间不是一个好的解决方案,对吧?一旦我们设置了这个日历实例,它是否可以保持每分钟自动运行一次
NB:我正在这里开发Android时钟小部件。
感谢
在我看来,选项1要好得多。由于时间同步是GSM和CDMA不可或缺的一部分,大多数手机的时间都非常准确。除此之外,我更喜欢离线工作的时钟,而不是需要互联网连接。
如果您担心在系统时间不正确的情况下确保准确性,请考虑致电web服务以获取当前验证时间。
这种验证可以在后台进行,但请记住,web服务不是最佳的时间同步提供商。我会让任何小于5分钟的差异消失,因为这可能是由于你的服务器不同步或通话时间过长。