- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
传感器编程.doc
第三十七章 传感器编程
一、概述
传感器是一种物理装置或生物器官,能够探测、感受外界的信号,如光、热、湿度、烟雾等,并将探知的信息传转换为电信号或其它形式的信息。
目前许多智能手机的硬件设备都提供了对传感器的支持,如手机设备的摆放方向、外界磁场、温度和压力等。Android的SDK提供了对这些传感器的支持, Android的应用程序能通过这些传感器获取外界环境的状态。对传感器设备的开发可以有效的提高用户体验,设计出如:指南针、水平仪等应用,传感器的开发也广泛应用于游戏,通过传感器感知玩家的动作,从而在游戏中提供对这些动作的响应。
以下将介绍Android支持的传感器、与传感器相关的类、传感器的开发步骤和应用案例。
二、传感器的类别
图1列出Android支持的传感器的种类:
传感器名称 在Sensor类中对应的常量 加速度传感器 Sensor.TYPE_ACCELEROMETER 陀螺仪传感器 Sensor.TYPE_GYROSCOPE 亮度传感器 Sensor.TYPE_LIGHT 磁场传感器 Sensor.TYPE_MAGNETIC_FIELD 方向传感器 Sensor.TYPE_ORIENTATION 压力传感器 Sensor.TYPE_PRESSURE 近程传感器 Sensor.TYPE_PROXIMITY 温度传感器 Sensor.TYPE_TEMPERATURE Android支持的所有的传感器类型 Sensor.TYPE_ALL 图1
【提示】
不同的智能手机的硬件支持的传感器的类别不同,如有的手机不支持温度传感器,因此在这样的手机上无法实现温度的感知操作。
本章案例介绍加速度、方向、磁场这三个传感器的应用,这三种传感器绝大部分智能手机均支持。
三、Sensor类
㈠概述
表示传感器的种类,如图1所示的传感器类型在Sensro类中均用常量来表示。
㈡常用方法
int getType();
·作用:返回传感器的种类,传感器种类用图1所示的常量来表示。
·示例:int sensorType=getType();
㈢创建Sensor对象
Sensor对象需要用SensorManager类的静态方法getDefaultSensor()方法创建,并通过一个int类型的参数指明该Sensor对象代表的传感器类型,示例如下:
Sensor sensor;
sensor=mSensorManager.getDefaultSensor(
Sensor.TYPE_ACCELEROMETER);
【提示】
1、以上代码创建了代表加速度传感器的对象sensor。
2、mSensorManager是传感器管理器对象,该对象是SensorManger类,该类将在下面介绍。
四、SensorManager类
㈠概述
创建Sensor对象、设置传感器采集数据的频率、设置传感器监听事件以捕获指定类型的传感数据。
㈡创建SensorManager对象
1、示例:
SensorManager mSensorManager;
mSensorManager=(SensorManager)getSystemService(SENSOR_SERVICE);
2、说明
第一行定义了该类的一个引用型变量。
第二行调用Context类的静态方法getSystemService方法,并指定了参数为Context类的一个常量SENSOR_SERVICE,在内存的堆中创建了SensorManager类的一个对象。
㈡重要常量
图2是SensorManager类中的重要常量,这些常量代表获取数据的频率
常量名 获取数据的频率 SensorManager.SENSOR_DELAY_FASTEST 最快,该种模式耗电量大,影响程序的性能。当需要高密度采集传感器数据时,才考虑采取此方式。 SensorManager.SENSOR_DELAY_GAME 适合一般实时性要求的数据采集频率,如游戏。 SensorManager.SENSOR_DELAY_NORMAL 适合于实时性要求不高的数据采集场合。 SensorManager.SENSOR_DELAY_UI 适合普通用户界面的频率,省电、系统开销少,但延迟较大。 图2
㈢常用方法
1、Sensor getDefaultSensor(int type);
【作用】创建type值指定的传感器对象。
(type取值参见”图1 Android支持的传感器的种类”)
【示例】创建加速度传感器对象
Sensor sensor;
sensor=mSensorManager.getDefaultSensor(
Sensor.TYPE_ACCELEROME
您可能关注的文档
最近下载
- 村干部公务员考试资料.doc VIP
- 2025年中考初中英语动词的时态语法讲解复习课件.pptx VIP
- 2024年幼儿园教师选调进城考试模拟试题1(附参考答案).doc
- 第5讲 基片集成波导 I.ppt VIP
- (高清版)DB44∕T 2568-2024 《灌区信息化设计导则》.pdf VIP
- GB50810-2012 煤炭工业给水排水设计规范.docx VIP
- 2025年综合薪酬福利体系优化策略与实践.doc
- 银行业智能风控与反欺诈系统建设方案.doc VIP
- nm248 1 sectools secimage工具用户指南.pdf VIP
- Q∕GDW 11309-2014 变电站安全防范系统技术规范.docx VIP
文档评论(0)