DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 656|回复: 0
打印 上一主题 下一主题

[GPS] 基于Android平台的GPS开发研究

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-1 06:13:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

Computer Knowledge and Technology 电脑知识与技术
本栏目责任编辑:唐一东人工智能及识别技术
第8 卷第26 期(2012 年9 月)
基于Android 平台的GPS 开发研究
张亮
(扬州工业职业技术学院电子信息工程系,江苏扬州225127)
摘要:随着基于Android 操作系统的智能手机的迅速普及,如何利用其自带的GPS 芯片进行定位程序开发成为研究的热
点。该文分析了Android 平台提供的与GPS 开发相关的类和接口,介绍了GPS 相关程序开发的基本步骤,对同类的研究有
一定的参考意义。
关键词:Android;GPS;定位
中图分类号:TN929 文献标识码:A 文章编号:1009-3044(2012)26-6351-02
Google 公司于2007 年发布了Android智能手机操作平台, 这是一个由底层Linux系统、中间件framework、用户UI和应用软件
App组成的, 全面整合的移动软件平台。自问世以来, Android 受到了业界的广泛欢迎和关注,各种基于Android的智能手机的发展
也极其迅猛,目前在智能手机的市场占有率已经稳居第一。基于Android的智能手机几乎都集成了GPS定位芯片,因此各种基于
GPS的定位程序的开发成为一个热门的研究领域,如何利用Android提供的相关类和接口来开发具有定位功能的程序,是一个十分
值得研究的课题。
1 GPS 原理
GPS技术起源于美国军方,其英文全称为Global Positioning System,中文翻译为全球定位系统。其定位的原理十分复杂,简单
的说,GPS系统通过获取处于高速运动中的卫星的瞬时位置来作为已知的起算数据,然后采用空间距离后方交会的方法,来确定待
测位置的经纬度坐标。GPS 系统由3 大部分组成,分别为空间星座部分、地面监控部分和用户设备部分。GPS的空间部分由21颗
工作卫星和3颗备用卫星组成。这些卫星分布在距地表20到200km的上空,以4颗为一组,均匀分布在6个轨道面上。之所以采用
这样的分布方法,目的是为了使用户设备无论在何时何地都能至少接收到4 颗以上卫星的信号。随着运行时间的增长,现有的导
航卫星可能会逐渐老化,到时候导航精度会逐渐降低,需要发射新的卫星进行替代。地面监控部分也由三部分组成,分别为主控
站、监控站和地面天线。控制站的功能是与卫星通信,收集其传回的各种信息,并计算卫星星历、大气校正、相对距离等数据。用户
接收设备部分是用户直接操作的部分,主要是接收卫星发射的信号,以获得必要的定位信息和观测量,并对数据进行计算处理以完
成最终的定位工作。
GPS技术从问世以来,就对人类的各种活动产生了巨大的影响。GPS技术覆盖了全球的每一个角落,定位速度非常迅速,而精
度又极其准确,因此具有极高的应用价值。可以说,这一技术的出现,从根本上解决了一直困扰人类的如何在地球表面精确定位导
航的问题。同时,GPS技术使用非常简便,普通人经过简单培训就可以使用。同时抗干扰能力和保密性能也都非常出色,因此完全
可以满足了不同层次用户的需求,并获得了广泛的应用。
2 相关类和接口简介
Android操作系统提供了丰富的Api来实现相应的功能,其中与位置服务相关的类主要有以下几个:
1)LocationManager: 该类提供了一系列的方法来访问android系统的位置服务功能,通过该类提供的方法,可以周期性的获取设
备当前的地理坐标。另外也可以使用该类来设定特定区域,在设备进入或离开特定区域时,Android系统会发出程序自定义的In?
tent。
2)LocationProvider: 该类主要功能是描述了当前设备能够提供定位功能的组件集合。可能包含手机基站定位,WIFI定位和GPS
定位等定位组件。这些组件以不同的技术来对设备的当前位置进行定位,其定位精度、速度和成本都各有千秋。
3)LocationListener: 这个是一个接口,用来进行事件响应。在程序中必须先定义一个类来实现这个接口并覆盖接口中的onLo?
cationChanged方法,这样当设备的定位位置发生改变时,会进行相应,并回调该方法中的代码。
4)Criteria: 该类用于描述希望系统提供的Location Provider 标准,包括要求位置精度水平是高还是低、电量消耗是大还是小、是
否希望获取海拔或方位信息、是否允许接收付费服务等。根据设定的标准,系统会选择最合适的定位功能组件来定位。
收稿日期:2012-07-02
作者简介:张亮(1981-),男(回族),江苏扬州人,现任扬州工业职业技术学院助教,计算机应用技术工学硕士,主要从事计算机专业
课程教学及科研工作。
E-mail: [img]mailto:eduf@cccc.net.cn]eduf@cccc.net.cn
[img]http://www.dnzs.net.cn]http://www.dnzs.net.cn
Tel:+86-551-5690963 5690964
ISSN 1009-3044
Computer Knowledge and Technology 电脑知识与技术
Vol.8, No.26, September 2012.
6351
Computer Knowledge and Technology 电脑知识与技术
人工智能及识别技术本栏目责任编辑:唐一东
第8 卷第26 期(2012 年9 月)
3 定位程序开发基本步骤
通过GPS来获取当前位置的经纬度坐标,可以采取下列步骤:
1)通过调用getSystemService(LOCATION_SERVICE)方法来获取当前LocationManager的实例。
2)选择LocationProvider,在Android系统中,存在着NETWORK和GPS两种不同的Location Provider,其中GPS精度比较高,但是
慢而且消耗电力,而且可能因为天气原因或者障碍物而无法获取卫星信息。而通过NETWORK获取坐标的优点是速度快且耗电
低,但获取的坐标精确度较低,一般来说NETWORK得到的位置精度一般在500-1000米,GPS得到的精度一般在5-50米。在应用
中,为了确保能获取到位置信息,可以采用两种LocationProvider同时使用的方法。另外也可以通过设置相应的Criteria对象,让系统
自动选择当前最符合标准的Provider。
3)为LocationManager注册LocationListener监听对象,该步骤通过调用requestLocationUpdates方法来完成。该方法的参数设定
了当前使用的LocationProvider的种类,每次更新坐标的时间间隔和当前注册的LocationListener的对象。
4)当客户端位置发生变化时,负责监听的LocationListener对象中的onLocationChanged方法被触发执行,此时可以通过调用lo?
cation.getLatitude()方法和location.getLongitude()方法来获取当前的经纬度坐标值。
4 结束语
GPS全球定位系统作为目前最流行的一种定位系统,在各个领域的应用十分的广泛,且对人类的生活产生了深远的影响。随着
Android操作系统的飞速发展和集成GPS芯片的智能手机的普及,进行GPS定位程序开发的门槛被降到了一个十分低的位置,原本
需要大量专业设备和收费程序才能实现的功能现在利用最普通的Android手机平台就可以轻松实现,且成本几乎为0。因此,基于
GPS的各种移动定位服务正在蓬勃发展,掌握Android平台的GPS编程是每一个移动开发者必备的能力,本文对这一技术领域进行
了详细的介绍和分析,对相关知识的学习和研究具有一定的参考价值。
参考文献:
[1] 郭蕊.基于Android 平台的GPS 定位系统的设计与实现[J].北京工业职业技术学院学报,2012,11(2).
[2] 倪红军.基于Android 平台的移动终端GPS 研究[J].计算机技术与发展,2012(5).
[3] 百度百科.GPS工作原理[EB/OL].[img]http://baike.baidu.com/view/7773.htm.]http://baike.baidu.com/view/7773.htm.
(上接第6350页)
机制进行详细介绍,并对生物免疫机制的特点进行总结。然后针对入侵检测系统和免疫系统相似性,构建基于免疫机制的入侵检
测系统。详细定义了系统自体和非自体的含义和匹配规则,并对检测器生成方法和生命周期进行了描述。最后对构建的基于免疫
机制的入侵检测系统进行了仿真实验,主要观察r连续位匹配算法中匹配阀值r对检测效率的影响。实验结果表明,对于基于免疫
机制的入侵检测系统,在不考虑时间成本的前提下,较大的r值生成的检测集的检测精度比较高,但这种检测精度的提高是以牺牲
检测时间为代价的。因此接下来要研究如何改进匹配算法,更好的兼顾检测率和检测时间。
参考文献:
[1] Oscar A,Fabio A G, Fernando N,et al.Search and Optimization:A Solution Concept for Artificial Immune Networks: A Coevo?
lutionary Perspective [C].Proceedings of 6th international conference on Artificial Immune systems,Brazil,2007:26-29.
[2] Hofmeyr, S, Forrest, S. Immunity by Design: An Artificial Immune System[C]//Proceedings of the 1999 Genetic and Evolution?
ary Computation Conference,1999:1289-1296.
[3] 杨进,刘晓洁,李涛,等.人工免疫中匹配算法研究[J].四川大学学报:工程科学版,2008,40(3):126-131.
[4] 马莉.基于免疫原理的网络入侵检测器生成算法的研究[D]. 南京:南京理工大学硕士论文, 2006.
[5] 卿斯汉,蒋建春,马恒太,等.入侵检测技术研究综述[J].通信学报,2004,25(7):19-29.
[6] 焦李成,杜海峰,刘芳,等. 免疫优化计算、学习与识别[M]. 北京:科学出版社, 2006.
[7] Dasgupta D,Gonzalez F.An Immunity-Based Technique to Characterize Intrusions in, Computer Networks [J].Special Issue
on Artificial Immune Systems of the Journal IEEE Transactions on Evolutionary Comput- ation.2002,6(3):281-291.
[8] Cantu-Paz E. Feature subset selection, class separability, and genetic algorithms[C]//Proceedings of the Genetic and Evolution?
ary Computation Conf, 2004:959-970.
[9] KDD cup 1999 data[EB/OL]. [img]http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.]http://kdd.ics.uci.edu/databases/kddcup99/kddcup99.html.
基于Android平台的GPS开发研究-.pdf (1.25 MB, 下载次数: 0)
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2024-5-12 20:08 , 耗时 0.089308 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表