AndroidSensor系统涉及了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的主要的接口如下所示:

publicclassSensorManagerextendsIRotationWatcher.Stub

{

publicSensorgetDefaultSensor(inttype){//获得默认的传感器}

publicList<Sensor>getSensorList(inttype){//获得传感器列表}

publicbooleanregisterListener(SensorEventListenerlistener,

Sensorsensor,intrate,Handlerhandler){//注册传感器的监听者}

voidunregisterListener(SensorEventListenerlistener,Sensorsensor)

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

}

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

publicclassSensor{

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

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

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

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

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

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

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

}

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

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

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

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

publicinterfaceSensorEventListener{

publicvoidonSensorChanged(SensorEventevent);

publicvoidonAccuracyChanged(Sensorsensor,intaccuracy);

}

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

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

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

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



更多相关文章

  1. Android下监听Home键
  2. android 获取手机通讯录信息
  3. android语音识别之科大讯飞语音API的使用
  4. android 访问SD卡
  5. 监听Android应用程序是否卸载成功
  6. 2011.08.31——— android 监听网络变化
  7. 2011.08.31——— android 监听网络变化
  8. Android控件之CheckBox(复选框控件)
  9. Android(安卓)SeekBar的使用

随机推荐

  1. 解读Android LOG机制的实现:(6)c/c++域使用L
  2. Android(安卓)加载图片占用内存分析
  3. 解读Android LOG机制的实现:(2)JAVA域输出LO
  4. Android以太网框架情景分析之NetworkFact
  5. Android自动化测试学习之robotium笔记
  6. 如何通过PC端连接Android设备进行adb调试
  7. 【一个android小应用的诞生全过程】【7.2
  8. Kotlin学习笔记(一)---从零学习Kotlin
  9. Android分享文件到微信和QQ功能的实现(兼
  10. Android应用程序如何避免内存泄漏以及如