基于Android的百度地图应用系统毕业设计.docx
《基于Android的百度地图应用系统毕业设计.docx》由会员分享,可在线阅读,更多相关《基于Android的百度地图应用系统毕业设计.docx(52页珍藏版)》请在冰点文库上搜索。
基于Android的XX地图应用系统毕业设计
分类号:
学校代码:
学号:
*****学院本科生毕业设计
基于Android平台和XX地图的应用系统
Applicationsystembasedon
Androidbaidumap
所属院(部):
数学与信息技术学院
学生姓名:
指导教师:
研究起止日期:
二〇一五年三月至
二〇一五年五月
【摘要】
在电子信息技术的带动下,移动操作系统飞速发展,在手机、平板等移动终端上的定位系统应用更为普及,地图导航的功能和应用也得到不断延伸和拓展,GPS功能在手机上的开发应用一度成为开发的热点,能够大量的减少人们寻找地点的时间成本,不断满足人们快速生活节奏的客观需求,因此终端上的地点定位的地图的相关软件的应用能够产生很大的实际效用,尤其是在手机Android系统上的地图系统的开发,比如XX地图就是在这样的大背景下被开发出来的。
在本文中介绍了选题背景,介绍了关键技术,对系统进行了需求分析,对系统进行了详细设计,系统的实现以及系统中的测试,对XX地图应用系统从分析到设计再到具体实现,有了详细的过程。
XX地图系统的开发运用了Java语言,主要针对Android和SDK系统的运用进行设计,用户可以通过在手机系统中,安装软件APP,然后快速的实现搜索地址的功能,使得用户出门更加方便,不需要担心迷路,使得用户对出门变得方便。
关键词:
地图导航;XX地图;Java;Android;API
[Abstract]
Withtherapiddevelopmentofmobileplatformstoextendtheoperatingsystemandmapnavigationapplications,expandingGPSfunctiononcellphoneshasbecomeahotmobileapplicationdevelopment.Inordertofindaplace,peopleoftenneedtospendalotofenergy,soalongwiththeacceleratingpaceofmodernlife,real-timelocationinformationisbecomingoneoftheinformationitislookingfor.Therefore,thedesignandoptimizationmaplocationservicesapplicationswithverypracticalvalue,BaiduMapsAndroid-basedapplicationsystemthusarises.
Inthispaperweintroducethebackground,thekeytechnologies,thesystemneedsanalysis,detaileddesignofthesystem,implementation,andsystemtestsystemforBaidumapapplicationsystemfromanalysistodesigntoimplementation,withthedetailedprocess.
ThesystemusestheJavalanguage,usingtheAndroidplatformandSDK,useBaiduMapsAPIinAndroidsystemwillsearchforBaidumapapplicationsystemsandrouteplanninghavebeenachieved,sothattheuserismoreconvenienttogoout,donotworryaboutgettinglost,sothattheuserItbecomeseasytogoout.
KeyWords:
mapnavigation;Baidumap;Java,;Android;API
第1章绪论
1.1课题背景
移动互联网时代的来临,说明是一个新的时代的开始。
移动通信和互联网合在一起就是所谓的移动互联网,移动设备(手机和上网本)可以随时的访问互联网的资源和查找的应用。
智能手机是互联网时代有目的有标志的客户端工具,它就像一台“小电脑”,有自己的独立的操作系统,可以自行安装和卸载软件,可以实现无线网络的接入通过通信网络,有很大的存储和计算的能力,这就是它和传统手机的区别。
在飞速发展的今天,对于移动终端设备一个大的趋势是传统WEB上的应用出现在手机终端。
而基于Android的XX地图应用系统,良好地体现了这一趋势,XX地图应用系统的开发,能很好的为用户提供便捷的服务,用户通过运用地图,在地图上输入想去的地方的地址就能找到。
通过Android的XX地图应用系统,与传统WEB应用进行良好的互补。
在移动手机大面积普及应用的时代,为了满足人们在外面快速找到想要去的地点,很多软件开发员开发了新的地图导航系统,其中最为成功和典型的一个就是手机的GPS功能,这能够大量的减少人们寻找地点的时间成本,不断满足人们快速生活节奏的客观需求,因此终端上的地点定位的地图的相关软件的应用能够产生很大的实际效用,尤其是在手机Android系统上的地图系统的开发。
1.2课题意义
在日益创新的网络技术促进下,我国的通讯技术已经进入第四代,4G时代的到来,让人们享受到了更快速的网络传输速度和便捷的移动通讯。
在现在的社会,手机已经成为了人们日常生活中不可缺少的一部分。
随着现代科技的进步和人们生活质量的不断地提高,普通只可以打电话发信息手机已经无法满足人们的要求,手机在时代的发展中不断更新换代,开发者们使得手机变得更加人性化和智能化,于是产生了智能手机。
从人们对智能手机的使用率反复的调查研究来看,可以说智能手机使用率在现代社会已经达到了90%以上,智能手机的功能也被开发得越来越人性化,人们可以通过手机完成很多的需求,可以说人们的生活已经离不开智能手机了。
现在人们更多的使用Andriod平台来帮助人们解决问题,因此由这个课题扩展开来,延伸并广泛的使用在XX地图API对Android系统的结合中,由于对地址查询最原始方式是使用PC版的XX地图,相比之下,显得就很麻烦,人们不可能随身携带电脑,并且不能保证电脑随时随地都能够用有线或WIFI的方式上网,但是在手机上,人们只需要在Andriod手机上下载这个系统,就能选择搜索想去的地址,使得出行找路变得更加方便快捷。
1.3研究现状
从手机等移动终端逐步为人们的生活带来越来越多的便利,不断涌现出来的手机地图系统软件为在外急需找到某个地点的人提供了途径,节约了时间也提高了效率。
因此手机地图软件的相关研究在学术研究中逐步显现,其中包括很多数据市场研究和应用研究。
在数据研究手机地图系统软件的报告中,中国IT研究中心的相关研究就对现在市场中市场份额排名前几位的地图软件展开,它们通过市场调查,对前几位的软件进行了排名,据结果显示,现排名第一的是XX手机地图,其市场份额高达55.2%,更多的人愿意用XX手机地图来进行地图搜索,排名第二的是高德地图,其市场份额是20.7%,排名第三的是搜狗地图,市场份额为占了6.3%。
研究者们还对我国的智能手机使用情况进行了分析论述,他们都认为大量普及使用的职能手机作为手机地图软件的使用载体,普及率的高低将直接影响软件的使用情况,据研究显示,我国的智能手机用户已经接近人口的一半,达到7.15亿人,这为手机地图软件的应用推广提供了基础。
1.4研究内容
1.地点搜索和位置定位
在手机地图软件中,用户可以随意搜索想要去的地点,手机软件将会把用户需要的街道、道路等内容进行详细的显示,用户可以通过简单的GPRS定位,让手机自动显示当前所在位置,在根据当前的位置规划出最佳的路线,供用户参考。
2.路线规划
跟电脑地图搜索查询结果相同,手机地图软件的规划结果,也将随着用户的选择的不同而不同,用户可选择步行、公交或驾车其中一种模式。
3.公交线路查询
在手机地图软件的查询结果中,用户只需简单的输入起点和终点,在选择公交模式,用户将轻松的得到多条线路信息。
4.GPS导航
手机地图软件还可提供智能的导航功能,用户在输入终点和起点后,将进入导航模式。
第2章课题设计相关技术
2.1Java语言
作为被开发人员常用的开发语言之一的Java语言,是一种能够实现跨平台应用的设计语言,被广泛应用的Java语言,性能很好、稳定性高、效率高,所以被很多开发人员采用,现在我们用的很多的软件都是用Java语言开发出来的,移动电话、个人电脑、平板电脑等终端上的很多软件都是在Java开发出来的。
Java语言是Sun公司开发出来的,是一种能够被开放使用的技术,Sun公司对Java编程语言的解释是:
Java语言是一种动态的编程语言,具有很好的性能,安全性高,试用对象广泛,编程方式简单,可进行移植。
2.2Android架构
现在我们的智能手机主要采用的系统有3类,一是苹果系统,二是安卓系统,三是塞班系统,本文主要在这里解析安卓系统。
Android是一种操作系统,是给予自由开放代码的,常用于移动终端中,比如智能手机等,它的开发是由谷歌公司和开放手机联盟共同完成的,在中国虽然应用很广,但是却还没有对其有统一的称呼。
Android的开发者是AndyRubin。
在Android系统中,是形成了完整的系统架构的,下面我们将对其进行详细的分析。
LinuxKernel:
在Android系统的实际操作中,首先需要的是LinuxKernel的支持,有了LinuxKernel的支持才能基本保证Android系统的功能实现,LinuxKernel由很多的驱动程序组成,这些驱动程序能够完成对硬件的驱动。
AndroidRuntime:
Android系统的运行需要良好的运行环境,这就是AndroidRuntime,这里AndroidRuntime里的CoreLibraries就相当于java的JDK,是运行android应用程序所需要的核心库,DalvikVirtualMachine就相当于JVM,这是Android系统运行所需的特定的虚拟机。
Liberaries:
Android系统的所有数据需要储存在特别的地方,这就是Liberaries。
ApplicationFramework:
这是Android系统的所有程序的框架,有了框架,系统中所有的程序才能够被放到里面,才能保证系统程序的正常运行。
Application:
这个就是我们开发的Application了。
图2-1系统架构图
从Android系统被开发以来,不断得到技术创新和系统优化,谷歌公司已经不断进行了新的版本,现在已经可以更新到4.0.0版本了,已经具备了很高的稳定性,但是仍然有很多的开发者更愿意在SDK2.2上进行开发工作。
Android应用基于Java,支持SQL,由于底层是Linux所以底层支持C/C++。
目前有两种编程:
一是基于ADT的JAVA编程,官方推荐用JDK+ECLIPSE+ADT+ADK(WINDOWS开发环境下,二是基于NDK的C编程
APK是AndroidPackage的缩写,即Android安装包(anapk)。
APK是类似SymbianSis或Sisx的文件格式。
在进行安装和执行的过程中,主要是通过APK文件,然后直接传输到Android模拟器中。
在Android系统中,Androidsdk编译的安装文件需要在apk中完成格式的转换,是将zip格式的文件转换成apk格式的文件,然后才能完成被unzip解压到Dex中,Dex是DalvikVMexecutes的全称,即AndroidDalvik执行程序,并非JavaME的字节码而是Dalvik字节码。
在Android系统的软件开发中,开发人员可通过访问API框架来完成核心应用程序的使用,在这个框架中,所有的应用程序需要进行简化后的组件重用,所有基于这个框架开发出来的应用程序都需要有一个功能块,这个功能块是可以不遵循框架的安全性限制的,Android系统的API框架,可以运用可替换的程序,即实现程序的重用机制,并且在每一个程序的后面,都有一系列发挥服务功效的小系统,下面将重点分析这些小系统:
1、用来搭建应用程序的视图(Views),这种试图是可实现丰富的可扩展的功效,试图又由一些基本的要素促成,包括表(lists),网格(grids),文本框(textboxes),按钮(buttons),甚至可嵌入的web浏览器。
2、可以兼容应用程序的内容提供器(ContentProviders),在这个系统中可以在访问一个程序的时候,再访问另一个程序。
3、能够实现非代码的资源访问的资源管理器(ResourceManager),主要由字符、图形和布局文件(layoutfiles)组成。
4、通知管理器(NotificationManager),在Android系统中通过这个小系统能够实现自定义的提示信息的显示。
5、活动管理器(ActivityManager),这个小系统是能够完成导航功能的定退的,用来管理程序生命周期的。
2.3AndroidSDK
SDK:
(softwaredevelopmentkit)软件开发工具包。
在特定的软件开发过程中,软件开发师会用软件开发工具包进行特定的开发工作,比如在搭建软件的框架或硬件的平台的时候,都需要运用。
在安卓系统中,软件开发工具包就是AndroidSDK。
在Android系统中,有一个SharedPreferences类的平台,这个平台能够提供软件配置参数的保存,使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。
所谓的SharedPreferences,是特指在Android系统中,用来存储信息的特定机制。
最重要的是在Android系统中,开放的服务是不需要收费的,开发者提供第三方平台的更大的自由度,开发人员不需要进行较高费用的支出,就可以进行软件的开发。
第3章系统需求分析
3.1可行性分析
系统开发不光涉及到开发过程在技术上是否可行的问题,还需要进行综合全面的可行性分析,一个系统能够被成功的开发出来,不仅需要有成熟的技术,还需要有充足的开发资金做保证,所以下面将从技术可行性、经济可行性和法律可行性进行分析。
1.技术可行性
手机地图软件的开发所需要的技术最主要的是开发设计语言,这种设计语言需要在手机等移动系统上安装应用,从现阶段的开发语言的技术来看,主要有Java语言、C语言等等,这些开发语言都是长时间打磨所得的,已经较为成熟了。
还需要的就是高速的网络做保障,从我国的现状来看,网速已经在不断的加快,足以满足手机地图软件的需求。
(1)硬件
操作系统:
WindowsXP或者Windows7
Web服务器:
tomcat7.0及以上
开发工具:
Eclipse4.4,MacromediaDreamweaver8.0
数据库:
MySQL数据库
JDK开发包:
jdk7Update5以上版本
(2)系统软件
在XX地图软件的设计过程中,需要能够满足在手机系统中运行的要求,所以需要采用特定的开发语言,其中Java语言因高稳定性、通用性等优点,被开发人员运用到地图软件的开发中,作为最主要的设计语言。
2.经济可行性
所有开发地图软件的工程师,最终的目的都是为了获得经济上的收益,在实际的开发过程中,也需要充分考虑是否有足够的经济支持,从XX地图的开发成本来看,所需要的系统开发人员不用很多,会涉及到的开发费用不高,投资者、开发人员都不用投入大量的前期资本,所以从以上两方面来看经济上是可行的。
3.法律可行性
基于Android的XX地图应用系统是毕业设计,仅仅只是作为毕业时,进行的设计,该软件并不作商业用途,因此在法律上是没有问题的,在法律上是可行的。
4.结论
全文在可行性分析的过程中,进行了经济、技术和法律层面的深度研究,通过研究得出之所以XX地图能够在所有的手机地图软件中占有第一名的市场份额,被大多数用户选择,就是XX地图优化的信息化方式,XX地图的人性化服务方式。
3.2需求分析
软件工程建设的第一阶段就是需求分析,它是十分重要的阶段,因为,科学并且合理的需求分析能在成本上得到节约,还能够将项目建设做到事半功倍的效果,反之,如果需求分析不合理,不实用,只会给项目建设带来负担,不但会使建设成本大幅度上升,还会直接影响开发建设的成功与否,因此在软件工程的建设中,必须充分的考虑到用户的需求,所有的在Android系统手机上开发的地图软件,都要体现用户的最根本需求,对于XX地图开发来所更是如此。
用户能够公交路线,周边。
用户能够查看实时路况以及使用不同模式查看地图,包括,3D俯瞰图,2D平面图以及卫星图。
用户可以搜索附近地点,比如公交站,银行等。
用户能够搜索路线,包括:
驾车,公交车,走路。
用户可通过XX地图在驾车过程中完成导航。
3.3业务流程图
工作过程。
业务流程图能够反应出工作运行的具体的过程,按照规定要用指定的符合来表示,业务流程图的绘制过程,是帮助分析员分析整理结果的重要过程,能够帮助分析出其中可能存在的不合理的地方或问题,也方便交流,如3-1所示:
图3-1业务流程图的基本符号
图3-2业务流程图
3.2非功能性需求
(1)系统的安全性
安全性对于一个任意一个系统来说是极为重要的,本系统设计时考虑了加密权限和必要的保密措施,以此保证系统安全可靠。
要满足数据保存的完整,在手机地图软件中,必须要有备份的功能,才能确保系统的整体性,同时要考虑到数据在遭受意外破坏时也能及时恢复,系统必须满足用户运营方面的需求,能够长期运行,需要额外的网络安全防火墙,传输数据是加密的。
当然,设计者还应当对开发系统中的硬件配置给予充分的注意和考虑。
(2)系统的响应时间
本系统在线测试速度性能不超过10毫秒,根据用户的需要可以进一步提高,响应时间是一个系统非功能部分中的一个重要性能,能够保证系统的运行,添加餐品,搜索信息,操作完成立刻能够返回信息,不能产生有等待的感觉,这是用户正常需要的性能。
(3)系统的可扩展性
作为一个XX地图应用系统来说,系统应充分考虑未来的可扩展性,例如查询的条件会不断的增加和变化,这要求系统由足够的条件进行功能的完善和扩展。
,实现此应通过系统的扩展配置来完成,系统在设计时要符合一定的配置标准,可以方便未来加入和减少系统的模块,通过软件的升级、改善系统错误和增加功能。
第4章XXkey申请
4.1注册XX账号
根据提示,填写注册信息。
如图4-1
图4-1注册XX账号
4.2申请XXkey
登陆XX账号,XX“XX地图API”,点开XX地图API的官网。
进官网,选择Android开发可以进行了解下XX地图,点击申请密钥的按钮进去。
如图4-2
图4-2XXAPI
在这里因为是展示AndroidXXAPI的应用,所以点击创建应用,如图4-3
图4-3创建应用
在应用类型窗口中选择AndroidSDK,应用名称可以随便设置。
关键安全码设置:
要求Android签名证书的sha1值+“;”+packagename(即:
数字签名+分号+包名)
Android签名证书的sha1值:
可以在eclipse中直接查看:
windows->preferences->Android->build.如图4-5
包名:
Android应用程序本身在AndroidManifest.xml上定义的,如图4-6
在填写安全码后,点击“确定”完成应用的配置工作,得到一个创建的key,如图4-7
图4-4创建应用填表
图4-5sha1值查找
图4-6包名的查找
图4-7XXkey
4.3XX密钥应用到程序
将创建的的key应用到开发,在AndroidManifest.xml和MainActivity.java添加key如图4-8,图4-9
图4-8AndroidManifest.xml上
图4-9MainActivity.java上
第5章系统设计
5.1 系统功能结构
XX地图应用系统主要由前台使用组成。
前台是用户能够进行查询路线操作,以及一些导航操作,由于该界面是针对用户,也考虑了用户想要操作的简洁和方便性,与此同时开发者在应用外观设计上也进行了精心的设计,让用户看着赏心悦目。
应用从前台方面进功能设计,主要功能包括搜索公交路线,周边;查看实时路况以及使用不同模式查看地图;查看附近的基本信息,包括:
公交站,银行等;搜索路线,包括:
驾车,公交车,走路;使用该系统进行导航等核心功能。
图4-1系统功能结构图
5.2 权限设计
--使用网络功能所需权限-->
name="android.permission.ACCESS_NETWORK_STATE">
name="android.permission.INTERNET">
name="android.permission.ACCESS_WIFI_STATE">
name="android.permission.CHANGE_WIFI_STATE">
--SDK离线地图和cache功能需要读写外部存储器-->
name="android.permission.WRITE_EXTERNAL_STORAGE">
name="android.permission.WRITE_SETTINGS">
--获取设置信息和详情页直接拨打电话需要以下权限-->
name="android.permission.READ_PHONE_STATE">
name="android.permission.CALL_PHONE">
--使用定位功能所需权限,demo已集成XX定位SDK,不使用定位功能可去掉以下6项-->
name="android.permission.ACCESS_FINE_LOCATION">