如何在Android Wear上使用加速计来记录划船行程

时间:2016-03-06 19:46:20

标签: android accelerometer wear-os

我的目标是在我的Android手表(Sony Smartwatch)上显示一个简单的笔画速率检测器,为此,我需要检测手表何时从向前移动到向后移动。

我有代码工作,它将获得在onSensorChanged事件中检测到的事件值(x,y,z)(并在手表上显示它们),但我很难理解这些。

我理解值报告给定轴的加速度,我知道z报告重力。但如果这些值仅报告加速度,我不清楚如何知道何时改变方向。我假设正数表示加速度,0表示恒定速度,负数表示减速...这是正确的吗?如果是这样,我怎样才能发现Watch何时改变方向从前进到后退?

提前致谢。

1 个答案:

答案 0 :(得分:0)

Android Wear与"传统"没有区别。 Android在检测动作方面。基本上,您需要准确考虑加速度计记录的内容:原始加速度(噪声很多)。要确定 motion ,您需要查看一段时间内的趋势,并可能整合平滑的加速度计数据。这不是一件轻而易举的事。

您可能希望使用TYPE_LINEAR_ACCELERATION sensor,因为它会过滤掉重力(与您的使用案例无关)。并且因为手表在划船行程中可能会经历一些旋转(您想要分解),您可能需要将TYPE_ROTATION_VECTOR与加速度矢量相结合以准确确定方向变化。

其他几个问题可能会帮助您指明正确的方向:

我当然没有尝试过这个特定的问题,但是我已经做了足够的Android动作传感器工作,知道你面前有一个很好的编程挑战。享受吧!