【Android源码 栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了Android源码 -基于Android平台的GPS导航系统 - 期刊论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
计 算 机 与 现 代 化 2012 年第 9 期 JISUANJI YU XIANDAIHUA 总第 205 期文章编号: 1006-2475( 2012) 09-0225-04 基于
Android 平台的 GPS 导航系统 曾薪夷 重庆金美通信有限责任公司,重庆 400030 摘要: 针对人们对地理信息的实时性及便捷出行旅游的需求,以及
Android 系统的优良性能,提出基于
Android 平台的 GPS 导航系统,利用完整、免费、开放的
Android 平台并结合 Google Map API,实现基于卫星授时、定位、轨迹 记录、路径规划的车载导航系统。
本文还针对导航应用的响应速度和流量控制提出解决办法,优化用户体验。
关键词: 安卓应用 全球定位系统 谷歌地图 导航 中图分类号: TP316 TN929. 5 文献标识码: A doi: 10. 3969 / j. issn. 1006-2475. 2012. 09. 059 Design and Implementation of GPS Navigation System Based on
Android Platform ZENG Xin-yi ( Chongqing Jinmei Communication Co.,Ltd.,Chongqing 400030,China) Abstract: Taking into account of demands of the real-time geographic information and convenient travel and tourism,as well as the excellent performance of
Android system,this paper designs and implements the GPS navigation applications system based on
Android platform. Taking use of complete,free and open
Android platform and combining with Google Map API,it achieves the satellite time,location,track record,path planning for car navigation. About response speed and flow control for navigation ap- plications,the paper also proposes a solution to get a better user experience. Key words:
Android application; GPS; Google map; navigation0 引 言 1 各种操作系统的比较 目前,
Android 不仅仅应用到手机,而且已经涉 目前应用在移动终端上的操作系统主要有 Sym-足车载终端和上网本市场。
随着国内 3G 进入正式 bian、Windows CE、Palm OS 和 Linux、IOS、
Android 六的应用阶 段, 用
Android 系 统 的 智 能 终 端 越 来 越 采 种。
Palm OS 是一种 32 位的嵌入式操作系统,其产
Android 吸引了不少商家和终端开发人员,多, 这使应 品本身就包括智能手机,但这种操作系统更倾向于用之间的通用性和互联性在最大程度上得到保持 。
多 PDA 市场。
Symbian 是 一 个 实 时 性、 任 务 的 纯 32由于私家车辆的速增,人们对户外出行导航提出更高 位操作系统,可以支持 GPRS、蓝牙、SyncML,以及 3G要求,导航软件在智能系统中的应用成为研究热点之 技术。
用户可以在这个平台上进行 Java 程序开发,一。
在
Android 系统 GPS 定位服务的支持以及 3G 无 扩展手机功能。
目前 Nokia 等厂商手机终端采用了线网络的驱动下,基于
Android 的良好的发展形势, Symbian。
Windows CE 是一个 32 位、多任务、多线程采用 Google 地图实现导航服务,是具有可行性的。
的操作系统,是一种压缩并可升级的软件系统,即使本文将
Android 与市场上其他的手机系统进行比较, 在小内存条件下也能提供较高的性能 ,并且拥有好的研究其发 展 现 状; 然 后 分 析
Android 平 台 的 系 统 架 电源管理系统,为嵌入的、移动的,或多媒体产品线提构; 最后针对
Android 平台结合 Google Map API 的导 供了支持。
而 Linux 系统源代码开放,手机制造商可航应用开发进行深入研究。
根据实际情况有针对性地开发自己的 Linux 手机操 作系统,也吸引了众多软件开发商对内容应用软件的 收稿日期: 2012- 10 04- ) 女, 作者简介: 曾薪夷( 1987- , 重庆大足人,重庆金美通信有限责任公司工程师,本科,研究方向: 通信工程。
226 计 算 机 与 现 代 化 2012 年第 9 期开发,但它入门难度高,熟悉其开发环境的工程师少, 大部分设备上,同时它具有强大的功能和完善的调试集成开发环境较差,尚未得到较广泛的支持。
iPhone 手段,它提供运行模拟器,DDMS 等丰富的组件。
本OS 是由苹果公司为 iPhone 开发的操作系统。
它主 系统是在 SDK1. 5 的环境下进行开发的。
在此基础要是给 iPhone 和 iPod touch 使用,就像其基于的 Mac 上载入 Google 官方提供的
Android 开发插 件 ADT。
OS X 操作系统一样,它也是以 Darwin 为基础的,它 开发环境搭建完成,即可新建工程来进行应用开发。
良好的性能深受消费者青睐,但其并不开源。
4 GPS 导航系统设计与实现 相比以上的系统,
Android 系统是一个真正意义上的开放性移动设备综合平台, Linux 为内核, 以 它 本系统针对车载应用设计了卫星时间校准、GPS包括操作系统、用户界面、中间件和应用程序,具有友 定位、路径规划导航、兴趣点搜索、路书应用、人工服好的开发和调试环境,而且还支持各种可扩展的用户 务等功能。
本文主要围绕 GPS 展开对卫星授时、GPS体验,不仅如此,平台集成的地图模块,轻型的 SQLite 定位、移动终端轨迹记录和路径规划进行研究 。
数据库,可视化的界面设计方案,方便快捷的 2D、3D 4. 1 UI 设计绘图,为对媒体功能和浏览器提供强大的支持。
An-droid 的平台开发性促进了应用创新,有助于降低开发成本,还可以使运营商能非常方便地制定开发富有特色的产品,具有很大的市场潜力。
2
Android 的系统架构
Android 结构分为 4 层〔1〕,从高到低分别是应用层、应用框架层、 系统运行库层和 Linux 内核层。
( 1) 应用层: 应用是用 Java 语言编写的运行在虚拟机上的程序。
Google 最开始时在
Android 系统中捆绑 图1 系统界面了一些核心应用, E- 日历 浏览器等。
如 mail 客户端、 、
Android 应用程序的基础功能单元就是 Activity ( 2) 应用框架层: 这层包含各种组件 ( 丰富可扩 类中的一个对象。
本系统的界面如图 1 所示,该界面展的视图、内容提供器等 ) ,构成了编写 Google 发布 使用 GridView 控件配 XML 样式来进行布局,并对其的核心应用时所使用的 API 框架,也可以使用这些框 设置容器 ImageAdapter,它继 承 BaseAdapter 类 并 加架来开发自己的应用,简化了程序开发的架构设计, 载该类方法 〔5〕 ,加入界面要显示的图片,最后为图片但是必须遵守其架构开发原则。
添加点击事件,实现系统界面的设计。
( 3) 系统运行库: 包含一些 C / C 库和 Adroid 4. 2 系统功能实现运行库, 些 库 能 被
Android 系 统 中 不 同 的 组 件 使 这 点击界面图标,通过 Intent 跳转相应的 Activity用,它们通过
Android 应用框架为开发者提供服务。
实现具体的功能。
本系统是基于定位导航的设计与 ( 4) Linux 内 核 层:
Android 的 核 心 服 务 基 于 实现,首先在 Manifest. xml 文件中加入应用包并进行Linux 内核,如安全性、内存管理、进程管理、网络协议 〔4〕 需要的权限 声明:栈和驱动模型等都依赖该内核。
Linux 内核同时也作 < uses-library
Android: name quot com. google.
Android.为硬件和软件栈之间的抽象层。
mapsquot / >3
Android 开发环境的搭建 < uses-permission
Android: name quot
Android. permission. INTERNETquot / > PC 主机安装 Windows XP 系统,本研究为应用层 < uses-permission
Android: name quot
Android. permission. 〔2〕开发,安装 Java 开发包版本为 JDK1. 6 , 除此外,还 ACCESS_COARSE_LOCATIONquot / >需安装 Eclipse 作为开发 IDE,之后, 安装配置 SDK, < uses-permission
Android: name quot
Android. permission.
Android SDK ( Software Development Kit) 是 Google 公 ACCESS_FINE_LOCATIONquot / >司针对
Android 推出的用于手机和移动设备的开发 4. 2. 1 卫星时间校准包,它通用性高,开发出的应用程序可保证能运行在 点击第一 个 图 标, 现 卫 星 时 间 的 获 取, 过 实 通 2012 年第 9 期 曾薪夷: 基于
Android 平台的 GPS 导航系统 227DDMS 发送的模拟卫星数据帧( 如图 2 所示) , Log- 由 mLocationManager. requestLocationUpdates ( mLocationPriv-Cat 〔6〕 知获得的时间数据 为 0, 利 用 再 1000, ider, 10,mLocationListener) ; MyOverLay mOverlay new MyOverLay( gp1, mode) ; gp2,Date 进 行 时 间 的 转 换, 设 置 为 yyyy- 并 dd MM- HH: List < Overlay > overlays mMapView. getOverlays( ) ;mm: ss 显示格式,卫星授时结果为 2012- 06 00: 00: 03- overlays. add( mOverlay) ;14。
通过 DDMS 加载 KML 文件,如图 5 所示,载入模 拟位置数据,模拟器运行结果如图 6 所示。
图2 LogCat 信息 long GpsTime location. getTime( ) ; Date date new Date( GpsTime) ; DateFormat df new SimpleDateFormat ( quot yyyy-MM-ddHH: mm: ssquot ) ;4. 2. 2 GPS 定位 进入 GPS 定位功能,可获取所在位置信息。
首先在布局文件中加载地图,然后获取 LocationManag-er〔7〕对象, 图5 载入模拟轨迹数据 图6 移动终端轨迹 设置 Criteria( 服务商 ) 的信息,并设置 Pro- KML 文件 记录图vider,取得效果最好的 Criteria,由于终端是移动的,所以注册一个位置监听器 LocationManager 监听定位 4. 2. 4 路径规划导航设计 基于 GPS 授时、定位和轨迹记录来设计实现系信息改变, 再 设置 更 新 周 期 为 3000ms, 获 取 当 前 的 统导航,
Android SDK 中已移除原有 M5 版本里的 在Location,取得位置的经纬度信息,再进行位置解析, 但 DrivingDirection Package, 是 Google 发 布 了 Google通过 address. getCountryName ( ) ,address. getLocality(),address. getPostalCode( ) , Maps JavaScript API V3,开发人员可以基于
Android 即可获取当前位置所在 提供的 WebView 控件中载入 Web 导航网页的方式实 城市及邮政编码, DDMS 中向模拟器发送模拟国家、 在 〔8〕 现导航功能。
WebView 不但可以运行一段 Html 代经纬度如图 3 所示, 模拟器运行定位结果如图 4 所示。
码,还有更重要的一个特点,它可以同 JavaScript 互相 调用,因此可以用 Html 和 JavaScript 来编写
Android 应用。
首先在 XML 布局文件中定义 WebView 控件, 在程序中加载该控件,并通过 loadUrl 方法载入网页。
下面通过调用 Google Maps JavaScript API V3 用 JavaScript 编写 Html 网页实现路径规划〔10〕。
从 Ac- tivity 中获取起始及目的地址与出行方式,本次出行 在 方式默认为 DRIVING, Activity 中先对输入的地址 进行解析, JavaScript 脚本中获取 Activity 传来的起 在 始点与 目 的 点 的 经 纬 度, 置 路 径 规 划 请 求 re- 设 图3 DDMS 模拟发送 图4 定位结果图 quest〔14〕,出行方式为自驾,要求返回多条规划结果, 经纬度数据 〔14〕 通过调用 directionsService. route 进行路径规划 :4. 2. 3 轨迹记录 directionsService. route( request,function( response,status) { 在实现轨迹记录的设计中,周期性获取移动终端 if ( status google. maps. DirectionsStatus. OK) { 〔9〕的地理位置,通过 OverLay 类 在地图上两点间画直 directionsDisplay. setDirections( response) ;线,只要获取位置的时间周期足够短,即可实现终端 }});的轨迹记录。
设置位置监听周期为 1000ms,gp1、gp2是终端移动前后两点的 GeoPoint。
228 计 算 机 与 现 代 化 2012 年第 9 期 pngquot ; img. src strURL; 5 结束语 本文基于
Android 开放平台结合 Google API 设 计实现了导航功能,对卫星授时、定位、终端移动轨迹 记录和路径规划进行研究,经测试,能实现精确定位, 可根据 用 户 需 求 选 择 的 规 划 路 线 进 行 导 航。
由 于
Android 的强大功能以及其完全开放的平台,
Android 应用开发将会有广阔的市场前.
上一篇:
调用Android系统 应用程序信息 Applica
下一篇:
7*30m公路预应力混凝土连续梁桥上部结构设计