Android 定位系统(GPS)开发详解_Android

全球定位系统(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.requestLocationUpdate(LocationManager.GPS_PROVIDER,1000,0,locationManager);

取得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的状态在可用、暂时不可用和无服务三个状态直接切换时触发此函数。

 以上就是对Android GPS 做的资料整理,有需要的朋友可以参考下。

以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索android
, gps
, 开发
定位
gps定位算法详解、android gps详解、gps卫星定位系统、gps电话定位寻人系统、车载gps定位系统,以便于您获取更多的相关知识。

时间: 2024-12-20 11:14:55

Android 定位系统(GPS)开发详解_Android的相关文章

Android项目基本结构详解_Android

一.简介 第3章虽然通过百度地图应用展示了你可能感兴趣的内容,但是,如果你是一个初学者,一开始就看懂和理解代码可能会非常费劲.为了解决此问题,从这一章开始,本模块将从最基本的内容讲起,带你逐步进入用C#进行Android应用开发的乐园. 二.AndroidApp入口 要用C#开发Android应用程序,首先需要对项目的基本结构有一个感性认识.如下图所示: Android应用程序使用的是单一入口,源程序中并不能一眼看出程序从哪开始运行,当应用程序加载到内存中时,Android操作系统会自动从内部自

Android 手势操作编程详解_Android

      手势操作在我们使用智能设备的过程中奉献了不一样的体验.Android开发中必然会进行手势操作方面的编程.那么它的原理是怎样的呢?我们如何进行手势操作编程呢?        手势操作原理        首先,在Android系统中,每一次手势交互都会依照以下顺序执行.        1. 接触接触屏一刹那,触发一个MotionEvent事件.        2. 该事件被OnTouchListener监听,在其onTouch()方法里获得该MotionEvent对象.        3

Android实现动画效果详解_Android

目前Android平台提供了两类动画一类是Tween动画,第二类就是 Frame动画,具体内容介绍请看下文: 一类是Tween动画,就是对场景里的对象不断的进行图像变化来产生动画效果(旋转.平移.放缩和渐变). 第二类就是 Frame动画,即顺序的播放事先做好的图像,与gif图片原理类似. 实现动画有两种方式:一种使用XML文件(文件放在res/anim),一种直接代码搞定  1.透明度控制动画效果alpha <!-- 透明度控制动画效果alpha 浮点型值: fromAlpha 动画起始时透明

Android Matrix源码详解_Android

Matrix的数学原理 在Android中,如果你用Matrix进行过图像处理,那么一定知道Matrix这个类.Android中的Matrix是一个3 x 3的矩阵,其内容如下:  Matrix的对图像的处理可分为四类基本变换: Translate           平移变换 Rotate                旋转变换 Scale                  缩放变换 Skew                  错切变换 从字面上理解,矩阵中的MSCALE用于处理缩放变换,MS

Android ListView的OnItemClickListener详解_Android

我们在使用ListView的时候,一般都会为ListView添加一个响应事件android.widget.AdapterView.OnItemClickListener.本文主要在于对OnItemClickListener的position和id参数做详细的解释,我相信有些人在这上面走了些弯路. 先来看一下官方的文档 position The position of the view in the adapter. id The row id of the item that was click

Android DownloadProvider 源码详解_Android

Android DownloadProvider 源码分析: Download的源码编译分为两个部分,一个是DownloadProvider.apk, 一个是DownloadProviderUi.apk. 这两个apk的源码分别位于 packages/providers/DownloadProvider/ui/src packages/providers/DownloadProvider/src 其中,DownloadProvider的部分是下载逻辑的实现,而DownloadProviderUi

Android入门之画图详解_Android

前文常用的控件介绍了不少,现在就来讨论一下手机开发中常用到的画图.要掌握Android的画图,首先就要了解一下,基本用到的如下一些图形接口: 1.Bitmap,可以来自资源/文件,也可以在程序中创建,实际上的功能相当于图片的存储空间: 2.Canvas,紧密与Bitmap联系,把Bitmap比喻内容的话,那么Canvas就是提供了众多方法操作Bitamp的平台: 3.Paint,与Canvas紧密联系,是"画板"上的笔刷工具,也用于设置View控件上的样式: 4.Drawable,如果

Android 五大布局方式详解_Android

Android中常用的5大布局方式有以下几种: 线性布局(LinearLayout):按照垂直或者水平方向布局的组件. 帧布局(FrameLayout):组件从屏幕左上方布局组件. 表格布局(TableLayout):按照行列方式布局组件. 相对布局(RelativeLayout):相对其它组件的布局方式.  绝对布局(AbsoluteLayout):按照绝对坐标来布局组件.  1. 线性布局 线性布局是Android开发中最常见的一种布局方式,它是按照垂直或者水平方向来布局,通过"androi

android压力测试命令monkey详解_Android

一.Monkey 是什么?Monkey 就是SDK中附带的一个工具. 二.Monkey 测试的目的?:该工具用于进行压力测试. 然后开发人员结合monkey 打印的日志 和系统打印的日志,结局测试中出现的问题. 三.Monkey 测试的特点?Monkey 测试,所有的事件都是随机产生的,不带任何人的主观性. 四.Monkey 命令详解 1).标准的monkey 命令[adb shell] monkey [options] <eventcount> , 例如:adb shell monkey -