• Android Sensors (1) 传感器概览


    Android传感器概览

    Android平台支持三大类传感器:

      1.运动传感器

      这类传感器测量沿着三个轴向的加速度和角加速度(旋转力),这类传感器包括加速度计、重力传感器、陀螺仪、旋转向量传感器。

      2.环境传感器

      这类传感器测量各种环境参数,如环境空气温度、气压、照明、潮湿度等。此类别包括气压计,光度计,温度计。

      3.位置传感器

      位置传感器测量设备的物理位置,包括方向传感器和磁力计。

     

      也可以把传感器分为基于硬件的(Hardware-based)基于软件的(Software-based);其中前者是设备上的物理组件,后者不是物理装置。

      基于软件的传感器从一个或多个硬件传感器中获取数据,然后模拟传感器的行为,所以有时候又把它们称为虚拟传感器人工合成的传感器(virtual sensors or synthetic sensors)。

      比如直线加速度传感器和重力传感器就是基于软件的传感器的例子:

      http://developer.android.com/guide/topics/sensors/sensors_overview.html

      上述链接中的表1罗列了Android平台所支持的传感器。

     

    Sensor framework

      使用Android的sensor framework,你可以访问设备上可用的传感器,获取传感器原始数据。

      比如,你可以用sensor framework做这些事:

      1.查看设备上可用的传感器。

      2.查看某一个传感器的性能,比如它的量程、分辨率、能量要求等。

      3.获取测量数据,并且设置刷新频率。

      4.注册和注销传感器事件监听器。

      Sensor framework是android.hardware这个包的一部分,包含下面一些重要的类:

      SensorManager

      创建sensor service的实例,即创建一个SensorManager 类的对象。(调用 Context.getSystemService() 并且传入参数SENSOR_SERVICE),这个类包含了各种方法,获取设备上的传感器,注册和注销传感器事件监听等。这个类也提供了一些传感器常量,用于报告传感器的精度、设置数据获取频率和校正传感器等。

      Sensor

      这个类用于创建一个特定传感器的实例。

      这个类提供了各种方法,让你获取传感器的性能参数。

      SensorEvent

      系统用这个类去创建传感器事件对象,用于提供一个传感器事件的信息。

      一个传感器事件对象包含下列信息:原始传感器数据,传感器的类型,数据的准确性,事件的时间戳。

      SensorEventListener

      你可以利用这个接口创建两个回调函数:一个是精度改变时收到通知onAccuracyChanged();另一个是传感器的值改变时收到通知onSensorChanged()

     

    典型应用

      在一个典型的应用中,你用这些传感器相关的API主要做两项基本的工作:

      1.识别传感器和传感器能力

      如果你的应用有一些特性要依赖特定的传感器类型或性能,在运行时识别传感器和其性能是很有用的。

      比如,你可以查看设备上所有的传感器,如果一些特性需要的传感器不存在,则关闭这些特性。

      类似的,也可以在特定类型的传感器(可能有多个)中选择一种实现,让它在你的应用中发挥最好的性能。

      2.监听传感器事件

      监听传感器事件是你获取传感器数据的方法。

      当传感器所测量的参数变化时就发生一次传感器事件。

      如上文所述,一个传感器事件对象包含下列信息:传感器数据,传感器的类型(触发这个事件的传感器名),数据的准确性,事件的时间戳。

    参考资料

      API Guides:Sensors Overview

      http://developer.android.com/guide/topics/sensors/sensors_overview.html

  • 相关阅读:
    sql ''增删改'' 笔记
    表单
    html基础
    第一本书的总结
    带参
    字符串
    zookeeper入门与实践
    node中间层转发请求
    npm脚本传参问题
    docker入门笔记
  • 原文地址:https://www.cnblogs.com/mengdd/p/2954930.html
Copyright © 2020-2023  润新知