




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 福建南平2024~2025学年高一下册期末数学试题学生卷
- 福建福州第十五中学2024~2025学年高一下册期末考试数学试题
- 2024~2025学年云南昆明寻甸回族彝族自治县七年级下册4月期中数学试题
- 2024~2025学年河北保定定州七年级下册4月期中数学试题【带答案】
- 云母在涂料中的耐温性考核试卷
- 中药材种植保险与农业保险创新考核试卷
- 危险化学品安全教育与培训制度考核试卷
- 大数据在保险产品中的应用考核试卷
- 光子雷达系统数据处理并行计算技术考核试卷
- 2025年中国PVA发泡辊轮数据监测报告
- 艾梅乙反歧视培训课件
- 2025安全生产月一把手讲安全公开课三十二(91P)
- 在线网课学习课堂《人工智能(北理 )》单元测试考核答案
- 2018年三年级数学下册期末试卷A3(附答题卡、答案)
- 山水林田湖试点铜川市耀州区沮河下游生态保护修复项目环评报告
- 电厂安全红线管理办法范本
- 一升二数学思维训练8 15
- GB/T 3323.1-2019焊缝无损检测射线检测第1部分:X和伽玛射线的胶片技术
- BD每月绩效考核表
- 大局意识方面存在的问题及整改措施范文三篇
- 围手术期呼吸道管理
评论
0/150
提交评论