android-位置服务与传感器

android-位置服务与传感器

ID:27881534

大小:1.45 MB

页数:31页

时间:2018-12-06

android-位置服务与传感器_第1页
android-位置服务与传感器_第2页
android-位置服务与传感器_第3页
android-位置服务与传感器_第4页
android-位置服务与传感器_第5页
资源描述:

《android-位置服务与传感器》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、-第八章应用8.1位置服务位置服务(LBS,LocationBasedServices)又称定位服务,是指通过GPS卫星或者蜂窝网络,获取各种终端的地理坐标(精度和纬度),在电子地图平台的支持下,为用户提供基于位置导航、查询的一种信息业务。GPS(GlobalPositionSystem,全球定位系统)是20世纪70年代由美国陆海空三军联合研制的新一代空间卫星导航定位系统。GPS的原理是利用三维坐标中的距离公式和3颗卫星就可以计算出观测点的精度和高程。2005年2月Google推出了GoogleM

2、aps,该服务为Google的搜索服务增加了影响力,之后Google也将GPS应用放在了Android的设备中。本章节我们将学习在Android系统下如何使用相关API实现位置服务功能。8.1.1获取位置信息由于手机设备的移动性,决定了手机在位置服务方面拥有比固定设备更多的优势,可以开发出多种基于移动设备的位置服务应用程序。AndroidSDK提供了android.location包和GoogleMapsAPI支持位置服务功能,开发人员可以方便的开发自己的位置服务应用。Android系统支持两种定

3、位方式:GPS定位和网络定位。GPS定位信息来自于卫星,精度很高,但是仅在户外有效,其首次获取位置时间较长且耗电量非常大;而网络定位使用的是移动通信基站和Wifi信号,这种方式室内和户外都可以使用,响应速度快,耗电少,但是精度难以保证。开发者需根据实际需求来选择所用的定位方式。8.1.2LocationManager介绍在Android位置服务中,LocationManager是一个非常重要的的类,它用于管理用户的位置服务信息,提供确定用户位置的API,通过这个类可以实现定位、跟踪和目标趋近等功能

4、。LocationManager对象不能直接实例化,需要通过Context.getSystemService方法获得LocationManager对象可以完成下面三个方面的任务:l从用户的位置查询所有可用的LocationProvider列表。l从特定的LocationProvider周期性的获取用户当前位置的功能。l当用户位置接近某个特定区域时,启动相关任务。表8-1为LocationManager类的常用方法。常用方法和属性方法描述getAllProviders()获得所有的LocationP

5、rovider列表getBestProvider(criteria,enabledOnly)根据criteria返回最合适的LocationProvidergetLastKnownLocation(provider)根据provider获得最新位置信息getProvider(name)根据名字获得LocationProvidergetProviders(enabledOnly)获得可用的LocationProvider列表requestLocationUpdates(provider,minTim

6、e,minDistance,listener)通过给定的Provider名称,并将其绑定指定的LocationListener监听器.---GPS_PROVIDER静态字符串常量,表明LocationProvider是GPSNETWORK_PROVIDER静态字符串常量,表明LocationProvider是网络表8-1LocationManager类的常用方法8.1.3LocationProvider介绍LocationProvider用来描述位置提供者,设置位置提供者的一些属性。可以通过Cri

7、teria类来为LocationProvider设置条件,获得合适的LocationProvider。表8-2列出了LocationProvider的常用方法和属性。常用方法和属性方法描述AVAILABLE静态整型常量,标示是否可利用OUT_OF_SERVICE静态整型常量,不在服务区TEMPORAILY_UNAVAILABLE静态整型常量,临时不可利用getAccuarcy()获得精度getName()获得名称getPowerRequirement()获得电源需求hasMonetaryCost(

8、)花钱的还是免费的requiresCell()是否需要访问基站网络requiresNetWork()是否需要Intent网络数据requiresSatelite()是否需要访问卫星表8-2LocationProvider的常用方法和属性LocationProvider中最常用的两个是GPS_PROVIDER和NETWORK_PROVIDER,就是前文提到过的GPS定位和网络定位两种方式。使用下面代码可以获取系统所有的LocationProvider名称:packageintrodu

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。