版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 android传感器编程传感器编程 android 传感器 概述android传感器设备广泛 加速度传感器 距离传感器 温度传感器方向计iphonewii传感器用法有很多种可能性有很多种可能性感知屏幕布局的变化 婴儿监护器安全系统地震图 与各种无线网络连接与各种无线网络连接 google传感器api的演化1.5版本 主流pre-1.5 设备不工作-如g1、ophone 1.1public interface sensoreventlistener. 1.5以前的api 很多的例子 尤其在互联网上public interface sensorlistenergoogle传感器传感器api使用大
2、纲使用大纲 1。得到一个传感器系统服务2。创建一个监听器,听取传感器数据的变化3。通过该传感器系统服务登记服务侦听4。在监听过程中改变内部收集的传感器数据5。完成后,从系统中注销服务侦听pre-1.5 devices1.通过context.getsystemservice()得到一个sensormanager 实例,用sensor_service参数。2.实施和创建和sensorlisenter实例3.登记sensormanager实例的sensorlistener回调:boolean registerlistener(sensorlistener listener, int sensors)
3、4.在sensorlistener回到方法中,处理从传感器接收到的数据:void onsensorchanged(int sensor, float values)void onaccuracychanged(int sensor, int accuracy)5.完成后,从sensormanager中注销该回调方法:void unregisterlistener(sensorlistener listener)新的新的api中中 (1.5+)1.从context.getsystemservice()中得到一个sensormanager实例,参数是 sensor_service.2.实施和创建和
4、sensorlisenter实例3.在sensormanager实例中注册的sensoreventlistener 回调:boolean registerlistener(sensoreventlistener listener, sensor sensor, int rate, handler handler)4.收到sensoreventlistener传感器事件sensorevent: void onsensorchanged(sensorevent event)void onaccuracychanged(sensor sensor, int accuracy)5.从sensoreve
5、nt中,获得实际的传感器变化数据public final float valuespublic long timestamppublic sensor sensor6.完成后,从sensormanager中注销该回调方法:void unregisterlistener(sensoreventlistener listener)例程代码例程代码sensormanager sensormanager = (sensormanager) getsystemservice(sensor_service);int sensors=sensormanager.getsensors();public voi
6、d 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 getinclinati
7、on(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, flo
8、at) void unregisterlistener(sensoreventlistener) void unregisterlistener(sensoreventlistener, sensor) 改变的改变的 methods 过时了过时了 int getsensors()boolean registerlistener(sensorlistener, int) boolean registerlistener(sensorlistener, int, int) void unregisterlistener(sensorlistener) void unregisterlistener
9、(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(
10、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 getres
11、olution() 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中接收来
12、自传感器的改变事件 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.javaandroidmanifest 文件文件模拟器的问题sdk(2
13、.1版)不模拟传感器 在模拟器中测试程序,你将不会从传感器得到的任何数据 解决办法解决办法 -sensorsimulator http:/ (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.re
14、gisterlistener(this, 不要混合不要混合1.5 前前api和和1.5 后后api 新写的代码用1.5 +的api 除非确实有必要全面覆盖所有设备时才使用1.5前的api。两种api在常数设置上的差异 格外小心格外小心,不要混合用 sensor.type_ accelerometer - 新 api sensormanager.sensor_ accelerometer 旧 api常用传感器值的含义 手机是手机是g1/g2 magicos版本版本1.1, 1.5 和和 1.6 加速度计加速度计accelerometerx,y,z轴的正负向z轴的变化手机画面切换 方向计orientation sensor三个坐标的含义 x代表代表方位方位这是指相对磁北级的角度y指指间距间距是到该设备是向前或向后倾斜程度z-卷卷该设备相对于左下角的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 劳动法体系法律法规大全
- 医院护士技能大赛理论考试试题及答案(护理技术操作理论)
- 油气管道泄漏事故应急处理方案
- 城市发展项目校企合作实施方案
- 人教版五年级上学期数学期末试题5
- 信息技术培训工作总结报告
- 招商银行房屋抵押贷款合同
- 铁路沿线沟槽开挖专项施工方案
- 5W1H案例培训课件
- 2024年粑粑柑合同范本
- 外研版九年级英语上册单元测试卷
- DB11T 1763-2020干线公路附属设施用地标准
- 配电箱巡视检查记录表
- 成人氧气吸入疗法考试题
- GB/T 7973-2003纸、纸板和纸浆漫反射因数的测定(漫射/垂直法)
- 占比分析类PPT模板
- GB/T 21633-2020掺混肥料(BB肥)
- GB/T 21435-2008相变加热炉
- 河南省洛阳市《综合能力测试》事业单位国考真题
- 智慧消防整体解决方案消防大数据一体化管理平台解课件
- 《推窗风来》中考语文作文优秀6篇
评论
0/150
提交评论