`

Android 定位系统(GPS)开发基础

 
阅读更多

全球定位系统(Global Positioning System,GPS),是一个中距离圆型轨道卫星导航系统,可以为地球表面的绝大部分地区(98%)提供准确的定位、测速和高精准的时间标准。GPS广 泛运用于军事、物流、地理、移动电话、数码相机、航空领域等,具有非常强大的功能。

Android支持地理定位服务的API。该地理定位服务可以用来获取当前设备的地理位置 ,应用程序可以定时请求更新设备当前的地理位置信息。比如应用程序可以借助一个Intent接收器来实现如下功能:

以经纬度和半径规划一个区域,当设备进入给区域,发出提醒信息 ,还可以和Google Map API一起使用, 完成更多的任务。

关于地理定位系统的API全部位于android.location包内,其中包括以下几个重要的功能类:

LocationManager:本类提供访问定位服务的功能,也提供获取最佳定位提供者的功能。另外,临近警报功能也可以借助该类来实现。

LocationProvide:该类是定位提供者的抽象类。定位提供者具备周期性报告设备地理位置的功能。

LocationListener:提供地位信息发生改变时的回调功能。必须事先在定位管理器中注册监听器对象。

Criteria:该类使得应用能够通过在LocationProvider中设置的属性来选择合适的定位提供者。

Geocoder:用处理地理编码和反向地理编码的类。地理编码是指将地址或者其他描述转变为经度和纬度,反向地理编码是将经度和纬度转变为地址或 描述语言,其中包含了两个构造   函数,需要传入经度和纬度的坐标。getFromLocation方法可以得到一组关于地址的数组。

要使用地理定位,首先需要取得LocationManager的实例,在Android中,获取LocationManager的唯一方法就是通过 getSystemService()方法的调用。通过使用LocationManager,我们也可以获得一个位置提供者的列表。在一个真实的手持设备 中,这个列表包含了一些GPS服务。我盟也可以选择更强大、更精准、不带其他附件服务的GPS。代码如下:

LocationManager locationManager = (LocationManager)getSystemService(Context.LOCATION_SERVICE);

取得LocationManager对象后,我们还需要注册一个周期性的更新视图,代码如下:

locationManager.requestLocationUpdate(LocationManager.GPS_PROVIDER,1000,0,locationManager);

其中第一个参数是设置服务提供者,第二个参数是周期,这里需要特别说明一下最后一个参数locationManager,它用来监听定位信息的改变,所以我们必须实现以下几个方法:

  onLocationChanged(Location location):当坐标改变时触发次函数,如果Provider传进相同的坐标,它就不会触发。

  onProviderDisabled(String provider):Provider禁用时触发此函数,如GPS被关闭。

  onProviderEnabled(Sting provider):Provider启用是触发此函数,如GPS被打开。

  onStatusChanged(String provider, int status, Bundle extras):Provider的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数。

分享到:
评论

相关推荐

    AndroidGPS定位源码

    在Android平台上,GPS(全球定位系统)定位是开发者常用的功能之一,用于获取设备的精确位置信息。本资源提供了Android GPS定位的实例源码,对于学习和理解如何在Android应用中集成GPS定位至关重要。通过分析这些...

    Android GPS获得定位数据源代码

    尽管现在的Android开发更倾向于使用Google Play Services的FusedLocationProviderClient,但对于学习和理解Android定位机制的基础概念,这段代码仍具有参考价值。不过,实际应用中应考虑更多的因素,如定位精度、...

    Android获取GPS定位示例程序

    在Android平台上,获取GPS定位是移动应用开发中的基础功能,尤其对于那些依赖地理位置信息的应用,如导航、社交、天气预报等。本示例程序"LocationDemo"是专门为开发者设计的,用于展示如何在Android Studio环境下...

    Android内置GPS与百度GPS对比.zip

    首先,内置GPS是Android系统中提供的一种基础定位服务。它依赖于手机硬件中的GPS芯片,该芯片接收到至少四颗卫星的信号后,通过三角定位计算出设备的经纬度坐标。这一过程通常需要较长时间,尤其是在室内或信号弱的...

    android gps wifi 基站 定位齐全。源码

    总的来说,这个源码包提供了学习和实践Android定位服务的宝贵资源,涵盖了从基础的GPS定位到更复杂的WiFi和基站定位,以及可能的融合定位策略。对于任何想要提升Android定位技能的开发者来说,这是一个很好的学习...

    android应用源码(精)GPS定位测速源码-IT计算机-毕业设计.zip

    本资料是针对Android应用开发的一份精良源码,主要实现了GPS定位和测速功能,非常适合计算机科学与技术专业的学生进行毕业设计学习。在Android平台上,GPS定位和速度监测是移动应用开发中的常见需求,例如在导航、...

    Android GPS定位 代码+APK

    对于初学者,这是一个很好的学习实例,通过阅读源码和实际运行APK,可以加深对Android定位机制的理解。对于有经验的开发者,它也可以作为一个快速实现GPS功能的基础模块。无论哪种情况,这个资源都为理解和应用...

    Android程序_GPS定位器

    在Android平台上,开发一款GPS定位器程序涉及到许多关键知识点,这些知识点构成了Android应用程序与GPS硬件交互的基础。首先,我们来详细探讨一下这些重要的技术点。 1. **AndroidManifest.xml配置**: 在Android...

    android系统原理及开发要点详解

     第1章“Android系统概述”,概述Android系统方面的内容,包括智能手机平台的发展历程、Android系统的特点、Android的3种开发工作,以及Android的2种不同的开发方式。  第2章“Android系统开发综述”,介绍Android...

    基于android的GPS系统

    综上所述,基于Android 2.3的GPS系统不仅涉及到基础的GPS定位,还包括与用户交互的设置、地址转换以及导航功能。通过合理利用Android提供的API和服务,开发者可以构建出功能完善的定位导航应用。而“iTracks”这个...

    android基于GPS和LBS定位

    在压缩包中的`locationtest`可能是一个示例项目,它可能包含了一个简单的Android定位应用,用于演示如何集成和使用GPS和LBS。通过阅读和学习这个项目的代码,你可以更深入地理解如何在实践中应用这些概念。 总之,...

    delphi xe7android gps定位demo使用百度地图

    在开发Android应用时,有时我们需要实现GPS定位功能,Delphi XE7作为一个强大的跨平台开发工具,可以帮助我们轻松实现这一需求。本示例是关于如何在Delphi XE7环境下,利用百度地图API来实现Android设备上的GPS定位...

    Android编程实现GPS定位

    本文旨在引导开发者了解如何利用Android SDK来创建一个基础的GPS定位应用程序,包括如何设置开发环境,如何使用Activity类,以及如何通过XML布局来设计用户界面,并最终获取并展示GPS位置信息。 首先,为了开发...

    基于Android的智能移动设备GPS定位系统设计与实现.pdf

    《基于Android的智能移动设备GPS定位系统设计与实现》这篇文章主要探讨了如何在Android平台上设计和实现一个GPS定位系统,适用于智能移动设备。文章首先介绍了Android系统的框架结构,然后详细阐述了在Android平台上...

    androidGPS及WIFI基站定位坐标源码.zip

    综上所述,这份源码包提供了学习Android定位功能的宝贵资源,涵盖了从基础的定位API使用到性能优化和用户体验设计等多个方面。通过深入研究这些源码,开发者不仅可以了解如何在Android应用中实现定位功能,还能了解...

    androidgps基站与WIFI定位源码.zip

    通过这个源码,开发者可以深入理解Android定位机制,学习如何整合不同定位技术,并优化用户体验。同时,这也有助于开发者掌握如何处理位置数据,为实现更复杂的应用如实时追踪、路径规划等奠定基础。

    安卓GPS地图导航定位指南相关-Android高德地图gps定位.rar

    本压缩包"Android高德地图gps定位.rar"包含了与实现这一功能相关的源代码和资源文件,适合开发者进行学习和参考。 首先,我们要理解GPS(全球定位系统)的工作原理。GPS是一种基于卫星导航的定位系统,通过接收至少...

    Android读取GPS数据demo

    总之,“Android读取GPS数据demo”是一个实用的教学工具,它演示了如何集成和处理Android中的GPS数据,对于初学者来说,这是一个很好的起点,可以帮助他们理解和掌握Android定位服务的基础操作。

    基于ANDROID平台的GPS车辆定位系统的设计与实现.doc

    总的来说,基于Android平台的GPS车辆定位系统的设计与实现是一项集GPS技术、无线通信、地理信息系统和智能手机应用开发于一体的综合项目。它能够满足现代交通管理的需求,为公众提供安全、便捷的出行服务。随着移动...

Global site tag (gtag.js) - Google Analytics