1+x安卓应用开发(中级)课程-项目4 传感器应用开放_第1页
1+x安卓应用开发(中级)课程-项目4 传感器应用开放_第2页
1+x安卓应用开发(中级)课程-项目4 传感器应用开放_第3页
1+x安卓应用开发(中级)课程-项目4 传感器应用开放_第4页
1+x安卓应用开发(中级)课程-项目4 传感器应用开放_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

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

文档简介

《腾讯1+x安卓应用开发(中级)》教案

一、教案设计课题项目4任务1认识安卓传感器课型理论课理论课时2课时实践课时2课时教学目标知识目标能力(技能)目标理解Android平台支持三大类传感器及其特点。能够获取Android设备支持的传感器。教学重点掌握获取Android设备支持的传感器的方法。教学难点理解不同传感器的应用场合。教学内容Android平台支持三大类传感器:位移传感器、环境传感器和位置传感器。位移传感器包括加速度传感器,重力传感器,陀螺仪和旋转适量传感器。这些传感器沿三条轴线测量加速度和旋转力度。环境传感器包括气压,光线和温度传感器。用来测量各种环境参数。位置传感器包含方向和磁力传感器,用来测量设备的物理位置。Android系统负责将这些传感器所输出的信息传递给开发者,开发者可以利用这些信息开发很多应用。例如,市场上的赛车游戏使用的就是重力传感器、微信的摇一摇使用的是加速度传感器。Android系统提供了一个类android.hardware.Sensor代表传感器,该类将不同的传感器封装成了常量,具体见表7-1。表7-1传感器常量传感器类型常量内部

整数值中文名称Sensor.TYPE_ACCELEROMETER1加速度传感器Sensor.TYPE_MAGNETIC_FIELD2磁力传感器Sensor.TYPE_ORIENTATION3方向传感器

(废弃,但依然可用)Sensor.TYPE_GYROSCOPE4陀螺仪传感器Sensor.TYPE_LIGHT5环境光照传感器Sensor.TYPE_PRESSURE6压力传感器Sensor.TYPE_TEMPERATURE7温度传感器

(废弃,但依然可用)Sensor.TYPE_PROXIMITY8距离传感器Sensor.TYPE_GRAVITY9重力传感器Sensor.TYPE_LINEAR_ACCELERATION10线性加速度Sensor.TYPE_ROTATION_VECTOR11旋转矢量Sensor.TYPE_RELATIVE_HUMIDITY12湿度传感器Sensor.TYPE_AMBIENT_TEMPERATURE13温度传感器(4.0之后替代TYPE_TEMPERATURE)教学准备教材,PPT、教纲、教案参考资料/guide/topics/sensors?hl=zh_cn教学过程方法与手段教学备注【课堂导入】传感器在Android应用中起到什么作用呢?传感器(Sensor)系统可以让智能手机的功能更加丰富多彩,在Android系统中支持多种传感器。本任务我们将解决如何获取移动设备上的传感器及其数值的问题。【教学实施】7.1.1任务描述能够获取Android设备支持的传感器,并检测传感器数值的变化。7.1.2问题引导传感器在Android应用中起到什么作用呢?传感器(Sensor)系统可以让智能手机的功能更加丰富多彩,在Android系统中支持多种传感器。本任务我们将解决如何获取移动设备上的传感器及其数值的问题。7.1.3知识准备Android平台支持三大类传感器介绍获取传感器管理器SensorManager获取某一类型的传感器设置传感器监听器注册传感器注销传感器7.1.4完成传感器及其数值的获取7.1.5知识拓展不同组织对“传感器”的定义【知识(技能)巩固练习】获取手机能使用的所有传感器,并显示其名称。【教学小结】讲授、演示课后作业与训练完成项目4课后练习对应的习题。教学反思

