我在这两个源代码中找到了两个例子,但sensorEvent.java说:“当设备平放在桌子上并向右推时,x加速值为正。”sensorListener.java说:“当设备向左向右推动时,x加速度为负(设备向左推动时会施加反作用力)”。您可以向上滚动查看坐标系的定义,您可以发现它们是相同的。所以我很困惑。
当然,我做了一个实验,将我的手机从左侧推向右侧,我看到x轴正在上升。
那么,是示例中的错误还是我遗漏了什么?
这里是sensorEvent.java和sensorListener.java
发布于 2011-11-13 06:21:58
据我所知,SensorEvent中的陈述是正确的-通过您自己的实验来说明。SensorListener已经被弃用了很长一段时间(至少两年--它已经被SensorEventListener取代了),所以您应该假设未被弃用的语句是正确的。
我的猜测是,在Android的早期,加速值通常是镜像的,因为这两个类中提到的其他示例之间的差异与您所困惑的类似:
当前(在SensorEvent中):
当设备平放在桌子上时,加速度值为+9.81,这相当于设备的加速度(0 m/s^2)减去重力(-9.81 m/s^2)。
已弃用(在SensorListener中):
当设备平放在桌子上时,加速度值为-STANDARD_GRAVITY,它对应于设备在重力作用下施加在桌子上的力。
-STANDARD_GRAVITY解析为-(9.80665) = -9.80665,与SensorEvent中声明的正值完全相反。
https://stackoverflow.com/questions/8102266
复制相似问题