2011-06-18 121 views
0

我正在研究黑莓应用程序,其中我需要在设备移动时检索角度差异。这意味着运动开始和结束时的角度差异。调用某个函数必须是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个轴的加速度计数据,设备的水平角度是多少。