课题项目4任务2方向传感器的使用课型理论课理论课时2课时实践课时2课时教学目标知识目标能力(技能)目标能够熟悉安卓系统下常用方向类传感器。能够创建方向感知应用,并能正确运行。教学重点正确获取方向传感器数值教学难点对方向传感器数值的灵活运用。教学内容1.方向传感器介绍方向传感器的类型常量是Sensor.TYPE_ORIENTATION。当方向传感器的数值发生变化时会回调onSensorChanged(SensorEventevent)方法,这个方法的参数event包含3个值,分别是event.values[0]、event.values[1]和event.values[2],它们的含义见表7-2。表7-2方向传感器SensorEvent3个值的含义event.values[0]对应磁北方向和y轴之间的角度,围绕z轴(0°到359°)。0°=北,90°=东,180°=南,270°=西event.values[1]对应x轴和水平面的夹角。围绕x轴旋转(-180°到180°),当z轴向y轴移动时角度为正值。event.values[2]对应y轴和水平面的夹角。随着设备顺时针移动,围绕y轴(-90至90)旋转。2.使用方向传感器设计一个指南针(1)创建一个类CompassView,创建一个Activity,将其命名为CompassActivity。(2)在CompassView类中,定义setSensorManager()方法,用来注册方向传感器。(3)在CompassView类中,定义OnCustomSensorListener接口,在接口中,定义onSensorChanged()方法用来感知方向传感器值的变化,定义onCompass()用来记录指南针的方位和角度。(4)CompassView类实现接口SensorEventListener,并重写其方法onSensorChanged()和onAccuracyChanged()。在onSensorChanged()中,通过传感器传递的3个值——event.values[0]、event.values[1]和event.values[2],分别计算方位角、倾斜角和滚动角。然后调用updateDirection()方法计算方位。(5)修改CompassView类的4参构造方法,开启工作线程,每100毫秒重新绘制一次,以便在指南针表盘上及时显示新的角度和方位。(6)在CompassView类中,创建接口类型变量,并定义setCustomSensorListener()方法用来传递一个接口对象实例,以便暴露设置接口的方法。(7)在CompassView类中,定义invalidView()方法用来注销传感器。(8)在CompassActivity中,获取传感器管理器,并调用cView的setSensorManager()注册传感器的监听事件。需要注意的是,这些代码要放在setContentView(cView)之前。(9)在CompassActivity中,cView的setCustomSensorListener()方法,使用匿名内部类实现接口的两个方法。(10)在CompassActivity中,重写onDestroy()方法,调用步骤8定义好的invalidView(),以便Activity销毁时注销传感器。教学准备教材,PPT、教纲、教案参考资料/guide/topics/sensors?hl=zh_cn教学过程方法与手段教学备注【课堂导入】Android系统中的方向传感器在生活中典型的应用是指南针,指南针是如何实现方位指向的呢?利用方向传感器为我们返回的三个值,可以计算出方位和角度。【教学实施】7.2.1任务描述使用方向传感器设计一个指南针。在指南针表盘上显示方位和角度。效果如图所示。7.2.2问题引导Android系统中的方向传感器在生活中典型的应用是指南针,指南针是如何实现方位指向的呢?利用方向传感器为我们返回的三个值,可以计算出方位和角度。7.2.3知识准备方向传感器介绍使用方向传感器设计一个指南针的步骤7.2.4实现指南针的设计。7.2.5知识拓展在Android平台中,传感器框的三维坐标系【知识(技能)巩固练习】获取方向传感器三个方向的值。【教学小结】讲授、演示课后作业与训练完成项目4课后练习对应的习题。教学反思

课题项目4任务3加速度传感器的使用课型理论课理论课时2课时实践课时2课时教学目标知识目标能力(技能)目标能够熟悉安卓系统下常用加速度类传感器。能够响应设备移动,创建相关应用,并能正确运行。教学重点正确获取加速度传感器数值教学难点对加速度传感器数值的灵活运用。教学内容1.加速度传感器简介加速度传感器的类型常量是Sensor.TYPE_ACCELEROMETER。当加速度传感器的数值发生变化时会回调onSensorChanged(SensorEventevent)方法,这个方法的参数event包含3个值,分别是event.values[0]、event.values[1]和event.values[2],它们的含义见表7-3。表7-3加速度传感器SensorEvent3个值的含义event.values[0]左右移动的加速度event.values[1]前后移动的加速度event.values[2]上下移动的加速度2.加速度传感器计步原理利用三轴加速度传感器能检测人步行中三个方向的加速度变化。用户在水平步行运动中,在收脚的动作中,由于重心向上单脚触地,垂直方向加速度呈正向增加的趋势,之后继续向前,重心下移两脚触底,加速度相反。水平加速度在收脚时减小,在迈步时增加。垂直和前进两个方向的加速度呈现周期性变化,三个加速度的矢量长度与时间形成的轨迹大致为一个正弦曲线,而且在某点有一个峰值。一个正弦波形代表一步。首先记录上次矢量长度和运动方向,通过矢量长度的变化,可以判断当前加速度的方向,并和上一次保存的加速度方向进行比较。如果是相反的,即是刚过峰值状态,则进入计步逻辑进行计步,否则就舍弃。通过对轨迹的峰值进行检测累加和加速度阀值决策,即可计算用户运动的步数。又因为,人的反射神经决定了人运动的极限,两步之间不可能小于200毫秒,因此将时间阈值设为200毫秒,如果两次计步之间的时间间隔小于200毫秒,则不计步。3.使用加速度传感器设计一个计步器(1)创建一个EmptyActivity,将其命名为CountStepActivity。(2)设置CountStepActivity的布局文件。采用线性布局,放置两个TextView和一个Button。(3)在CountStepActivity的onCreate()方法中,获取传感器管理器,获取加速度传感器,并注册传感器的监听事件。(4)CountStepActivity类实现接口SensorEventListener,并复写其方法onSensorChanged()和onAccuracyChanged()。在onSensorChanged()中,通过传感器传递的3个值——event.values[0]、event.values[1]和event.values[2],计算三个加速度的矢量长度。并进行峰值检测,配合加速度阈值和时间阈值,对步数进行累加和显示。(5)设置按钮的点击事件监听器,并让CountStepActivity实现View.OnClickListener接口,在其实现方法onClick()中对按钮和文本框做一些初始设置。(6)当CountStepActivity被销毁时,会回调onDestroy()方法,在该方法中注销传感器。教学准备教材,PPT、教纲、教案参考资料/guide/topics/sensors?hl=zh_cn教学过程方法与手段教学备注【课堂导入】加速度传感器是如何感知步数变化的呢?加速度传感器有x,y,z三个轴。通过传感器返回的三个值能检测人步行中三个方向的加速度变化。【教学实施】7.3.1任务描述使用加速度传感器设计一个计步器。当点击“START”按钮后时能实时更新步数,并且按钮文字变为“STOP”,当点击“STOP

温馨提示

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

评论

0/150

提交评论