我正在开发一个Blackberry应用程序,我需要在设备移动时检索角度差异。它表示运动开始和结束时的角度差。调用某些功能必须是25度。
简单来说,当设备移动25度时调用一个函数。
答案 0 :(得分:1)
请阅读AccelerometerSensor docs,它在API 4.7.0及更高版本中提供。您可以检索的所有数据都在类AccelerometerData中描述,它是方向和加速度(重力数据)。
更详细地描述了如何从JavaME docs, "Mobile Sensor API" section中获取重力传感器数据的角度:
如果手机放平,加速度计会告诉我们沿z轴(上下)的加速度大约为1000(此值代表1G)。沿着X和Y轴(侧面)的加速度将是大约0,因为手机静止不动并且重力仅向下工作。在屏幕朝下的情况下翻转手机,加速度计会在Z轴上给出-1000的值。站在它的一边,沿X轴或Y轴给我们一个1000或-1000的值,取决于你把它放在哪一侧。将手机沿X轴倾斜45度会使我们在Z轴上的值为±707,在Y轴上的值为±707,因为重力不会影响任一轴的全力(你可以使用正弦和余弦函数轻松计算每个轴的特定角度的值。使用来自加速度计的X和Y轴的值,我们可以随时确定手机的位置,然后使用该值移动我们的船以避免传入的小行星。
因此,对于所有3个轴都有加速度计数据,我们可以弄清楚设备的水平角度是什么。