因此,我需要制作一个简单但可靠的秒表,1 ms精度的用于安卓设备(变压器平板电脑)。我对android一点经验都没有。在搜索之后,我没有发现任何关于在这个特定上下文中我可以获得的最大精度的细节(下面将描述)。也许这里有人能给我我需要的信息。由于秒表将用于时间反应和诊断,1毫秒是我们需要的准确性。
秒表应该做的事情非常简单:
我甚至不需要显示邮票或经过的时间并刷新显示。除了操作系统应用程序,没有其他应用程序将运行。
理论上,System.nanoTime()或时间戳就能做到这一点。但我不确定这是否会给我1毫秒的准确性,我需要。他们能给我我想要的准确性吗?简短的解释将是有益的。还有其他的方法吗?,如果有人是安卓的开发人员,这些信息将是非常感谢的。
谢谢,
UPDATE:用户南诺也对安卓操作系统的局限性提出了一个有效的观点,因此在“只使用平板电脑”的情况下,1ms的精确秒表是不可能的,朱利安的进一步回答描述了一个有趣且相对廉价的解决方案,可以使用Android (外部硬件)来实现这一目标。
发布于 2012-05-11 07:16:45
一个<1ms精确的android秒表解决方案可以使用这样的方法来工作:
http://developer.android.com/guide/topics/usb/adk.html
将按钮连接到板上,并在远程处理器(AVR,使用arduino工具编程)中设置计时代码。对于嵌入式初学者来说非常容易),然后android平板电脑和USB上的开放附件开发工具包进行通信,在平板电脑上显示结果。
当然,如果您希望人们能够从google play下载到全世界的设备上,这个解决方案就不会那么有用……但看到你提到一个特定的设备,也许你只是想为自己做这个项目?
在这种情况下,它是可行的,只是一个非常迂回的方式。
发布于 2012-05-11 06:45:11
使用您当前的设置,我怀疑您是否能够获得这种准确性,仅仅是因为不准确的users push a key or the screen。
在您成功地按下屏幕、捕捉到事件并调用该函数之前,您的准确性将被关闭。特别是当你想到nanoTime时,界面在你的测量中添加了一个随机因素,我不相信它。
Android不是用来运行实时程序的,即使你没有在后台运行其他程序,系统也准备好了。它可以在后台播放意图或做其他意想不到的事情。当然,您的界面确实有优先权,但是您所暗示的精确性呢?我不这样认为。
发布于 2012-05-11 06:15:36
为什么不使用System.currentTimeMillis,您可以找到一个这里的例子,停止手表写成具有毫秒的准确性。
https://stackoverflow.com/questions/10546139
复制相似问题