Android时间记录器,具有毫秒精度和误差估计

时间:2014-09-15 11:29:33

标签: android timestamp ntp

简短的可跳过的介绍:

我在距离我住的地方几公里的康复医院工作。医院支付公交服务,在某些固定地点挑选员工。有这个公共汽车司机,在7点接我们。这家伙是FREAKISHLY PUNCTUAL。我的意思是,这个家伙必须处于十分之二的顺序。当他打开公交车门时,时钟从6:59变为7:00。而且我正在考虑记录他30天的守时,并为他制作一个很好的Excel电子表格。错误传播和一切。他甚至可能会加薪,谁知道?

我将创建一个简单的应用程序以毫秒为单位节省时间,这似乎很容易,在Stackoverflow中有六个解决方案。

所以,问题是:

我点击了一个小部件上的按钮。它在ms中得到一个时间。它将其保存在文件(.txt,.csv,无论如何)

您如何估算NTP同步Android手机的平均错误?保存时间戳的最精确和最准确的方法是什么?

提前致谢

1 个答案:

答案 0 :(得分:1)

首先想到的是时间是相对的,在爱因斯坦的方式:)所以如果您的参考是与NTP同步的Android手机,那么驱动程序的时间参考是什么?如果同步或时间以某种方式下降,在您的手机上延迟并且您有一天他已经迟到的印象,实际上他正好相对于他的参考时间会怎么样?

但是为了解决问题,我认为你可以从假设他与你有相同的时间参考开始:网络中的某个地方。我不知道通过时间协议的Android同步的细节,但我知道我建立了一个所谓的Network Synchronization API。在你的情况下,我认为我的Java API可能会有所帮助。它试图请求自Unix纪元以来的毫秒数,然后读取响应。该功能是它为您提供了一个框架,您可以通过尝试丢弃网络延迟来估计与服务器相比的真实时间。

要记住一件事:上面的解决方案向我的网站(a.k.a. GoDaddy服务器)发出请求,这可能与Android手机同步的网络位置不同。随意更改请求位置。

要记住的第二件事:这个兔子洞深入:)没有测量可以是完美的。你可以尝试达到人类/合理的精确度,但它永远不会是完美的(例如还有其他未知数:如果你按下按钮就会出现Android CPU的延迟,或者如果你自己的反应需要几毫秒呢?你按下按钮的那一刻与门实际打开的那一刻不一样,我的印象是它们至少相距几毫米)