- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章 传 感 器 上 机 课 上机内容 方位、压力、温度、加速度、磁场和亮度传感器的使用 上机目标 掌握方位、压力、温度、加速度、磁场和亮度传感器的使用 上机任务 利用方位传感器,随手机角度的变化,小球的位置相应改变 利用方位传感器,实现水平仪 利用加速度和磁场传感器实现指南针 阶段任务一:指导部分 任务说明: 随手机角度的变化,小球的位置相应改变 阶段任务一:指导部分 实现思路 ● 利用方位传感器,可以自动根据用户手机所处的角度来进行感应监控 ● 通过SensorEventListener接口监听时,每当方位角度变化都会触 onSensorChanged方法,在该方法中刷新界面调用onDraw()方法 阶段任务一:指导部分 实现过程 1.布局文件main.xml ?xml version=1.0 encoding=utf-8? LinearLayout xmlns:android=/apk/res/android android:orientation=vertical android:layout_width=fill_parent android:layout_height=fill_parent com.tsinghua.sensororientation.BallView android:layout_width=fill_parent android:layout_height=wrap_content / /LinearLayout 阶段任务一:指导部分 实现过程 2. BallView.java: package com.tsinghua.sensororientation; public BallView(Context context, AttributeSet attrs) { super(context, attrs); super.setBackgroundColor(Color.WHITE); // 底色为白色 this.ball = BitmapFactory.decodeResource(super.getResources(),R.drawable.ball); SensorManager manager = (SensorManager) context.getSystemService(Context.SENSOR_SERVICE); // 创建了一个适合于游戏操作的方位传感器 manager.registerListener(this,manager.getDefaultSensor(Sensor.TYPE_ORIENTATION), SensorManager.SENSOR_DELAY_GAME); } @Override public void onAccuracyChanged(Sensor sensor, int accuracy) { } @Override public void onSensorChanged(SensorEvent event) { // 传感器方位改变 if (event.sensor.getType() == Sensor.TYPE_ORIENTATION) {// 现在是方位传感器 float value[] = event.values; // 取得所有的偏离数据 BallView.this.allValue = value; // 取得三个轴的值 super.postInvalidate(); // 刷新界面调用onDraw() } } 阶段任务一:指导部分 实现过程 2. BallView.java: protected void onDraw(Canvas canvas) { super.onDraw(canvas); Paint p = new Paint(); // 根据传感器的数值来改变球的速度 if (this.allValue != null) { // 已经取得了数据 this.xSpeed = (int) -this.allValue[2]; // 计算X轴速度 this.ySpeed = (int) -this.allValue[1]; } this.point.x += this.xSpeed; this.point.y += this.ySpeed; if (this.point.x 0) { this.point.x = 0; } if (this
您可能关注的文档
- 《液压与气压传动教学课件》4 液气压系统执行元件1.ppt
- 《液压与气压传动教学课件》5.1-5.2液气压传动控制调节元件.ppt
- 《液压与气压传动教学课件》5.3-5.4液气压传动控制调节元件.ppt
- 《液压与气压传动教学课件》6.系统辅助元件.ppt
- 《液压与气压传动教学课件》9.1系统设计1.ppt
- 《液压与气压传动教学课件》9.2系统设计2.ppt
- 《液压与气压传动教学课件》作业第2章.ppt
- 《液压与气压传动教学课件》作业第3章.ppt
- 《液压与气压传动教学课件》作业第5章.ppt
- 《液压与气压传动教学课件》作业第7和8章.ppt
- Android应用开发(下册)L9 GPS 上机课.ppt
- Android应用开发(下册)L10 地图应用 上机课.ppt
- Android应用开发(下册)L11 Fragment 上机课.ppt
- Android应用开发(下册)L12 蓝牙、网络、WI-FI和NFC 上机课.ppt
- Android应用开发(下册)L13 个性化主屏幕 上机课.ppt
- Android应用开发(下册)T1 对话框.ppt
- Android应用开发(下册)T2 菜单和ActionBar.ppt
- Android应用开发(下册)T3 资源、国际化与自适应.ppt
- Android应用开发(下册)T4 Handler及异步任务.ppt
- Android应用开发(下册)T5 多媒体应用开发.ppt
原创力文档


文档评论(0)