2011年4月第2期文章编号:1672-8262(2011)02-16-04
城市勘测UrbanGeotechnicalInvestigation&;Surveying中图分类号:P208
Apr2011.No2.文献标识码:A
基于Android手机的地图应用
设计与开发
吴林,熊滔,蔡永香
(长江大学地球科学,湖北荆州摘434023)要:介绍了Google发布的新一代智能手机平台Android的
系统架构,并在分析手机用户和商家需求的基础上进行
*
了相应的功能设计和数据库设计,利用Google的地图应用接口和XML等技术,实现了基于Android手机平台的地图应用的基本功能。关键词:Android手机;地图应用;GoogleMap
1引
言
分功能)和Dalvik虚拟机。同时Android提供了丰富的库类支持且大部分为开
源代码,如采用的数据库为SQLite。Android选择它作为移动终端的嵌入式数据库有以下优点,它无需安装和管理配置,它是一个存储在单一磁盘文件中的完整的数据库,体积小只有250KB但支持数据库大小至2TB提供了对事务功能和并发处理的支持,而且比目前流行的大多数数据库运行速度快。
随着3G
网络的使用,移动终端不再仅是通讯网络的终端,还将成为互联网的终端。因此,移动终端的应用
软件和需要的服务将会有很大的发展空间设计的软件平台
[4][1]
。
Google为此于2007年11月推出了一个专为移动设备Android,并融合了谷歌地图技术,支持地图服务的应用开发。目前的地图服务主要以使用单机或者网页方式实现,这些方式不适合在户外旅游等场合下进行,给用户造成了很多地不便。而手机地图服务就能很好解决这个
问题,Android平台提供给普通开发者非常灵活的地图展示与控制功能,这将使地图服务有了更好的平台。另外,Android平台基本上是
免费的,所以能够有效降低软件的成本,最终让每个用户能够自由地获取信息,也为手机地图服务的普及作出
[5]
。
2Android平台的架构
Android平台整体自底向上由以下四个层次组成:Linux内核层、Android运行时库和其他库层、应用框架层、应用
程序层,如图1所示。(1)Linux内核层:Android基于LinuxVersion2623内核开发的,主要是添加了一个名为Goldfish的虚拟CPU以及Android运行所需的特定驱动代码。该层用来提供系统的底层服务,包括安全机制、内存管理、进程管理、网络堆栈及一系列的驱动模块。作为一虚拟的中间层,该层位于硬件与其他的软件层之间。(2)Android运行时库和其他库层:Android运行时库包含一组核心库(提供了
Java语言核心库内的大部
图1Android平台架构
(3)应用框架层:在应用框架Android开发人员可以跟那些核心应用一样拥有访问框架APIs的全部权限。应用的系结构化设计简化了各组件之间的重用,任何应用都可以分发自己的组件,任何应用也可以使用这些分发的组件(应用的使用方法需遵循框架的安全性约束)。
*
收稿日期:2010
08
29),女,硕士研究生,主要研究网络地理信息系统。
作者简介:吴林(1986
基金项目:长江大学楚天学者资助项目(移动GIS应用研究,201007)
第2期
吴林等
基于Android手机的地图应用设计与开发
17
(4)应用程序层:Android本身会附带一些核心的应用程序,包括E-mail客户端、短信程序、日历、地图、浏览器、通讯录等等,目前所有的应用程序都是由Java语言开发的。
显示。该功能主要为方便用户在一个自己不熟悉的地方为用户提供道路
导航信息。(4)广告推送功能:在GPS(或者利用基站CellId判断用户位置)开启情况下,当用户进入某商场(或其他服务场所)附近辐射区域范围时,该商场将产品、促销活动的相关服务信息以短消息方式发送到该手机用户,进行广告精准推送。(5)好友聊天功能:好友之间可聊天,并将附近一定区域内的好友在地图上定位显示,用户可获取附近区域内好友的位置信息。(6)数据搜集功能:用户可以上传地标信息、添加属