




已阅读5页,还剩28页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Vocational Education Operation CenterVocational 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 SensorListener Google传感器API使用大纲 1。得到一个传感器系统服务 2。创建一个监听器,听取传感器数据的变化 3。通过该传感器系统服务登记服务侦听 4。在监听过程中改变内部收集的传感器数据 5。完成后,从系统中注销服务侦听 pre-1.5 devices 通过Context.getSystemService()得到一个SensorManager 实例, 用SENSOR_SERVICE参数。 实施和创建和SensorLisenter实例 登记SensorManager实例的SensorListener回调: boolean registerListener(SensorListener 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实例, 参数是 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 accuracy) 从SensorEvent中,获得实际的传感器变化数据 public final float values public long timestamp public Sensor sensor 完成后,从SensorManager中注销该回调方法: void unregisterListener(SensorEventListener listener) 例程代码 SensorManager sensormanager = (SensorManager) getSystemService(SENSOR_SERVICE); int sensors=sensormanager.getSensors(); 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(int) 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 remapCoordinateSystem(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 unregisterListener(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 registerListener(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() public 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)接口 是传感器应用的主要接口 从SensorManager中接收来自传感器的改变事件 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 文件 模拟器的问题 SDK(2.1版)不模 拟传感器 在模拟器中测试程序 ,你将不会从传感器 得到的任何数据 解决办法 -SensorSimulator /p/openintents/wiki/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, int 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至2030苏打水行业发展趋势分析与未来投资战略咨询研究报告
- 2025年秋季学期德育工作计划:向下扎根向上开花
- 2025-2030中国家政服务行业信用体系建设与服务质量监管报告
- 2025年成都水务考试题库
- 《医师法》考核试题(附答案)
- 2025年云计算测试题库及答案
- 2025年安徽省普通高中学业水平选择性考试(物理)科目高考真题+(答案解析版)
- 湛江初一分班考试试题及答案
- 2025年成都东部集团有限公司及下属企业招聘考试笔试试卷【附答案】
- 各分项工程质量保证措施
评论
0/150
提交评论