版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、Vocational Education Operation Center,Android传感器编程,Android 传感器 概述,Android传感器设备广泛 加速度传感器 距离传感器 温度传感器 方向计 iPhone Wii,传感器用法有很多种可能性,感知屏幕布局的变化 婴儿监护器 安全系统 地震图 与各种无线网络连接,Google传感器API的演化,1.5版本 主流 pre-1.5 设备不工作-如G1、oPhone 1.1 Public interface SensorEventListener.,1.5以前的API 很多的例子 尤其在互联网上 public interface Sens
2、orListener,Google传感器API使用大纲,1。得到一个传感器系统服务 2。创建一个监听器,听取传感器数据的变化 3。通过该传感器系统服务登记服务侦听 4。在监听过程中改变内部收集的传感器数据 5。完成后,从系统中注销服务侦听,pre-1.5 devices,通过Context.getSystemService()得到一个SensorManager 实例, 用SENSOR_SERVICE参数。 实施和创建和SensorLisenter实例 登记SensorManager实例的SensorListener回调: boolean registerListener(SensorListe
3、ner listener, int sensors) 在SensorListener回到方法中,处理从传感器接收到的数据: void onSensorChanged(int sensor, float values)void onAccuracyChanged(int sensor, int accuracy) 完成后,从SensorManager中注销该回调方法: void unregisterListener(SensorListener listener),新的API中 (1.5+),从Context.getSystemService()中得到一个SensorManager实例,参数是
4、SENSOR_SERVICE. 实施和创建和SensorLisenter实例 在SensorManager实例中注册的SensorEventListener 回调:boolean registerListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) 收到SensorEventListener传感器事件SensorEvent: void onSensorChanged(SensorEvent event)void onAccuracyChanged(Sensor sensor, int a
5、ccuracy) 从SensorEvent中,获得实际的传感器变化数据public final float valuespublic long timestamppublic Sensor sensor 完成后,从SensorManager中注销该回调方法:void unregisterListener(SensorEventListener listener),例程代码,SensorManager sensormanager = (SensorManager) getSystemService(SENSOR_SERVICE); int sensors=sensormanager.getSen
6、sors(); public void onSensorChanged(int sensor, float values) log(sensor: + sensor + , x: + values0 + , y: + values1 + , z: + values2); .,Android 支持的传感器 Sensors,典型的Android装置有支持以下传感器: 方向 加速表 光线 磁场 临近性 温度 请注意,并非所有的设备都支持所有传感器,加速度传感器,一种能测量设备相对自由下落加速度的装置,传感器API 详解,1.5增加的 Methods Sensor getDefaultSensor(i
7、nt) float getInclination(float) float getOrientation(float, float) boolean getRotationMatrix(float, float, float, float) List getSensorList(int) boolean registerListener(SensorEventListener, Sensor, int) boolean registerListener(SensorEventListener, Sensor, int, Handler) boolean remapCoordinateSyste
8、m(float, int, int, float) void unregisterListener(SensorEventListener) void unregisterListener(SensorEventListener, Sensor) 改变的 Methods 过时了 int getSensors() boolean registerListener(SensorListener, int) boolean registerListener(SensorListener, int, int) void unregisterListener(SensorListener) void u
9、nregisterListener(SensorListener, int) 新加的 Classes and Interfaces GeomagneticField Sensor SensorEvent SensorEventListener,SensorManager,允许您访问该设备的传感器 通过调用Context.getSystemService获得实例 几个常用常数,API常用公共方法(1.5 以上),public Sensor getDefaultSensor(int type) public List getSensorList(int type) public boolean r
10、egisterListener(SensorEventListener listener, Sensor sensor, int rate, Handler handler) public void unregisterListener(SensorEventListener listener),传感器-Sensor类,代表传感器 使用SensorManager.getSensorList(int)获取可用传感器名单 公共方法 public float getMaximumRange() public String getName() public float getPower() publi
11、c float getResolution() public int getType() public String getVendor() public int getVersion(),传感器事件-SensorEvent,代表一个传感器的事件 含有数据 传感器- public Sensor sensor 时间戳 - public long timestamp 准确性 public int accuracy 传感数值-public final float values,SensorEventListener(1.5前用 SensorLisener)接口,是传感器应用的主要接口 从Sensor
12、Manager中接收来自传感器的改变事件 onSensorChanged(SensorEvent event) 1.5+【onSensorChanged(int sensor,float values) pre 1.5】 onAccuracyChanged(Sensor sensor, int accuracy)1.5+【 onAccuracyChanged(int sensor,int accuracy) pre-1.5】,传感器实例,来显示加速度和方向的数值 SensorDemoNew Activity 1.5+ 版本 SensorDemoNew.java AndroidManifest
13、文件,模拟器的问题,SDK(2.1版)不模拟传感器 在模拟器中测试程序,你将不会从传感器得到的任何数据,解决办法 -SensorSimulator,在真正设备上运行,选择真正装置,(G1 HTC) 上运行结果,SensorDemo Activity 1.5 版本以前区别,import android.hardware.SensorListener; implements SensorListener public void onSensorChanged(int sensor, float values) public void onAccuracyChanged(int sensor, in
14、t accuracy) sm.registerListener(this, ,不要混合1.5 前API和1.5 后API,新写的代码 用1.5 +的API 除非确实有必要全面覆盖所有设备时才使用1.5前的API。 两种API在常数设置上的差异 格外小心,不要混合用 Sensor.TYPE_ ACCELEROMETER - 新 API SensorManager.SENSOR_ ACCELEROMETER 旧 API,常用传感器值的含义,手机是G1/G2 Magic OS版本1.1, 1.5 和 1.6 加速度计Accelerometer x,y,z轴的正负向 z轴的变化 手机画面切换,方向计Orientation Sensor,三个坐标的含义,X代表方位,这是指相对磁北级的角度,Y指间距,是到该设备是向前或向后倾斜程度,Z-卷,该设备相对于左下角的旋
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 采购部门绩效制度
- 采购项目市场询价制度
- 采购风险反馈制度
- 重大采购制度
- 食品采购索证索票制度
- 2025年前台沟通专项练习卷
- 人教版物理八年级上册单元测试-第三单元《物态变化》基础卷
- 第一次数学月考自测卷-2025-2026学年八年级下学期(人教版)
- 第20章 勾股定理提升卷(试题版A4)-人教版(2024)八下
- 2026年食品承包合同(1篇)
- 2025年农商行考试题及答案
- 2026年春苏教版新教材小学科学二年级下册教学计划及进度表
- 2025中证信息技术服务有限责任公司招聘16人笔试备考试题附答案
- 流程管理优化工具及方法
- 医疗设备采购与招标流程
- 雨课堂学堂在线学堂云中华戏曲艺术鉴赏华侨单元测试考核答案
- PET吹瓶工艺操作指导书
- DB4419∕T 30-2025 高层、超高层民用建筑匹配消防救援能力建设规范
- 2025中国高等教育学会秘书处招聘6人备考题库(非事业编制北京)附答案
- DB61∕T 2103-2025 砖瓦用页岩矿资源储量核实技术规范
- 电网仓管员面试常见问题及应对策略
评论
0/150
提交评论