1、本科毕业论文(20 届)android 手机地图应用开发所在学院专业班级 计算机科学与技术学生姓名指导教师完成日期摘要手机地图服务,是一项新兴且有广阔市场和应用价值的业务,它利用移动终端的定位技术,通过移动通信网络与手机地图应用服务器之间的互联通信,提供给客户各种与位置相关的信息服务,方便了用户的出行。本论文主要阐述了手机Web地图服务系统的需求分析、功能模块的设计、系统流程和界面设计,并对系统实现过程中所用到的关键技术进行了介绍。本文所实现的Web地图服务是基于Android平台开发的,采用的网络地图是Baidu Maps,该系统可以用来浏览城市的地图,并能对其放大、缩小和移动,同时利用GP
2、S定位技术,实现了自我定位、位置查找和路径跟踪等功能,满足了手机用户基本的地图服务需求。关键词:3G;Android:GPS;Baidu MapsABSTRACTMobile phone map service, is a new and broad market and application value to the business, it uses the mobile positioning terminal, through Internet communication between mobile communication network and mobile phone ma
3、p application server, to provide information services related to the location of various customers, convenient for the users to travel. This paper mainly expounds the analysis of mobile phone, Web map service demand of system function module design, system flow and interface design, and the key tech
4、niques used in the process of implementation of the system are introduced. The Web map service mentioned in this paper is based on Android platform, using the network map is Baidu Maps, the system can be used to browse the map of the city, and can move the zoom, and, at the same time, by using GPS t
5、echnology, realizes the function of self positioning, find location and path tracking, meet the mobile phone users map service the basic needs.Keywords:3G;Android;GPS;Baidu Maps目录1 引言 .111 手机地图的产生 .112 手机地图的背景及意义 .113 手机地图服务的发展趋势及相关的网络地图服务 .1131 手机地图服务的发展趋势 .12 Android 概述 .321 Android 平台的优点 .322 And
6、roid 平台的特征 .323 Android 平台的体系架构 .324 Android 应用程序构成 .425 Android 应用程序的开发环境 .53 技术支持 和 Baidu Maps .631 手机地图服务 .632 定位技术 .6321 基于移动终端定位 .6322 基于网络定位 .633 百度 Maps .634 Android 平台下的相关类 .7341 定位服务类 .7342 地图服务类 .74 系统设计及相关技术 .841 系统设计特点 .842 系统需求分析 .843 系统功能模块 .844 用户界面设计 .95 系统的实现 .1051 存储模块的实现 .10511 位置
7、信息的存储 .10512 配置信息的存储 .1152 地图服务界面的实现 .12521 自我定位功能的实现 .13522 位置列表功能的实现 .14523 行车探路功能的实现 .15524 地址搜索功能的实现 .16525 手机定位发送功能 .176 总结与致谢 .18参考文献 .1911 引言11 手机地图的产生手机地图服务是随着地理信息技术、卫星定位技术和移动通信技术的发展而出现的新的地图应用形式,它为人们通过移动设备享用地理信息服务提供了方便,使用户能在手机上享受和网络上同样的地图服务。手机地图服务是指在手机上利用GPS或者网络实现精确定位,通过使用NAP方式或客户端方式,得到相关位置信
8、息的业务。手机地图为用户提供了一种便捷实用的掌上地图,通过手机屏幕,用户可以查询城市信息、查找自己的位置、查找道路信息,方便了出行。手机地图服务的主要特点是:令移动性和便携性,手机用户可以自由的移动。覆盖面广,移动通信网覆盖的范围都可以使用。交通服务,通过手机地图了解全国各个地方的位置情况,并获得到达目的地的路线图、交通状况、天气状况等信息。查询广泛,通过手机地图随时查询自己所处的位置和好友的位置。12 手机地图的背景及意义随着计算机和定位技术的飞速发展,全球定位系统(GPS)和地图服务得到了更广泛的重视和应用,将地图有效地与位置定位技术相结合,应用前景十分广阔。设计手机地图服务的应用具有非常
9、实用的价值。13 手机地图服务的发展趋势及相关的网络地图服务作为地理空间信息表达形式之一的手机地图,越来越受到人们的重视和欢迎。因此,对手机地图服务的研究与开发是当前移动设备应用开发中最为活跃的领域之一。131 手机地图服务的发展趋势大众化随着社会的发展,人们对地理信息的需求越来越多,从地图服务中人们得到的不仅仅是方便,还有效率和效益。由于人们日常生活中不可能随时随地通过网络获取地图服务,而通过手机获取地图服务是解决这个问题的很好方案,因此手机地图服务的推广必将大大方便人们的生活。2行业化手机地图服务作为一项高新技术产业,对行业的影响是积极的。一方面,将位置服务与地图相结合可以提高一些相关行业
10、服务的效率。例如在安全救援行业,手机地图服务可以通过手机定位,及时获取救援对象的位置,并在地图上标识出来,给救援工作带来了极大的便利。另一方面,对一些传统行业加以改造,实现其在新环境下的飞跃。最典型的例子便是物流管理,运用基于手机平台的位置服务,将货物的物理位置在地图上标识出来,并以此为基础,处理物流业务的各个环节,实现了物流业务的电子化。随着技术的不断发展,手机地图服务将会渗透到更多的行业。32 Android 概述Android是Google于2007年11月推出的一款全新的智能手机平台,由操作系统、中间件、用户界面和应用程序组成。2008年9月23日,美国运营商T-MobileUSA在纽
11、约发布了第一部使用Android操作系统的手机T-MobileGl,该款手机支持WCDMAHSPA网络,理论下载速率为72Mbps,并支持WiFi。21 Android 平台的优点平台的开放性允许任何厂商加入,使其拥有更多的开发者,新的应用还有创意可以不断的出现。摆脱了运营商的束缚,让手机更加贴近互联网。夺应用程序都是基于Java开发的,Java具有一次编写、到处运行的跨平台性。实现了能够在所有的Android设备中运行,真正做到了硬件无关性,降低了开发者的负担。提供了标准的API和SDK开发包,手机厂商可以根据需要自行开发或者使用已有的程序,从而打造出富有特色的Android平台。22 An
12、droid 平台的特征应用框架:用于开发可重用、可替代的组件。Dalvik虚拟机:Android采用的是自主开发的Dalvik虚拟机,它具有很好的硬件兼容性,在保证API兼容的同时针对移动手机进行了大幅优化,占用资源更小,运行效率更高。集成的浏览器:Android集成了基于Webkit引擎的网页浏览器。Webkit是一个开源浏览器网页排版引擎。优化的图形:Android提供了优化过的图形系统, 该系统由一个自定义的2D图形库和一个遵循OpenGL ES 10标准(硬件加速)的3D图形库组成。SQLite数据库:SQLite数据库是Android自带的一个标准的数据库,支持SQL语句,是一个轻量
13、级的嵌入式数据库。媒体功能:支持各种通用的音视频和静态图像格式。硬件支持功能:支持相机、GPS、导航和感应加速器等各类硬件。强大的开发环境:包括设备模拟器,调试工具,内存和性能检测工具,以及Eclipse IDE的开发插件。23 Android 平台的体系架构Android不仅是一个操作系统,更是一个开源的体系架构。Android软件平台从上到下主要由五个部分构成:应用程序、应用程序框架、程序库、Android运行库以及Linux内核。应用程序(Application)Android的应用程序通常涉及用户界面和用户交互。Android本身提供了桌4面(Home)、联系人(Contact)、电话
14、(Phone)和浏览器(Browsers)等众多的核心应用。所有的核心应用都使用Java语言编写,同时开发者可以使用应用程序框架层的API实现自己的程序,这也是Android开源优势的体现。应用程序框架(Application Framework)Android应用程序的开发基于程序框架和组件,开发人员拥有同核心应用程序一样的APIs访问权限。应用程序后面是一系列的服务和系统,其中包括:视图(Views)一构造应用程序的视图部分,包括列表(Lists)、文本框(Textboxes)、按钮(Buttons)等。内容提供器(Content Providers):提供一种实现数据互访和共享的机制。资
15、源管理器(Resources Manager):负责管理非代码的访问,如本地字符串、图片资源及涉及布局的XML文件。通知管理器(Notification Manager):用于将提示信息显示在状态栏上。例如,当有短信的时候,在状态栏上显示有新信息。活动管理器(Activity Manager):用于管理应用程序的生命周期,并提供应用页面退出的机制。通过这套应用框架,各种服务和组件可以被用户的应用重复利用。24 Android 应用程序构成对于一个Android应用程序来说,一般由以下四种组件构造而成:ActivityBroadcast Intent ReceiverService Conten
16、t Provider以下是对这四种组件的说明:ActivityActivity是最基本的Android应用程序组件。在应用程序中,一个Activity通常就是一个单独的屏幕。每一个Activity都被实现为一个独立的类,并继承基类Activty。Broadcast Intent Receiver当需要对一个外部事件(如当电话呼入)做出响应时,可以使用目的接收器(Intent ReceiveO。目的接收器并不显示IJI界面,当外部事件发生时,使用Notification Manager通知用户。Service Service是具有长生命周期且没有用户界面的一段程序,它需要通过某一个ActMty或
17、者Context对象来调用。Service的生命周期方法比Activity少一些,只有onCreate、onStart和onDestory。有两种方式用来启动Service,它们的不同之处在于对Service生命周期的影响不一样。Content Provider 5一个应用程序可以将它的数据保存到文件、SQL数据库,甚至是任何有效的存储设备中。当需要将应用数据与其它的应用共享时,使用Content Provider来完成。Content Provider类实现了一组标准的方法,从而能够让其它的应用保存或读取此Content Provider处理的各种数据类型。25 Android 应用程序的开
18、发环境Android通常采用Eclipse作为应用程序的开发环境。Eclipse是基于Java的,开放源代码的可扩展开发平台。就其本身而言,它只是一个框架和一个服务,所有开发工具都是用插件的形式提供的,通过插件组件构建开发环境,这种设计使得Eclipse具有开放式可扩充的结构。Eclipse软件可以集成不同的软件工具开发供应商的产品,任何开发工具厂商都可以将他们的开发工具或组件加入到Eclipse平台,用户可以通过相同的接口使用不同的工具。此外,Eclipse不仅支持团队协同开发,还提供了详细的帮助文档以及对许多外部工具的支持。Android为Eclipse定制了一个插件,即Android D
19、evelopment Tools(ADT),目的是为用户提供一个强大的综合环境用于开发Android应用程序。ADT扩展了Eclipse的功能,可以让用户快速地建立Android项目,创建应用程序界面,在基于Android框架API的基础上添加组件,以及用SDK工具调试应用程序。 63 技术支持 和 Baidu Maps本章主要分析了手机地图服务的结构框图及相关的定位技术,并对本系统用到的Baidu Maps进行了阐述,还给出了Android平台下的位置服务类和地图类。31 手机地图服务手机地图服务是指在手机上利用GPS或者网络实现精确定位,并使用WAP方式或客户端方式,通过移动通信网络与手机
20、地图应用服务器之间的互联通信,查找自己的位置、搜索地点、查询行车路线的一种与地理信息相关的位置业务。手机地图服务中最重要的就是定位技术。32 定位技术移动终端的定位是通过检测移动终端和基站之间传播信号的特征参数来获得其几何位置,根据进行定位估计位置的不同分为两种:基于移动终端定位和基于网络定位。321 基于移动终端定位基于移动终端定位是根据目标与各通信基点通信时的相关位置信息来确定几何位置,在蜂窝网络中又叫做前向链路定位。移动终端定位技术包括全球定位系统(GPS)、基于移动终端发送接收信号的定时或角度的覆盖三角技术(TOA)以及起源蜂窝小区(COO)117-20。322 基于网络定位基于网络定位是多个固定的通信基点接收目标发送的信号,根据其中相关的位置信息来确定目标的定位信息,在蜂窝网络中又叫反向链路定位。该技术要求定位终端发送或广播一些特定的信号,网络系统负责收集这些信号并担负起定位计算的任务。手机定位是基于网络的实现,通过移动电信运营商的网络固定通信基点获取移动终端用户的位置信息。33 百度 Maps 百度地图是百度提供的一项网络地图搜索服务,覆盖了国内近 400 个城市、数千个地区。在百度地图里,用户可以查询街道、商场、楼盘的地理位置,也可以找到离您最近的所有餐馆、学校、银行、公园等等。