12_Android的传感器系统.pdf
《12_Android的传感器系统.pdf》由会员分享,可在线阅读,更多相关《12_Android的传感器系统.pdf(21页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 Android 的传感器系统 第一部分 传感器系统综述第二部分 传感器系统层次结构第三部分 传感器系统的硬件抽象层第四部分 传感器系统的使用Android 的传感器系统 第一部分 传感器系统综述 传感器(Sensor)系统可以让智能手机的功能更加丰富多彩,在 Android 系统中支持多种传感器。Android 的 Sensor 系统涉及了 Android 的各个层次。Android 系统支持多种传感器,有的传感器已经在 Android 的框架中使用,大多数传感器由应用程序来使用。第一部分 传感器系统综述8SENSOR_TYPE_PROXIMITYTYPE_PROXIMITY接近7SENSO
2、R_TYPE_TEMPERATURETYPE_TEMPERATURE温度6SENSOR_TYPE_PRESSURE TYPE_PRESSURE压力5SENSOR_TYPE_LIGHT TYPE_LIGHT光线(亮度)4SENSOR_TYPE_GYROSCOPETYPE_GYROSCOPE陀螺3SENSOR_TYPE_ORIENTATIONTYPE_ORIENTATION方向2SENSOR_TYPE_MAGNETIC_FIELDTYPE_MAGNETIC_FIELD磁力域1SENSOR_TYPE_ACCELEROMETERTYPE_ACCELEROMETER加速度数值本地接口名称JAVA 中的名
3、称传感器 第一部分 传感器系统综述Sensors Hardware ModuleSensor DriverSensor Hardware InterfaceKernel SpaceNative FrameworkSensor JNI(android.hardware.SensorManager)Java FrameworkSensor DriverSensorManagerJAVA Sensor ClassSensorSensorEventSensorListenerSensorEventListener 第一部分 传感器系统综述 Sensor 系统的代码分布情况如下所示:1 Sensor 的
4、 JAVA 部分代码路径:frameworks/base/include/core/jave/android/hardware主要的代码为 Sensor*.java 2 Sensor 的 JNI 部分代码路径:frameworks/base/core/jniandroid_hardware_SensorManager.cpp3 Sensor 硬件层实现的接口头文件路径:hardware/libhardware/include/hardware/sensors.h 第二部分 Sensor 系统层次结构 Android 的传感器系统从驱动程序层次到上层都有所涉及,传感器系统自下而上涉及到的各个层次
5、为:各种 Sensor 的内核中的驱动程序 Sensor 的硬件抽象层(硬件模块)Sensor 系统的 JNI Sensor 的 JAVA 类 JAVA 框架中对 Sensor 的使用 JAVA 应用程序对 Sensor 的使用 第二部分 Sensor 系统层次结构 Sensor 系统的 JNI 部分的函数列表:static JNINativeMethod gMethods=nativeClassInit,()V,(void*)nativeClassInit,sensors_module_init,()I,(void*)sensors_module_init,sensors_module_ge
6、t_next_sensor,(Landroid/hardware/Sensor;I)I,(void*)sensors_module_get_next_sensor,sensors_data_init,()I,(void*)sensors_data_init,sensors_data_uninit,()I,(void*)sensors_data_uninit,sensors_data_open,(Ljava/io/FileDescriptor;)I,(void*)sensors_data_open,sensors_data_close,()I,(void*)sensors_data_close,
7、sensors_data_poll,(FIJ)I,(void*)sensors_data_poll,;第二部分 传感器系统层次结构Sensor 模块的初始化函数 sensors_module_init():static jintsensors_module_init(JNIEnv*env,jclass clazz)int err=0;sensors_module_t const*module;err=hw_get_module(SENSORS_HARDWARE_MODULE_ID,/打开 Sensor 的硬件模块 (const hw_module_t*)&module);if(err=0)sS
8、ensorModule=(sensors_module_t*)module;return err;第二部分 传感器系统层次结构 传感器系统的 JAVA 部分包含了以下几个文件:SensorManager.java:实现传感器系统核心的管理类 SensorManager Sensor.java:单一传感器的描述性文件 Sensor SensorEvent.java:表示传感器系统的事件类 SensorEvent SensorEventListener.java:传感器事件的监听者 SensorEventListener 接口 SensorListener.java:传感器的监听者 SensorL
9、istener 接口(不推荐使用)第二部分 传感器系统层次结构SensorManager 的主要的接口如下所示:public class SensorManager extends IRotationWatcher.Stub public Sensor getDefaultSensor(int type)/获得默认的传感器 public List getSensorList(int type)/获得传感器列表 public boolean registerListener(SensorEventListener listener,Sensor sensor,int rate,Handler h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 12 _Android 传感器 系统
限制150内