【问题标题】:Android time logger with millisecond precision and error estimation具有毫秒精度和误差估计的 Android 时间记录器
【发布时间】:2014-09-15 11:29:33
【问题描述】:

可跳过的简短介绍:

我在离我住的地方几公里的康复医院工作。医院支付公共汽车服务,在某些固定地点接员工。有这个巴士司机,在 7:00 接我们。这家伙非常准时。我的意思是,这家伙必须在十分之一二阶。时钟从 6:59 转到 7:00,正好在他打开公交车门的时候。我正在考虑记录他 30 天的守时情况,并为他制作一个漂亮的 Excel 电子表格。错误传播和一切。他甚至可能得到加薪,谁知道呢?

我将制作一个简单的应用程序以节省毫秒级的时间,这似乎很容易,Stackoverflow 中有六种解决方案。

所以,对于这个问题:

我点击了一个小部件上的按钮。它以毫秒为单位。它将其保存在文件中(.txt、.csv 等)

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

提前致谢

【问题讨论】:

  • 一个城镇的红灯是同步的,因此车辆相对准时。

标签: android timestamp ntp


【解决方案1】:

首先想到的是时间是相对的,以爱因斯坦的方式 :) 如果您的参考是与 NTP 同步的 Android 手机,那么驱动程序的时间参考是多少?如果同步或计时不知何故失灵,在您的手机上出现延迟,并且您觉得他迟到了一天,而事实上他相对于他的参考准确地准时?

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多