博客首页:✎﹏ℳ๓敬坤的博客
我只是一个代码的搬运工
欢迎来访的读者关注、点赞和收藏
有问题可以私信交流
文章标题:《Android入门到精通》第十八章学习笔记总结
- 传感器是一种微型的物理设备,能够探测、感受到外界信号,并按一定规律转换成我们需要的信息
- Android系统中的传感器可用于监视设备的移动、位置以及周围环境的变化
- 重力传感器(Sensor.TYPE_GRAVITY):返回一个三维向量,这三维向量可显示重力的方向和强度,单位为m/s²
- 加速度传感器(Sensor.TYPE_ACCELEROMETER):用于获取Android设备在X,Y,Z三个方向上的加速度,单位为m/s²
- 线性加速度传感器(Sensor.TYPE_LINEAR_ACCELEROMETER):用于获取Android设备在X,Y,Z三个方向上不包括重力的加速度,单位为m/s²。加速度传感器,重力传感器和线性加速度传感器这三者输出的计算公式如下:加速度=重力+线性加速度
- 陀螺仪传感器(Sensor.TYPE_GYROSCOPE):用于获取Android设备在X,Y,Z这三个方向上的旋转速度,单位是弧度/秒。该值为正时代表逆时针旋转,该值为负时代表顺时针旋转
- 光线传感器(Sensor.TYPE_LIGHT):用于获取Android设备所处外界环境的光纤强度,单位是勒克斯(Lux简称lx)
- 磁场传感器(Sensor.TYPE_MAGNETIC_FIELD):用于获取Android设备在X,Y,Z三个方向上的磁场数据,单位是微特斯拉(µT)
- 方向传感器(Sensor.TYPE)ORIENTATION):返回三个角度,这三个角度可以确定设备的摆放状态
- 压力传感器(Sensor.TYPE_PRESSURE):用于Android设备所处环境的压力的大小,单位为毫巴(millibars)
- 距离传感器(Sensor.TYPE_PROXIMITY):用于检测物体与Android设备的距离,单位是厘米,一些距离传感器只能返回“远”和“近”两个状态,远代表传感器的最大工作范围,而近是指比该范围小的任何值
- 温度传感器(Sensor.TYPE_AMBIENT_TEMPERATURE):用于获取Android设备所处环境的温度,单位是摄氏度。这个传感器实在Android4.0中引入的
- 相对湿度传感器(Sensor.TYPE_PELATIVE_HUMIDITY):用于获取Android设备所处环境的相对湿度,以百分比的形式表示。
- 旋转矢量传感器(Sensor.TYPE_ROTAION_VECTOR):返回设备的方向,它表示为X,Y,Z三个轴的角度的组合,是一个将坐标轴和角度混合计算得到的数据
- 调用Context的getSystemService(Context.SENSOR_SERVICE)方法来获取SensorManager对象。SensorManager是所有传感器的一个总和管理类
SensorManaget sensorManager = (SensorManager)getSystemService(Context.SENSOR_SERVICE)
- 调用SensorManager的getDefahltSensor(int type)方法来获取指定类型的传感器
Sensor defaultPressure = sensorManager.getDefaultSensor(Sensor.TYPE_PRESSURE)
- 在Activity的onResume()方法中调用SensorManager的registerListener()方法为指定传感器注册监听器。程序通过实现监听器即可获取传感器传回来的数据
sensorManager.registerListener(SensorEventListener listener, Sensor sensor, int rate)
- listener:监听传感器时间的监听器。该监听器需要实现SensorEventListener接口
- sensor:传感器对象
- rate:指定获取传感器数据的频率
- SensorManager.SENSOR_DELAY_FASTEST:尽可能快的获得传感器数据,延迟最小
- SensorManager.SENSOR_DELAY_GAME:适合游戏的频率
- SensorManager.SENSOR_DELAY_NORMAL:正常频率
- SensorManager.SENSOR_DELAY_UI:适合普通用户界面的频率,延迟较大
简称为M-sensor,主要用于读取ANdroid设备外的磁场强度
用于检测设备加速度的传感器
简称为O-sersor,用于感应Android设备的摆放状态