资讯详情

Android实战技巧之四十二:加速度传感器

传感器字面意思是传递感觉的仪器。什么感觉?

视觉、听觉、味觉、触觉、嗅觉等。

因此,有人说,传感器的存在和发展使物体有触觉、味觉和嗅觉,使物体慢慢活起来。

当前Android数十个传感器已集成在设备中,我们常见的有加速度传感器、陀螺仪、地磁传感器等。

虽然种类繁多,但在Framework传感器相关的功能只提供了几个类别和接口。让我们以加速度传感器为例,引导您进入Android传感器的世界。

x轴:从左到右

y轴:从下到上

z轴:从内到外

坐标系和Android 2D API传感器中的返回值以此坐标系为准。

sensor相关API被放到了android.hardware我们主要使用三类:Sensor、SensorEvent、SensorManager以及一个SensorEventListener接口。

SensorManager顺其自然,负责管理工作,负责注册监督Sensor的状态;Sensor的数据通过SensorEvent返回。

SensorManager提供getSensorList方法,传入TYPE_ALL,现有设备的所有传感器都可以获得。

提取不同传感器的共性后,由上述编码套路规定,一切都变得如此简单。

这里的加速度是指重力加速度,因此重力传感器的返回值与静止时的加速度传感器相同。

地表静态物体的重力加速度约为9.8 m/s^2.

借用SensorManager中的常量:

public static final float STANDARD_GRAVITY=9.80665F;

在三轴值的帮助下,我们可以确定设备的状态(请参考上述坐标图),例如:

1.当x轴值接近重力加速度时,表示设备左侧朝下。

2.当x轴值接近负g值时,说明设备右侧朝下。

3.当y轴值接近g值时,说明设备下部超下(与上图相同)。

4.当y轴值接近负g值时,说明设备上部朝下(倒置)。

5.当z轴值接近g值时,说明设备屏幕朝上。

6.当z轴值接近负g值时,表示设备屏幕朝下。

标签: 12g传感器二向高g值加速度传感器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台