Android应用程序开发与典型案例第11章 传感器编程.pptxVIP

Android应用程序开发与典型案例第11章 传感器编程.pptx

  1. 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
传感器编程主讲人:华清远见11.1 传感器简介1.Android系统所支持的传感器类型Android传感应器Android Sensor是一款能够展示当前手机状态的应用,包括硬件信息、当前位置、加速计、陀螺仪、光感、磁场、定向、电池窗台、声压,同时还可以进行多点触控的测试。大多数Android设备都会内置传感器,用来测量运动、旋转和环境条件(重力、温度、湿度等),这些传感器可以将采集到的高精度的数据上报给应用程序。我们可以将传感器想成是应用程序的外延,帮助我们设计出更加丰富和多元化的应用。Android 系统所支持的传感器类型如表11-1所示。11.1 传感器简介2.传感器坐标系统 通常情况,传感器框架使用标准的3轴坐标系统来表达数据值。对于大多数传感器,坐标系统是相对于设备被保持在默认方向时的设备的屏幕来定义的,如见图11-1所示。当设备被保持在默认方向时,x轴水平向右、y轴垂直向上、z轴指向屏幕面板的外部。在这个系统中,背对着屏幕的z轴坐标是负值。该坐标系统被加速度传感器、重力传感器、陀螺仪、线性加速度传感器、磁力仪传感器使用。要理解的最重要的一点是,在设备屏幕的方向发生变化时,坐标系统的各坐标轴不会发生变化,也就是说,传感器的坐标系统不会因设备的移动而改变。这种行为与OpenGL坐标系统的行为相同。另外要理解的一点是,应用程序不要假设设备的自然(默认)方向是纵向的。对于很多平板设备的自然方向是横向的。传感器坐标系统总基于设备的自然方向。11.1 传感器简介传感器属于Android应用的外延,Android应用不能直接对传感器进行操作,Android对硬件的操作进行了封装,提供给我们一些类和接口,我们通过类和接口来调用方法可以获取传感器上报的数据。Android传感器开发中常用的类和接口有SensorManager、SensorEventListener、Sensor、SensorEvent。顾名思义,SensorManager就是所有传感器的一个综合管理类,包括传感器的种类、采样率、精准度等。可以通过getSystemService方法来获取一个SensorManager对象。类和接口的作用如表11-2所示。11.1 传感器简介4.Android传感器的功能要在Android中使用传感器,首先要了解SensorManager和SensorEventListener。顾名思义,SensorManager就是所有传感器的一个综合管理类,包括了传感器的种类、采样率、精准度等。可以通过getSystemService方法来获取一个SensorManager对象,代码如下。mSensorManager = (SensorManager) getSystemService(SENSOR_SERVICE);取得SensorManager对象之后,可以通过getSensorList方法来获取我们所需的传感器类型,保存到一个传感器列表中,代码如下。ListSensor sensors =  mSensorManager.getSensorList(Sensor. TYPE_ALL);SensorManager还有很多的常量以及一些常用的方法如表11-3所示。11.1 传感器简介11.1 传感器简介要与传感器进行交互,应用程序必须注册以侦听与一个或多个传感器相关的活动。Android中提供了registerListener来注册一个传感器,并提供了unregisterListener来卸载一个传感器。registerListener方法包括3个参数:第一个参数是接收信号的Listener实例;第二个参数是想接收的传感器类型的列表(上一步创建的ListSensor对象);第三个参数为接收频度。调用后返回一个boolean型的值,true表示成功,false表示失败。不再使用以后需进行卸载。代码如下。//注册传感器Boolean mRegisteredSensor = mSensorManager.registerListener (this, sensor, SensorManager.SENSOR_DELAY_FASTEST);//卸载传感器mSensorManager.unregisterListener(this);其中,SensorEventListener是使用传感器的核心部分,包括以下两个必须实现的方法。onSensorChanged(SensorEvent event)方法在传感器值更改时调用。该方法只有受此应用程序监视的传感器调用。参数包括一个SensorEvent对象。该对象包括一组浮点数,表示传感器获得的方向、加速度等信息。代码如下,可以取得其值。float x = event.values[SensorMa

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档