多传感器 Android 记录

Multi-Sensor Android Logging

我是 Android 的新手,我尝试做一个简单的应用程序,可以将加速度计、陀螺仪和 GPS 记录到单个 csv 文件(背景)中,以便稍后分析数据。在 google 中进行了一些挖掘之后,我得到的所有信息都有些陈旧,有些并没有真正发挥作用。

所以,问题是:

  1. 如果我像这样 UI 线程中完成所有任务 ,我想知道每个传感器记录之间是否有延迟?因为我希望所有传感器 运行 同时以相同的采样率。

  2. 到目前为止,我注意到有两种方法可以实现这一点:使用多线程或服务。但是,(如果我错了请纠正我)该服务也在 UI 线程上 运行ning,这意味着如果我以服务方式执行此操作,日志记录过程也会 运行 在一个单线程,这可能会导致每个传感器之间的记录过程出现一些延迟?

如果有更好的方法来完成此操作或任何好的示例,请随时将它们放在这里谢谢! :)

根据我的经验我会尽量回答你的问题

  1. 是的,不同的传感器读数之间存在时间差异,在这种情况下,您有 2 个选择

    a - 你也可以在你的 cvs 文件上加上时间戳(你可以通过 event.timestamp 得到它)

    b - 您可以获得具有静态频率而不是 SensorManager.SENSOR_DELAY_GAME 的传感器读数(您可以在此处以毫秒为单位给出时间,例如,如果您写 10 而不是 SensorManager.SENSOR_DELAY_GAME,您的设备将获得传感器每 10 毫秒读取一次 (100Hz))

  2. 我也用它作为服务,没有任何延迟

另外我想补充一件小事,如果你想在短时间内获取数据,你总是可以使用 System.out.println() 并且它比写入文件更快