Android传感器---Motion Sensor

Android传感器---Motion Sensor

ID:37708229

大小:41.65 KB

页数:7页

时间:2019-05-29

Android传感器---Motion Sensor_第1页
Android传感器---Motion Sensor_第2页
Android传感器---Motion Sensor_第3页
Android传感器---Motion Sensor_第4页
Android传感器---Motion Sensor_第5页
资源描述:

《Android传感器---Motion Sensor》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、本文译自:http://developer.android.com/guide/topics/sensors/sensors_motion.htmlAndroid平台提供了几个能够监视设备移动的传感器。其中的两个是基于硬件的(加速度传感器和陀螺仪),有三个传感器既可以是基于硬件的,也可以是基于软件的(重力传感器、线性加速度传感器和旋转矢量传感器)。例如,在某些基于软件传感器的设备上会从加速度传感器和磁力仪中提取它们的数据,但是在其他的设备上,它们也可以使用陀螺仪来提取数据。大多数Android设备都有加速度传感器和陀螺仪。基于软件的

2、传感器的有效性是可变的,因为它们要依赖一个或多个硬件传感器来提取对应的数据。运动传感器用于监视设备的移动,如:倾斜、振动、旋转或摆动。移动通常是直接的用户输入的反映(如,用户在游戏中操作汽车或控制一个球),但也能够是设备所处的物理环境的反映(如,驾驶汽车时的位置移动)。在第一种场景中,你要相对于设备的参照系或应用程序的参照系来监视设备的移动,在第二种场景中,你要相对于全球参照系来监视设备的移动。通常,移动传感器本身并不用于监视设备的位置,但它们能够跟其他传感器一起来使用,例如跟地磁传感器一起来判断设备相对于全球参照系统的的位置(更多

3、信息,请看位置传感器)。所有的移动传感器的每个SensorEvent都会返回传感器值的多维数组。例如,一个加速度传感器的传感器事件会返回三个坐标轴方向的加速度力,陀螺仪会返回三个坐标轴方向旋转速率。这些数据是以float数组的形式跟SensorEvent参数一起被返回的。表1概要介绍了Android平台上可用的移动传感器。表1.Android平台所支持的移动传感器传感器传感器数据描述测量单位TYPE_ACCELEROMETERSensorEvent.values[0]X轴方向的加速力(包括重力)m/s2SensorEvent.val

4、ues[1]Y轴方向的加速力(包括重力)SensorEvent.values[2]Z轴方向的加速力(包括重力)TYPE_GRAVITYSensorEvent.values[0]X轴方向的重力m/s2SensorEvent.values[1]Y轴方向的重力SensorEvent.values[2]Z轴方向的重力TYPE_GYROSCOPESensorEvent.values[0]绕着X轴的旋转率rad/sSensorEvent.values[1]绕着Y轴的旋转率SensorEvent.values[2]绕着Z轴的旋转率TYPE_LIN

5、EAR_ACCELERATIONSensorEvent.values[0]X轴方向的加速力(不含重力m/s2SensorEvent.values[1]Y轴方向的加速力(不含重力SensorEvent.values[2]Z轴方向的加速力(不含重力TYPE_ROTATION_VECTORSensorEvent.values[0]沿着X轴的旋转矢量(xsin(θ/2)).无单位SensorEvent.values[1]沿着Y轴的旋转矢量(ysin(θ/2)).SensorEvent.values[2]沿着Z轴的旋转矢量(zsin(θ/2)

6、).SensorEvent.values[3]旋转矢量的标量部分((cos(θ/2)).11标量部分是一个可选值。对于移动检测和监视,旋转矢量传感器和重力传感器是使用频率最高的传感器。旋转矢量传感器尤其灵活,可广泛的应用于移动相关的任务,如,检测手势、监视角度变化、监视相对的方向变化等。例如:如果你正在开发一款使用2维或3维罗盘来增强现实感游戏,或增强相机的稳定性的应用程序,那么旋转矢量传感器是非常理想的选择。在大多场景中,使用这些传感器比使用加速度传感器和地磁传感器或方向传感器要好。Android开源项目的传感器Android开源

7、项目(AOSP)提供了三个基于软件的移动传感器:重力传感器、线性加速度传感器和旋转矢量传感器。这三个传感器在Android4.0中被更新,并且都使用陀螺仪(其它传感器除外)来改善稳定性和性能。如果你想尝试这些传感器,可以通过使用getVendor()方法和getVersion()方法来识别它们(供应商是:GoogleInc;版本号是:3)。通过供应商和版本号来识别这些传感器是必须的,因为Android系统认为这些传感器是第二传感器。例如,如果设备制造商提供了他们自己的重力传感器,那么AOSP的重力传感器会作为第二重力传感器。这三个传

8、感器都依赖陀螺仪:如果设备上没有陀螺仪,这些传感器不会显示,并不可使用。使用加速度传感器加速度传感器测量作用于设备的加速度,包括重力作用。下列代码显示了如何获得默认的加速度传感器的一个实例:privateSensorManagermS

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。