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下监听Home键
- android 获取手机通讯录信息
- android语音识别之科大讯飞语音API的使用
- android 访问SD卡
- 监听Android应用程序是否卸载成功
- 2011.08.31——— android 监听网络变化
- 2011.08.31——— android 监听网络变化
- Android控件之CheckBox(复选框控件)
- Android(安卓)SeekBar的使用