设为首页收藏本站优领域

优领域

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
优领域 优领域 IT领域 Android开发 查看内容

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

2013-5-11 00:12| 发布者: Saiu| 查看: 2027| 评论: 0

摘要: 智能手机设备已经成为获取信息的主要设备来源之一,随着移动平台技术的飞速发展和GPS应用的领域不断的扩展,在手机上拓展GPS功能已成为移动应用程序开发的热点。
      摘要:首先对Android 框架结构进行了研究;提出了基于Android 的智能手机平台GPS 定位的方法,着重探讨了Android 的GPS 定位技术和编程实现方法;实现了Android 系统GPS 定位与导航。
        关键词:3G;智能手机;无线定位;Android;GPS
        1 概述
        随着第三代移动通讯(3G)技术在各个行业的广泛应用,为移动终端用户带来了更快的网络数据传输速率。智能手机不在仅仅只是通讯网络的终端,而且也是互联网络的终端。智能手机设备已经成为获取信息的主要设备来源之一,随着移动平台技术的飞速发展和GPS应用的领域不断的扩展,在手机上拓展GPS功能已成为移动应用程序开发的热点。Android作为Google推出的一款智能手机操作系统,具有开发性好,软硬件功能扩展性强。所以在Android平台开发GPS相关的应用具有巨大的潜力。
        2 开发平台
        2.1 Android 平台系统架构
        Android是一组面向移动设备的软件包,包含了一个操作系统,中间件和关键应用程序。Android SDK提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言,在Android平台上开发应用程序。
        一般来说Android系统架构由下面5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。1)Linux Kernel: 是Android提供的核心系统服务。2)Android Runtime: Android包含一个核心库的集合,提供大部分在Java编程语言核心类库中可用的功能。3)Libraries: Android:包含一个C/C++库的集合,供Android系统的各个组件使用。4)ApplicationFramework:通过提供开放的开发平台。5)Applications:是Android一个核心应用程序的集合。

图1 Android 系统架构

        2.2 Android GPS 定位技术
        2.2.1 GPS 定位技术
        首先需要建立网络连接:GPS手机终端首先通过GPRS连接模块打开GPRS连接,随后SOCKET通信模块与后台服务器建立通信;通过手机终端内置的GPS模块接受卫星发出的报文信息,利用GPS解析模块解算定位数据(经度,纬度,时间,速度,方向)和状
态数据(报警信息)等,经过上传信息按照指定格式信息打包上传至后台监控服务器进行处理。手机终端除上传GPS定位信息外,
        还可以借助GPRS信道,按照规定协议XML文件上传至服务器处理,服务器通过信道协议解析,GPRS通道将控制信息和服务信息,下达手机终端,最终实现用户手机的定位与监控。

图2 GPS 定位示意图

        2.2.2 Android 平台下相关类
        在Android平台上,从窗口获取GPS数据,已经提供了接口,只需去调用这些相关的接口,就可以获取GPS数据信息,而不用去编写程序来读串口信息;主要用到的类:1)Location Manager;2)Location;3)GpsStatus;4)Criteria;
        3 位置服务
        3.1 位置服务(Location-Based Services,LBS)
        又称定位服务或基于位置的服务,融合了GPS定位、移动通信、导航等多种技术,提供了与空间位置相关的综合应用服务。Android平台提供了位置服务的API,在开发过程中主要用到Location Manager和Location Providers两个对象。
Location Manager提供了一种便捷、高效的位置监视方法request Location Updates(),可以根据位置的距离变化和时间间隔设定产生位置改变事件的条件。Location Manager中设定了监听位置变化的代码如下:第1个参数是定位的方法,是GPS定位还是网络定位;第2个是产生位置改变事件的时间间隔参数,单位为微秒;第3个是距离参数条件,单位是米;第4个参数是回调函数,在满足条件后的位置改变事件的处理函数。
        Location Manager可以用来获取当前的位置,追踪设备的移动路线,或设定敏感区域,在进入或离开敏感区域时设备会自动发出特定的警报。Location Providers是提供定位功能的相关组件集合,集合中的每种组件以不同的技术指出设备的当前位置,主要从定位的精度、速度和成本等方面考虑。
        3.2 系统实现关键技术和代码
        3.2.1 Android 智能手机GPS 导航原理
        GPS芯片负责接收来自卫星的坐标信号,计算出精度、纬度甚至高度。凭借不断地接收来自卫星的信号,GPS芯片还能够计算出速度、距离以及到达预设点的时间。AGPS(Assisted GPS,A-GPS,网络辅助GPS)定位技术结合了GPS定位和蜂窝基站定位的优势,借助蜂窝网络的数据传输功能,可以达到很高的定位精度和很快的定位速度,在移动智能设备被越来越广泛的使用。
