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的主要的接口如下所示:
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类的初始化在SensorManager的JNI代码中实现,在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
更多相关文章
- Android 图形系统SurfaceFlinger
- android SDK系统图片资源的路径。
- Android OpenGL ES学习笔记之实现OpenGL ES接口
- Android 调用系统的拍相程序进行录像
- android答题系统(二):实现主界面入口和查询数据
- Android 系统 图标的使用
- 深入解读Linux与Android的相互关系& Android消息处理系统的原理
- 《Android和PHP开发最佳实践》一2.2 Android系统框架
- Day1.1-Android简介之发展史、操作系统、系统框架介绍