Android_传感器综述

Android Sensor 系统涉及了Android 的各个层次。Android 系统支持多种传感器,有的传感器已经在Android 的框架中使用,大多数传感器由应用程序来使用。

传感器

JAVA  中的名称

本地接口名称

数值

加速度

TYPE_ACCELEROMETER

SENSOR_TYPE_ACCELEROMETER

1

磁力域

TYPE_MAGNETIC_FIELD

SENSOR_TYPE_MAGNETIC_FIELD

2

方向

TYPE_ORIENTATION

SENSOR_TYPE_ORIENTATION

3

陀螺

TYPE_GYROSCOPE

SENSOR_TYPE_GYROSCOPE

4

光线(亮度)

TYPE_LIGHT

SENSOR_TYPE_LIGHT

5

压力

TYPE_PRESSURE

SENSOR_TYPE_PRESSURE

6

温度

TYPE_TEMPERATURE

SENSOR_TYPE_TEMPERATURE

7

距离

TYPE_PROXIMITY

SENSOR_TYPE_PROXIMITY

8


传感器系统的JAVA 部分包含了以下几个文件:

SensorManager.java 

       实现传感器系统核心的管理类SensorManager

Sensor.java 

        单一传感器的描述性文件Sensor

SensorEvent.java 

       表示传感器系统的事件类SensorEvent

SensorEventListener.java 

       传感器事件的监听者SensorEventListener 接口

SensorListener.java 

        传感器的监听者SensorListener 接口(不推荐使用)

SensorManager  的主要的接口如下所示 :

public class SensorManager extends IRotationWatcher.Stub

{

    public Sensor getDefaultSensor (int type) {//    获得默认的传感器 }

    public List<Sensor> getSensorList (int type) { //   获得传感器列表 }

    public boolean registerListener (SensorEventListener listener, 

        Sensor sensor, int rate, Handler handler) { //   注册传感器的监听者 }

    void  unregisterListener(SensorEventListener listener, Sensor sensor)  

                                 { //  注销传感器的监听者}

}

Sensor 的主要的接口如下所示 :

public class Sensor { 

    float  getMaximumRange()  { //   获得传感器最大的范围 }

    String  getName()   { //   获得传感器的名称 }

    float  getPower()   {/ /   获得传感器的耗能 }

    float  getResolution()   { //   获得传感器的解析度 }

    int  getType()   { //   获得传感器的类型 }

    String  getVendor()   { //  获得传感器的Vendor }

    int  getVersion()   { //   获得传感器的版本 }

}

     Sensor 类的初始化在SensorManager  JNI 代码中实现,在SensorManager.java 维护了一个Sensor 的列表。

SensorEvent 类比较简单,实际上是Sensor 类加上

了数值(values ),精度(accuracy ),时间戳timestamp )等内容。

SensorEventListener 接口描述了SensorEvent 的监听者内容如下所示:

public interface SensorEventListener {

    public void onSensorChanged(SensorEvent event);

    public void onAccuracyChanged(Sensor sensor, int accuracy);

}

同时在eoe上看到一篇不错的文章:

http://www.eoeandroid.com/forum.php?mod=viewthread&tid=181058

一个简单的Demo下载,无需积分

http://download.csdn.net/detail/zqiang_55/4699641



原文地址:https://www.cnblogs.com/wuyida/p/6300624.html