android第十三章.ppt_第1页
android第十三章.ppt_第2页
android第十三章.ppt_第3页
android第十三章.ppt_第4页
android第十三章.ppt_第5页
免费预览已结束,剩余19页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Android程序开发应用实例第十三讲AndroidGPS业务开发 2 内容概要 3 本节内容 什么是Android GPS工作原理 GPS介绍 GPS GlobalPositioningSystem 是全球定位系统 其最初是为陆 海 空三大领域提供实时 全天候和全球性的导航服务 并用于情报收集 核爆监测和应急通讯等一些军事目的 GPS系统由三部分构成 卫星网地面控制部分接收机 GPS卫星网组成 24个卫星均匀分布在6个空间轨道上 GPS定位过程 卫星不断使用伪随机码来发射导航电文 导航电文包括卫星星历 工作状况 时钟改正 电离层时延修正 大气折射修正等信息 当接收机捕获到捕捉到卫星的信号后 计算卫星信号传播到用户所经历的时间 再将其乘以光速 由此得到接收机到卫星之间的伪距离 接收机根据解析出卫星轨道参数等信息和接收机到卫星之间的伪距离 计算出用户所在地理位置 7 本节内容 什么是Android AndroidLocation BasedAPI 位置相关API Android提供了位置相关的API 这些API封装在android location包里 通过这些API 开发人员可实现位置相关的应用 Android location定义了3个接口和7个类 Android location定义的接口是位置相关的监听器Android location定义的类提供了处理位置相关的方法 Android location接口 GpsStatus ListenerGPS状态监听器 这些状态包括定位启动 结束 第一次定位 卫星变化等 GpsStatus NmeaListenerNMEA数据更新监听器LocationListener位置变化监听器 包括位置信息变化 GPS状态变化和GPS开启 Android location类 Geocoder 功能类似于TCP IP协议中的ARP和RARP 提供了地理编码解析和反向解析功能 Criteria 使得应用能够通过LocationProvider中设置的属性来选择合适的定位提供者 GpsSatellite 描述当前GPS卫星的状态 GpsStatus 描述以前GPS的状态 Location 描述位置信息 LocationManager 获取系统位置服务 LocationProvider 描述位置提供商的类 11 本节内容 什么是Android Android模拟器支持的GPS定位文件 支持的GPS定位文件 Android支持两种GPS的位置格式 KML和NMEA KML KeyholeMarkupLanguage 是Keyhole标记语言NMEA NationalMarineElectronicsAssociation 是美国海军电子协会制定的协议 KML KML用于描述和保存地理信息 如点 线 图像 多边形和模型等 采用XML语法与格式的语言 可以被GoogleEarth和GoogleMaps识别并显示 像HTML一样 KML使用包含名称 属性的标签 tag 来确定显示方式 例如 Simpleplacemark 122 0822035425683 37 42228990140251 0 NEMA NMEA是为海用电子设备制定的标准协议 NMEA协议有NMEA0180 NMEA0182和NMEA0183等三种形式 其中NMEA0183是常用的协议 大多的GPS设备都支持这种协议 NMEA通讯协议以ASCII码作为字符编码NMEA 0183协议规定协议数据单元必须以 符号作为开始 以 作为结束 符号是协议单元的起始符号 为协议单元终止符 为协议中域的分隔符 为校验和识别符 其后面的两位数为校验和 代表了 和 之间所有字符的按位异或值 NEMA NMEA是为海用电子设备制定的标准协议 NMEA协议有NMEA0180 NMEA0182和NMEA0183等三种形式 其中NMEA0183是常用的协议 大多的GPS设备都支持这种协议 NMEA通讯协议以ASCII码作为字符编码NMEA 0183协议规定协议数据单元必须以 符号作为开始 以 作为结束 符号是协议单元的起始符号 为协议单元终止符 为协议中域的分隔符 为校验和识别符 其后面的两位数为校验和 代表了 和 之间所有字符的按位异或值 16 本节内容 什么是Android LocationManager和LocationProvider LocationManager和LocationProvider介绍 AndroidLocationManager提供了一系列方法来处理地理相关的问题 例如注册 注销LocationProvider周期性的位置更新 LocationProvider是描述位置提供商的类 有两种类型的LocationProvider GPS PROVIDERNETWORK PROVIDER 这两种类型LocationProvider适合不同的应用场景 程序开发人员可以根据实际需要来权衡使用哪种类型的LocationProvider LocationManager 要使用LocationManager 需要使用getSystemService方法来生成获取LocationManager的一个实例 getSystemService Context LOCATION SERVICE 要实时的获取位置信息 需要创建一个LocationListener并使用LocationManager注册该LocationListener LocationListener包含了在位置信息更新时的被调用的方法 其中包括onLocationChanged onProviderDisabled onProviderEnabled onStatusChanged 在创建时要重写这些方法 LocationManager 要使用LocationManager 需要使用getSystemService方法来生成获取LocationManager的一个实例 getSystemService Context LOCATION SERVICE 要实时的获取位置信息 需要创建一个LocationListener并使用LocationManager注册该LocationListener LocationListener包含了在位置信息更新时的被调用的方法 其中包括onLocationChanged onProviderDisabled onProviderEnabled onStatusChanged 在创建时要重写这些方法 LocationProvider 在创建LocationProvider对象之前 需要先创建Criteria对象 Criteria对象用来设置LocationProvider需要满足的特性 例如 CriteriamyCriteria newCriteria 创建Criteria对象myCriteria setAccuracy Criteria ACCURACY FINE 设置LocationProvider满足的精确度myCriteria setAltitudeRequired false 不需要海拔myCriteria setCostAllowed true 允许收费myCriteria setPowerRequirement Criteria POWER LOW 要求低耗电StringmyLocationProvider locationManager getBestProvider myCriteria true 获取位置信息的流程 获取位置信息的流程 创建LocationManager对象 若使用自定义的位置提供商 则创建Criteria对象 并使用Criteria设置筛选标准 否则可直接使用系统提供的NETWORK PROVIDER或者GPS PROVIDER 创建LocationListener实例 根据需要重写LocationListener实例中的方法 使用requestLocationUpdates注册LocationListener 实现位置变化的监听机制 计算位置信息 使用removeUpdates取消对位置变化的监听 22 本节内容 什么是Android 总结 总结 本章将介绍了A

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论