GPSONE是AFLT和AGPS定位综合的技术,定位精度可以达到5-50m。由于终端只需使用简单的三角定位算法计算当前位置,终端的功耗非常小。该技术主要是高通提出的。AFLT运用于CDMA2000系统中,是一种基于前向链路的定位方法。在进行定位操作时,手机同时监听多个基站(至少3个基站)的导频信息。利用码片时延来确定手机到附近基站的距离,最后用三角定位法算出用户的位置。GPSONE的定位无需通过GPS芯片获得卫星信息,所有定位信息通过基站获得。对于手机终端来说,GPSONE使得终端可以脱离卫星的制约,无需像AGPS那样支付额外的数据通信费用,使用范围更广。
        GPSONE和纯AGPS对比测试中,由于具有网络覆盖的优势,AGPS使用起来效果更好更稳定。而GPSONE在国内的CDMA网络环境下没有实现其应有的优势。
        3.2.2 GPS 定位导航关键技术代码
        我们设计一个简单的窗体程序,一个Android中的视图仅仅需要重载一个onDraw方法。定制视图可以是复杂的3D实现或是非常简单的文本形式。下面的CreateView方法列出了上面看到的内容[12]。
        public void onCreateView()
        {GpsView = new GpsView(this);}
        这个方法简单地调用了GpsView对象的构造方法。GpsView类的定义如下:
        public class GpsView extends View
        {MyLocate overlord;
        public GpsView(LocateMe pCtx)
        {super(pCtx);
        overlord = pCtx;}
        public void onDraw(Canvas canvs)
        {Paint p = new Paint();
        String StrLat = "Latitude: " + overlord.getLat();
        String StrLon = "Longitude: " + overlord.getLon();
        canvs.drawText(StrLat, 32, 32, p);
        canvs.drawText(StrLon, 32, 44, p);}}
        上面的程序,GpsView这个视图获得了经度和违度的测试数据,并将这些数据通过onDraw()方法显示在屏幕。这需要调用一个LocateMe的指针。Activity类是整个应用程序的核心。它的两个方法是构造方法和onDraw方法。这个构造方法调用了超类的构造方法以及引起了Activity指针的中断。onDraw方法将建立一个新的Paint对象(这个对象封装了颜色、透明度以及其他的主题信息),这个对象将会访问颜色主题。
        4 结束语
        该文分析了Android开发平台、体系架构,及其平台的优越性,以及在智能手机开发中便捷性。讨论了在Android 智能手机平台上,通过利用面向对象的编程技术实现智能手机GPS导航和定位及其相关的应用。其中着重探讨定位技术和Google Maps。利用智能手机各个功能模块,结合Android系统的自带的接口和类库,完成相关的功能,对定位信息进行数据处理,计算所处位置的经度、纬度、海拔等信息。并实时将定位的参数传输到服务器管理平台。
        作为无线移动通信系统的特色业务之一,移动定位业务被全球的很多移动运营商视为是未来移动增值业务的一个亮点。3G时
代的到来将会为Android的GPS应用提供更加广泛的空间。
参考文献:
[1] 刘正,陈强.基于Android的GPS应用中的研究与开发[J].中国西部科技,2010(32).
[2] 农丽萍,王力虎,黄一平.Android在嵌入式车载导航系统的应用研究[J].计算机工程与设计,2010(11).
[3] 王志国,侯银涛,石荣刚.Android智能手机系统的文件实时监控技术[J].计算机安全,2009(12)
[4] 公磊.基于android的gps测量系统开发[D].南昌大学,2008.
[5] 舒贤华.基于Android平台的手机Web地图服务设计[D].大连海事大学,2009.
[6] 张加全,刘明雍,李闻白.一种基于单移动GPS智能浮标的AUV导航方法[J].鱼雷技术,2010(2).
[7] 秦超,姜良君,蔡永香.基于Android的移动终端GPS测量系统的设计与开发[J].城市勘测,2011(1).
[8] 张艳芳.Android手机Web地图服务的应用设计[D].南昌大学,2010.
[9] 王浩.基于Windows CE模拟器的GPS定位程序设计[J].江汉大学学报,2011(3).
[10] 杨颜溶.一种基于3G移动通信系统的GPS定位系统[J].机械管理开发,2

相关阅读

网站统计|优领域|优领域 ( 粤ICP备12011853号-1 )  

GMT+8, 2019-1-18 15:46 , Processed in 0.088713 second(s), 12 queries .

Copyright © 2008-2014 优领域

回顶部