mc-第5章 Android感应检测-Sensor_第1页
mc-第5章 Android感应检测-Sensor_第2页
mc-第5章 Android感应检测-Sensor_第3页
mc-第5章 Android感应检测-Sensor_第4页
mc-第5章 Android感应检测-Sensor_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第5章Android感应检测--Sensor在Android系统中,提供了对传感器的支持。传感器在我们的Android应用中起到了非常重要的作用,有时可以实现一些我们意想不到的功能,比如音乐键盘、火灾报警,甚至地震仪都可以。这一章节我们就来学习一些传感器的开发及应用。5.1Sensor简介在开发传感器应用之前,首先了解传感器的开发过程。要测试感应检测Sensor的功能,必须在装有Android系统的真机设备上进行。5.1.1Sensor种类Android中支持的Sensor种类如下表所列。感应检测说明TYPE_ACCELEROMETER加速度传感器TYPE_AMBIENT_TEMPERATURE温度传感器TYPE_GRAVITY重力传感器TYPE_GYROSCOPE回转仪传感器TYPE_LIGHT光传感器TYPE_LINEAR_ACCELERATION线性加速度传感器TYPE_MAGNETIC_FIELD磁场传感器TYPE_PRESSURE压力传感器TYPE_PROXIMITY接近传感器TYPE_RELATIVE_HUMIDITY相对湿度传感器TYPE_ROTATION_VECTOR旋转矢量传感器5.1.2Sensor开发传感器应用程序的开发分为以下几个步骤:(1)调用Context.getSystemService(SENSOR_SERVICE)方法获取传感器管理服务。(2)调用SensorManager的getDefaultSensor(inttype)方法,获取指定类型的传感器。(3)在Activity的onResume()中,调用SensorManager的registerListener(SensorEventListenerlistener,Sensorsensor,intrate)方法注册监听。(4)实现SensorEventListener接口中下列两个方法,监听并取得传感器Sensor的状态。publicabstractvoidonAccuracyChanged(Sensorsensor,intaccuracy)//监听传感器精度变化publicabstractvoidonSensorChanged(SensorEventevent)

//监听传感器值变化5.1.3Sensor真机测试由于我们以往使用的模拟器不支持传感器感应功能,所以本章示例都在真机进行测试(笔者使用的是支持Android4.0的手机)。5.1.4Sensor信息检测感应检测Sensor的硬件组件由不同的厂商提供。不同的Sensor设备组件,所检测的事件也不同。我们可以使用Sensor类的getXXX()方法,检测设备所支持的Sensor的相关信息。方法名称方法说明publicfloatgetMaximumRange()获取Sensor最大值publicint

getMinDelay()获取Sensor的最小延迟publicStringgetName()获取Sensor名称publicfloatgetPower()获取Sensor使用时所耗功率publicfloatgetResolution()获取Sensor的精度publicint

getType()获取Sensor类型publicStringgetVendor()获取Sensor供应商信息publicint

getVersion()获取Sensor版本号信息5.2常用系统传感器Android系统的一大亮点之一就是对传感器的应用,Android系统提供了10余种传感器,接下来我们选择几种常用的传感器来介绍其开发及应用过程。5.2.1方向传感器方向传感器(Orientation)简称为O-sensor,主要感应方位的变化。现在已经被SensorManager.getOrientation()所取代,我们可以通过磁力计MagneticField和加速度传感器Accelerometer来获得方位信息。该传感器同样捕获三个参数,分别代表手机沿传感器坐标系的X轴、Y轴和Z轴转过的角度。5.2.2磁场传感器磁力传感器(MagneticField)简称为M-sensor,该传感器主要读取的是磁场的变化,通过该传感器便可开发出指南针、罗盘等磁场应用。磁场传感器读取的数据同样是空间坐标系三个方向的磁场值,其数据单位为uT,即微特斯拉。接下来通过对之前方向传感器案例的更改,来完成磁场数据的读取。5.2.3重力传感器重力传感器(Gravity)简称GV-sensor,主要用于输出重力数据。在地球上,重力数值为9.8,单位是m/s^2。坐标系统与加速度传感器坐标系相同。当设备复位时,重力传感器的输出与加速度传感器相同。5.2.4加速度传感器加速度传感器(Accelerometer)简称G-sensor,主要用于感应设备的运动。该传感器捕获三个参数,分别表示空间坐标系中X、Y、Z轴方向上的加速度减去重力加速度在相应轴上的分量,其单位均为m/s2。5.2.5光传感器光传感器(Light),主要用来检测设备周围光线强度。光强单位是勒克斯(lux),其物理意义是照射到单位面积上的光通量。光传感器的开发与之前介绍过的各种传感器的开发步骤基本相同,只是监测的是SENSOR_LIGHT,即捕捉光的强度。5.3小结

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论