KC13020401-b08-教学案例:Android重力_第1页
KC13020401-b08-教学案例:Android重力_第2页
KC13020401-b08-教学案例:Android重力_第3页
KC13020401-b08-教学案例:Android重力_第4页
KC13020401-b08-教学案例:Android重力_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

1、物联网应用技术专业教学资源库文档文档来源院校开发文档编号重力传感器应用2016 年3月 5日模块/项目/任务名称Android重力传感器应用_指南针定位专业知识点链接或任务拆分知识点1: Android中检测重力感应变化的步骤知识点2: Sensor类与SensorManager类知识点3:重力感应器任课班级授课日期 节数课 时教学场所实训室教学资源计算机、教学PPT、参考程序、实训指导书、教学网站教学方法任务驱动法小组合作法教学目标能力目标知识目标1.Sensor类与SensorManager类1. 掌握 Sensor类与SensorManager类2. 通过重力感应器获取重力加速度及用户移

2、动方向的方法。重点难点重点难点通过重力感应器获取重力加速度及用户移动方向的方法。通过重力感应器获取重力加速度及用户移动方向的方法。知识拓展所谓传感器能够探测如光、热、温度、重力、方向 等等的功能!Android中提供传感器有: 1. 加速度传感器(重力传感器) 2. 陀螺仪传感器 3. 光传感器 4. 恒定磁场传感器 5. 方向传感器 6. 恒定的压力传感器 7. 接近传感器 8. 温度传感器今天我们给大家介绍的是游戏开发中最最常见的,用到的频率最高的一种传感器,加速度传感器,以此实现指南针的定位。教学流程设计教学环节主要内容时间安排复习提问蓝牙连接小车的基本原理及实现关键代码?10任务导入所

3、谓传感器能够探测如光、热、温度、重力、方向 等等的功能!Android中提供传感器有: 1. 加速度传感器(重力传感器) 2. 陀螺仪传感器 3. 光传感器 4. 恒定磁场传感器 5. 方向传感器 6. 恒定的压力传感器 7. 接近传感器 8. 温度传感器今天我们给大家介绍的是游戏开发中最最常见的,用到的频率最高的一种传感器,加速度传感器,以此实现指南针的定位。10任务分析1.Android中检测重力感应变化的步骤5任务实施教师活动学生活动130教师授课:Android中检测重力感应变化大致需要下面几个步骤:1) 得到传感器服务 getSystemService(SENSOR_SERVICE)

4、;得到一个SensorManager,用来管理分配调度处理Sensor的工作,注意它并不服务运行于后台,真正属于Sensor的系统服务是SensorService,终端下#service list可以看到sensorservice: android.gui.SensorServer。2) 得到传感器类型 getDefaultSensor(Sensor.TYPE_GRAVITY);当然还有各种千奇百怪的传感器,可以查阅Android官网API或者源码Sensor.java。3) 注册监听器 SensorEventListener应用程序打开一个监听接口,专门处理传感器的数据,这个监听机制比较重要

5、,被系统广泛使用。4) 实现监听器的回调函数 onSensorChanged, onAccuracyChanged很多移动设备都内置了感应器,android通过Sensor和SensorManager类抽象了这些感应器,通过这些类可以使用android设备的传感器二Sensor类与SensorManager类Sensor类表示一个感应器的类,可以使用getSensorList方法获得所有可用的感应器,该方法返回的是一个List<Sensor>下面的列表显示了,Sensor所提供的所有服务-Constantsint TYPE_ACCELEROMETER A constant desc

6、ribing an accelerometer sensor type. /三轴加速度感应器 返回三个坐标轴的加速度 单位m/s2int TYPE_ALL A constant describing all sensor types. /用于列出所有感应器int TYPE_GRAVITY A constant describing a gravity sensor type. /重力感应器int TYPE_GYROSCOPE A constant describing a gyroscope sensor type /陀螺仪 可判断方向 返回三个坐标轴上的角度int TYPE_LIGHT A

7、constant describing an light sensor type. /光线感应器 单位 lux 勒克斯int TYPE_LINEAR_ACCELERATION A constant describing a linear acceleration sensor type. /线性加速度int TYPE_MAGNETIC_FIELD A constant describing a magnetic field sensor type. /磁场感应 返回三个坐标轴的数值 微特斯拉int TYPE_ORIENTATION This constant is deprecated. Us

8、e SensorManager.getOrientation() instead. /方向感应器 已过时 可以使用方法获得int TYPE_PRESSURE A constant describing a pressure sensor type /压力感应器 单位 千帕斯卡int TYPE_PROXIMITY A constant describing an proximity sensor type. /距离传感器int TYPE_ROTATION_VECTOR A constant describing a rotation vector sensor type. /翻转传感器int T

9、YPE_TEMPERATURE A constant describing a temperature sensor type /温度传感器 单位 摄氏度-此类中包含的方法都是get型的 用来获取所选sensor的一些属性,sensor类一般不需要new而是通过SensorManager的方法获得SensorManager类通过传入参数SENSOR_SERVICE参数调用Context.getSystemService方法可以获得一个sensor的实例。永远记得确保当你不需要的时候,特别是Activity暂定的时候,要关闭感应器。忽略这一点肯能导致几个小时就耗尽电池,注意当屏幕关闭时,系统不会

10、自动关闭感应器。三重力感应器1.获取加速度: 加速度(重力)感应器X Y Z分别对应values0到2X表示左右移动的加速度Y表示前后移动的加速度Z表示垂直方向的加速度values0 表示Z轴的角度:方向角0表示正北,90表示正东,180/-180表示正南,-90表示正西。values1表示X轴的角度:俯仰角   即由静止状态开始,前后翻转values2  表示Y轴的角度:翻转角  即由静止状态开始,左右翻转public static boolean getRotationMatrix (float R, float I, float gravity, float geomagnetic)R 是一个旋转矩阵,通过下面的静态方法获取1需要填充的R数组,大小是9 2转换矩阵,将磁场数据转换进实际的重力坐标中, 默认情况下设置为null 3大小为3的数组,表示从重力感应器获取来的数据,在onSensorChanged中 4大小为3的数组,表示从磁场感应器获取来的数据,在onSensorChanged中学生听课,并提问学生实

温馨提示

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

评论

0/150

提交评论