




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第十一章Android传感器应用开发目录11.1传感器简介 11.1.1传感器的检测 11.1.2使用传感器的步骤 11.2光线传感器 11.3加速度传感器 11.4陀螺仪传感器 11.5磁场传感器 学习目标掌握传感器使用的基本步骤掌握光线传感器的使用掌握加速度传感器的使用掌握陀螺仪传感器的使用掌握磁场传感器的使用11.1.1传感器的检测AndroidSDK中定义了十多种传感器,但是不是每个手机都完全支持这些传感器。如果遇到手机不支持的传感器,程序运行往往不会抛出异常,只是无法获得传感器传回的数据。那么如何知道设备上有哪些传感器可用呢?有两种方式:一种是直接方式,一种是间接方式。直接方式首先获取SensorManger对象,通过上下文对象的getSystemService(SENSOR_SERVICE)方法就可以获取到系统的传感器管理服务。然后调用SensorManger对象的getSensorList()方法获取传感器集合,遍历获取到的集合就能得到传感器信息。间接方式在AndroidManifest.xml配置文件中,指定该应用程序只支持运行在具有哪些硬件功能的设备上。如果应用程序需要温度传感器,可以在配置文件中添加下面一行代码。<uses-featureandroid:name="android.hardware.sensor.temperature"android:required="true"></uses-feature>11.1.2使用传感器的步骤(1)调用Context的getSystemService(Context.SENSOR_SERVICE)方法获取SensorManager对象。(2)调用SensorManager的getDefaultSensor(inttype)方法获取指定类型的传感器。(3)在onCreate()生命周期方法中调用SensorManager的registerListener()方法为指定传感器注册监听。(4)实例化SensorEventListener接口,作为registerListener()方法的第一个参数。重写SensorEventListener接口中的onSensorChanged()方法。(5)在onDestroy()生命周期方法中调用SensorManager的unregisterListener()方法释放资源。SensorManager的registerListener()方法的用法如下:publicbooleanregisterListener(SensorEventListenerlistener,Sensorsensor,intrate)其中:• listener:监听传感器事件的监听器,该监听器需要实现SensorEventListener接口。• sensor:通过SensorManager的getDefaultSensor(inttype)方法获取到的传感器对象。• rate:获取传感器数据的频率。该参数由SensorManager中的几个常量来定义。(1) intSENSOR_DELAY_FASTEST=0;以最快的速度获得传感器数据。只有特别依赖传感器数据的应用才推荐采用这种频率,这种模式会造成手机大量耗电。(2) intSENSOR_DELAY_GAME=1;适合游戏的频率,在一般实时性要求的应用上适用这种频率。(3) intSENSOR_DELAY_UI=2;
适合普通用户界面的频率,这种模式比较省电,系统开销也小,但是延迟较长。(4) intSENSOR_DELAY_NORMAL=3;11.2光线传感器光线传感器的类型常量为Sensor.TYPE_LIGHT(数值为5)。Values数组只有第一个元素values[0]有意义,表示光线的强度。AndroidSDK中将光线强度分为不同等级,每一个等级的最大值由一个常量表示,这些常量定义在SensorManager类中,最大值为120000.0f。11.3加速度传感器在Android系统中,加速度传感器的类型常量是Sensor.TYPE_ACCELEROMETER(数值为1),单位为m/s2,能够测量应用设备在x、y、z轴上的加速度,又叫作G-sensor。在开发过程中,通过Android的加速度传感器可以取得x、y、z三个轴的加速度,器值存放在values数组中。values数组的三个元素含义如下:values[0]:沿X轴方向的加速度(手机水平放置,手机横向左右移动)。values[1]:沿Y轴方向的加速度(手机水平放置,手机前后移动)。values[2]:沿Z轴方向的加速度(手机竖向上下移动)。11.4陀螺仪传感器陀螺仪传感器是一个基于自由空间移动和手势的定位和控制系统,已经广泛运用于手机、平板电脑等移动便携设备上,在将来的设备也会陆续使用到。在Android系统中,陀螺仪传感器的类型是Sensor.TYPE_GYROSCOPE,单位是rad/s,能够测量设备X、Y、Z三轴的角加速度数据。Android中的陀螺仪传感器又名为Gyro-sensor角速度器,利用内部振动机械结构侦测物体转动所产生的角速度,进而计算出物体移动的角度。11.5磁场传感器在Android系统中,磁场传感器的类型常量为Sensor.TYPE_MAGNETIC_FIELD(数值为2),单位是uT(微特斯拉),能够测量设备周围3个物理轴(X、Y、Z)的磁场。在
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 山东省潍坊一中2025度:高一物理初中高中衔接学案
- 师生健康 中国健康
- 核心素养下的教育教学体系构建
- 学生的能力差异与教育
- 健康安全绿色环保
- 【深圳】2025年广东深圳市光明区玉塘街道办事处第一批招聘一般类专干24人笔试历年典型考题及考点剖析附带答案详解
- 英语基础教学第三课课件
- 影视特效教学课件
- 水教学课件科学
- 扇形认识教学课件
- 2025年 北京门头沟大峪街道社区储备人才招募考试试题附答案
- 食物与药物的相互作用
- 规范申报专题培训-课件
- 亚马逊品牌授权书(英文模板)
- 《现代汉语修辞》PPT课件(完整版)
- DB52∕T 046-2018 贵州省建筑岩土工程技术规范
- AZ91D镁合金半固态成型
- 100以内不进位不退位加减法练习习题(直接打印)
- 巨光Y型空气消毒器
- 基于MATLAB的直流电机双闭环调速系统的设计与仿真
- MPACC案例《作业成本法案例分析》
评论
0/150
提交评论