zoukankan      html  css  js  c++  java
  • 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



  • 相关阅读:
    JAVA_SE基础——59.权限访问修饰符
    JAVA_SE基础——58.如何用jar命令对java工程进行打包
    JAVA_SE基础——57.有了包之后类与类之间的访问使用import语句
    JAVA_SE基础——56.包的创建
    JAVA_SE基础——55.自定义异常类
    JAVA_SE基础——54.异常
    JAVA_SE基础——53.什么是异常?
    Spring整合Mybatis
    Mybatis的ResultMap结果集映射、日志、分页
    Java中的值传递机制
  • 原文地址:https://www.cnblogs.com/wuyida/p/6300624.html
Copyright © 2011-2022 走看看