




已阅读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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 酒店餐饮部承包合同书6篇
- 2025广东惠州市博罗县招聘编制教师143人模拟试卷及参考答案详解1套
- 2025年智能音箱的语音识别技术优化
- 2025年海洋生物技术:海水淡化反渗透膜材料技术创新在海洋生物提取中的应用
- 2025年临沂市商业学校公开招聘教师(18名)考前自测高频考点模拟试题及答案详解1套
- 2025年宜昌市西陵区公开招聘40名社区专职工作人员考前自测高频考点模拟试题附答案详解(典型题)
- 2025年杭州市临安区中医院医共体招聘合同制员工11人模拟试卷及答案详解(全优)
- 2024年延安振华学校教师招聘真题
- 2025广西玉林市“鬱上英才·创就玉林”人才招聘活动事业单位公开招聘662人考前自测高频考点模拟试题(含答案详解)
- 2025年4月四川广安理工学院筹建处引进高层次人才17人考前自测高频考点模拟试题及答案详解(全优)
- 国开2025年《行政领导学》形考作业1-4答案
- 广东省广州市天河执信中学2024-2025学年九年级上学期期中考试化学试卷(含答案)
- 养老护理员中级考试题库2025年(附答案)
- 2025贵州威宁自治县招聘城市社区工作者17人考试参考试题及答案解析
- 2025年南宁产业投资集团有限责任公司人员招聘笔试备考题库及答案详解(网校专用)
- 云南昆明元朔建设发展有限公司招聘笔试题库2025
- 2025至2030年中国车载摄像头行业市场调研及投资战略规划建议报告
- 政府机关防恐防暴演练方案范文
- 安徽省蚌埠市2025-2026学年高三上学期调研性监测语文(含答案)
- 钢铁销售基础知识培训
- 医生进修6个月汇报大纲
评论
0/150
提交评论