




已阅读5页,还剩1页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Android传感器编程知识点概述:1. 传感器的概念2. Android中传感器的种类3. Android中传感器的功能知识点详述:1. 传感器的概念传感器是一种物理装置或生物器官,能够探测、感受外界的信号、物理条件(如光、热、湿度)或化学组成(如烟雾),并将探知的信息传递给其它装置或器官。同时也可以说传感器是一种检测装置,能感受被测量的信息,并能将检测的感受到的信息,按一定规律变换成为电信号或其它所需形式的信息输出,以满足信息的传输、处理、存储、显示、记录和控制等要求。它是实现自动检测和自动控制的首要环节。根据工作原理,传感器可分为物理传感器和化学传感器两大类。物理传感器应用的是物理效应,诸如离化、极化、热电、光电、磁电等效应。被测信号量的微小变化都将转换成电信号。化学传感器包括哪些以化学吸附、电化学反应等现象为因果关系的传感器。被测信号量的微小变化也将转换成电信号。注:目前大多数传感器是以物理原理为基础运作的。2. Android中传感器的种类Android操作系统中内置了很多传感器,同时传感器也成为了手机硬件的重要组成部分。比如在部分游戏或应用软件中可以自动识别屏幕的横屏、竖屏方向来改变屏幕显示布局,这就是因为手机硬件支持了重力感应、方向判断等功能。在Android中支持下面几种传感器:l Sensor.GRAVITY: 重力传感器l Sensor.TYPE_ACCELEROMETER: 加速度传感器l Sensor.TYPE_GYROSCOPE: 陀螺仪传感器l Sensor.TYPE_LIGHT: 亮度(光线)传感器l Sensor.TYPE_MAGNETIC_FIELD: 地磁传感器l Sensor.TYPE_ORIENTATION: 方向传感器l Sensor.TYPE_PRESSURE: 压力传感器l Sensor.TYPE_PROXIMITY: 近程传感器l Sensor.TYPE_TEMPERATURE: 温度传感器3. Android中传感器的功能在Android中使用传感器,首先需要了解SensorManager和SensorEventListener.SensorManager是所有传感器的一个综合管理类,包括了传感器的种类、采样率、精准度等。可以通过getSystemService方法来获取一个SensorManager实例。代码如下:SensorManager mSensorManager = (SensorManager)getSystemService(SENSOR_SERVICE);取得SensorManager实例之后,可以通过getSensorList方法来获得需要的传感器类型,存到一个传感器列表中,如下代码可以得到以下方向传感器:List sensors = mSensorManager.getSensorList(Sensor.TYPE_ORIENTATION);要与传感器交互,应用程序中必须注册相关的传感器, 当不再用时还要注销.代码如下:/注册传感器/参数一表示接收信号的Listener实例/参数二表示想接收的传感器类型/参数三表示接收频度, SensorManager.SENSOR_DELAY_ FASTEST表示尽可能快地获得传感器数据Boolean mRegisteredSensor = mSensorManager.registerListener(this, sensor, SensorManager.SENSOR_DELAY_FASTEST);/注销传感器mSensorManager.unregisterListener(this);SensorEventListener是使用传感器的核心,包括以下两个方法必须实现:l onSensorChanged(SensorEvent event)方法在传感器值更改时调用.该方法只由受此应用程序监视的传感器调用.该方法的参数是一个SensorEvent对象,该对象主要包括一组浮点数,表示传感器获得的方向、加速度等信息。如以下代码可以取得其值:float x = event.valuesSensorManager.DATA_X;float y = event.valuesSensorManager.DATA_Y;float z = event.valuesSensorManager.DATA_Z;注: 其中SensorEvent类的values变量非常重要,该变量的类型是float。但该变量最多只有3个元素,而且根据传感器的不同,values变量中元素所代表的含义也不同。在方向传感器中values变量的3个值都表示度数,它们的含义如下:values0:该值表示方位,也就是手机绕着Z轴旋转的角度。0表示北(North);90表示东(East);180表示南(South);270表示西(West), 可以利用这个特性来实现电子罗盘。values1:该值表示倾斜度,或手机翘起的程度。当手机绕着X轴倾斜时该值发生变化。values1的取值范围是-180values1180。假设将手机屏幕朝上水平放在桌子上,这时如果桌子是完全水平的,values1的值应该是0。这时从手机顶部开始抬起,直到将手机沿X轴旋转180度(屏幕向下水平放在桌面上)。在这个旋转过程中,values1会在0到-180之间变化,也就是说,从手机顶部抬起时,values1的值会逐渐变小,直到等于-180。如果从手机底部开始抬起,直到将手机沿X轴旋转180度,这时values1会在0到180之间变化。也就是values1的值会逐渐增大,直到等于180。可以利用values1和下面要介绍的values2来测量桌子等物体的倾斜度。values2:表示手机沿着Y轴的滚动角度。取值范围是-90values290。假设将手机屏幕朝上水平放在桌面上,这时如果桌面是平的,values2的值应为0。将手机左侧逐渐抬起时,values2的值逐渐变小,直到手机垂直于桌面放置,这时values2的值是-90。将手机右侧逐渐抬起时,values2的值逐渐增大,直到手机垂直于桌面放置,这时values2的值
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 四年级数学上册 1 大数的认识第6课时 求亿以内数的近似数教学设计 新人教版
- 浙江省衢州市仲尼中学高二体育与健康《乒乓球》教学设计2 新人教版
- 音乐动物说话教案配套
- 生产内衣公司品质培训大纲
- 小学统编版(2024)第五单元 阅读教案
- 生产车间5S管理培训教材
- 陕西省石泉县七年级地理上册 1.3 地图的阅读同课异构教学设计1 (新版)新人教版
- 面包砖路面施工项目合同
- 万科物业安全培训
- 三方办公空间租赁合同范本
- 2010第五届广州市荔湾区张道真杯真题附答案
- 煤矿安全风险辨识评估培训考试试卷(含答案)
- 小学五年级家长会课件
- 单位子单位工程质量竣工验收记录表
- 机动车检测站仪器设备日常维护和保养作业指导书
- 立式数控铣床工作台(X轴)设计
- 关于环保的英文
- 物业交接流程、表单和注意事项
- 水土保持-新时代水土保持重点工作课件
- 架子工班组管理协议和奖罚制度
- 新《用字母表示数》说课
评论
0/150
提交评论