《基于android的导航系统的设计与实现毕业论文.doc》由会员分享,可在线阅读,更多相关《基于android的导航系统的设计与实现毕业论文.doc(49页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、 基于android的导航系统的设计与实现毕业论文目录第1章绪论11.1课题研究的意义11.2 研究目标11.3系统开发环境2第2章系统分析32.1 系统设计特点32.2可行性分析32.3需求分析42.3.1地图导航系统模块需求42.3.2地图导航系统功能42.4用例图与用例模型52.4.1城市搜索用例图52.4.2经纬纵横用例图62.4.3公交路线用例图72.4.4景点概览用例图82.4.5路线规划用例图82.4.6 地图定位用例图92.4.7 周边查询用例图102.4.8地图导航系统用例图112.5地图导航系统顺序图12第3章系统设计与实现133.1功能结构设计133.2申请API143.
2、2.1申请百度地图API143.2.2申请科大讯飞语音API143.3 如何把API添加到我的Android工程中163.4系统流程163.5界面布局方式173.6 地图图层183.7 主要类的设计和接口193.8 用户界面设计203.8.1地图导航系统主界面203.8.2地图导航系统分界面213.9界面的实现原理25第4章系统的重点和难点264.1 重点与难点264.2重点与难点的解决方案26第5章结论295.1总结与结论295.2不足与展望29参考文献30致谢31附录32英文原文32汉语译文3947 / 49 第1章 绪论随着信息技术、移动通讯技术以与GPS的发展,电子地图逐步代替了传统地
3、图,它能包含大量的地理信息数据以与能完成传统地图所无法完成的功能,因而深受广大用户的青睐。现在用户可以通过自己的手机查询自己当前所在位置、搜索商家地点、查看周边环境等信息,这大大地方便了人们的出行丰富了人们的业余生活。1.1课题研究的意义随着智能手机的深入普与和发展,基于地图的应用服务不断地完善,渗入到了社会生活的各个领域。近年来android、ios和Windows Phone的发展日益完善,智能手机越来越普与,发展十分迅速,基于地图的服务应运而生并不断深入人们的生活。其中Android系统是当前最流行的手机智能系统之一。其强大、快速的处理能力吸引了很多手机厂商如HTC、三星、MTORALA
4、、华为、魅族、联想、酷派、中兴、小米、华硕等厂商的加入。此外其开源的系统特性更是为手机厂商提供了极大的方便,因此赢得了一大批厂商的青睐 。目前比较好的地图服务是“Google 地图”、“百度地图”, Google Map是Google公司自己开发的一个基于地图的应用服务服务,目前是几乎最完善的一个地图平台。相比之下国做的比较好的是百度地图和高德导航等,上述两家相对比较完善。总的来说,地图服务功能是在手机用户接入网络后,能实现显示电子地图、实现自我定位、城市搜索、路线规划等综合功能。近几年随着3G网络的完善,覆盖围和普与率也越来越高,手机接入网络的速度得到了大幅提升,因而地图用户的实际体验也变得
5、更加友好,可以预见未来几年能将地图服务有效地与位置定位技术相结合应用前景十分广阔的。1.2 研究目标本系统的主要功能包括城市搜索、出行路线规划、手机实时定位,指定地点查询与其经纬度查找、景点概览、导航和个性定制化的查询服务等。具体容如下:一、地图管理1.在线地图的展示2. 任意界面的地图缩放3.时时定位个人所在位置5.显示当前位置地图经纬度二、个性化查询1. 提供当地的餐饮、娱乐场所、银行、酒店宾馆、交通设施、大型超市、商场百货、公共服务设施、汽车服务站政府机构等场所的快捷查询。2. 在地图界面通过气泡模式展示出来三、出行导航选择路径1. 已知经纬度查询2. 输入地址的反编译3. 提供公交、驾
6、车、步行三种方式的出行路线规划4提供路线中各个站点的信息查询四、景点概览1. 查询全国各地的景点信息2. 对附近出名的景点进行推荐3展示景点当地的特色小吃、住宿、娱乐设施等信息。1.3系统开发环境(1) 软件需求操作系统:Windows 7 Android OS开发环境:Android SDK-17、ADT-21、JDK 1.7开发工具:Eclipse、Microsoft office Viso 2003数据库系统:SQLite开发语言:Java 、 XML语言系统分析工具:Rational Rose(2) 硬件需求处理器:Intel i3 双核处理器存需求:2GB RAM 硬盘需求:5G可用
7、硬盘空间操作系统环境:Microsoft Windows 7,Android OS第2章 系统分析2.1 系统设计特点本系统是建立在Android智能手机平台上,它有以下几个特点:1 开源性:Android操作系统的底层核心是一种基于Linux的自由与开放源代码的操作系统,主要使用于移动设备,如智能手机和平板电脑,由Google公司和开放手机联盟领导与共同开发的,它是目前非常流行的开源系统。2 可拓展性:能满足特定手机用户对地图服务的要求,与此同时其良好的拓展性为进一步拓展带来了可能。3 易用性:系统界面UI设计简单明了,普通手机用户很快就能直接操作该程序。2.2可行性分析系统的可行性分析在基
8、于android的导航系统的设计与实现的整个建设过程中占有十分重要的地位,系统的可行性分析会决定基于android的导航系统的设计与实现是否可能实现或是否值得去实现。可行性分析的目的就是使移动公司渠道精细化管理平台能否以最小的代价在尽可能短的时间解决可能遇到的问题。可行性分析主要包括技术、经济、运行等方面可行性分析:;现有技术能否实现本系统的设计和开发;在经济上去实现的必要性的评估;是否可以在客户端正常使用和能否在普通平台上搭建服务器等问题。(1)技术可行性它指开发一个新的系统目前是否具备所需要的技术。由于本系统采用Java语言环境和Eclipse开发环境 ,Java语言本身所具有的面向对象的
9、特点以与强大的类库支持,加上谷歌公司提供的Android SDK和ADT功能已经相对完善,开发该系统所需的技术问题已经得到解决。基于android的导航系统的设计与实现以Eclipse作为开发平台,结合Java语言进行开发,技术层面成熟可行。(2)经济可行性评判一个系统是否可行的最基本、最有效的一种方法是判断其是否能有效配置经济资源,与对信息系统解决方案成本有效性的量度。“基于android的导航系统的设计与实现”采用C/S架构,开发模式相对简单,能满足用户定制需求,开发周期短,并且它使用的是手机2G、3G或者wifi网络,对资源要求不会太高 ,经济压力也不会大可行性较高。(3)系统管理可行性
10、“基于android的导航系统的设计与实现”对硬件的要求不高,以当前的智能手机硬件水平来看,完全能够支持把该系统部署在手机上。手机使用的客户端仅要求接入Internet网络即可提供服务,实现其功能,不受时间,地点限制,数据可维护性强。总之,“基于android的导航系统的设计与实现”在技术、经济、系统管理等方面都是可行的。2.3需求分析需求分析在系统开发中扮演着十分重要的角色,系统成败与否和需求分析完成的情况息息相关 。因此,在需求分析阶段一定要严谨对待,不能马虎求成。需求分析主要包括以下几方面:写出系统的任务和特点、需要实现的功能模块与其作用、系统UML图、明确采用的数据库、明确开发运行环境
11、。2.3.1地图导航系统模块需求地图导航系统的主要功能是以地图和文字的形式向用户提供地图服务,同时它可以提供友好、方便的用户界面。其功能需求包括:(1) 地图操作:能实现地图的放大、缩小和移动查询。(2) 定位操作:用户打开GPS之后,地图导航系统能通过GPS模块和网络获取当前用户所在的经纬度。(3) POI定位查询:地图导航系统能根据用户所在位置查询出周边一些地理位置信息,并在地图上展示出来。(4) 卫星地图显示:能显示卫星地图,并能够进行普通地图和卫星地图的切换操作。(5) 交通地图显示:能显示交通地图,并能够进行普通地图和交通地图的切换操作。(6) 公交查询:能够查询全国各大中小城市的联
12、网公交路线并在地图上显示路线。(7) 景点查询:搜索全国各地的景点,在手机屏幕上展示出来。2.3.2地图导航系统功能(1)城市搜索能根据地名查询全国各大中小城市的各类场所,同时在手机屏幕上显示和标注出来。(2)经纬度查询地图导航系统能通过在手机上输入城市名称和具体地点名称,就能获取该地理位置的经纬度,并返回经纬度值到屏幕上显示出来。(3)地图定位地图导航系统在用户打开GPS之后能通过GPS模块和网络获取当前用户所在的经纬度,同时还能根据相关算法,在地图上精确地标注用户当前所在的地理位置的经纬度,并显示用户当前所在位置。(4)公交查询通过在该地图应用中输入城市名称和公交路线数字就能够查询全国各大
13、中小城市的联网公交的路线,同时还能在地图上显示该路线和各个站点的名字。(5) 路线规划该地图导航系统能提供驾车、公交、步行三种出行方式的路线选择,用户只需要在该地图应用中输入出发地点和目的地就能获取从出发点到目的地的分别的最正确路线,并在地图上显示出来,简洁明了。(6)景点查询该地图导航系统能提供全国各个景点的相关信息查询,用户在应用中输入相关关键字就能获取与之相关的景点的各类信息,包括游记,旅游攻略,交通、饮食、购物、文化地理等。(7)附近搜索该地图导航系统能提供附近的一些生活信息查询,如餐饮点、娱乐场所、银行、大型超市、商场百货、交通设施、汽车服务点、政府部门机构等定制信息查询,然后在手机
14、屏幕上罗列出来。2.4用例图与用例模型2.4.1城市搜索用例图图2-1城市搜索用例图城市搜索用例描述1.参与者:安装该地图导航系统的用户2.前置条件:用户通过手机安装该地图导航系统后,手机具有介入互联网的能力3.基本操作流程:1.进去该地图导航系统主界面2.选择城市搜索、经纬纵横、公交搜索、景点概览、路线规划、地图定位、周边搜索等功能中的一项进行操作3.进入下一级界面之后选择相应的搜索功能即可在屏幕上得到想要的搜索结果2.4.2经纬纵横用例图图2-2经纬纵横用例图经纬纵横用例描述基本操作流程:1.用户进入地图导航系统2.选择经纬纵横按钮3.点击文本框输入容或者点击语音输入按钮通过语音输入文字4
15、.选择经纬度精确查询得到所查找的地址的经纬度5.界面返回显示查询结果2.4.3公交路线用例图图2-3公交路线用例图公交路线用例描述基本操作流程:1.用户进入地图导航系统2.选择公交路线按钮3.点击文本框输入容或者点击语音输入按钮通过语音输入文字4.点击开始按钮5.界面返回显示路线查询结果2.4.4景点概览用例图图2-4景点概览用例图景点概览用例描述基本操作流程:1.用户进入地图导航系统2.选择景点概览按钮3.进入景点搜索界面4.选择经典地图查询、热点景点查询、当地美食或者精彩游记查询5.界面返回显示选择查询信息的结果2.4.5路线规划用例图图2-5路线规划用例图路线规划用例描述基本操作流程:1
16、.用户进入地图导航系统2.选择路线规划按钮3.点击文本框输入容或者点击语音输入按钮通过语音输入文字4.选择驾车路线、公交路线或者步行路线中的一个开始按钮5.界面返回显示所选出行方式的路线规划结果2.4.6 地图定位用例图图2-6地图定位用例图地图定位用例描述基本操作流程:1.用户进入地图导航系统2.选择地图定位按钮3.界面显示用户当前所在位置信息4.点击satellite按钮切换到卫星和交通视图,再次点击该按钮切换到普通地图视图2.4.7 周边查询用例图图2-7周边查询用例图周边查询用例描述基本操作流程:1.用户进入地图导航系统2.选择周边查询按钮3.选择列表的其中一项4.界面返回显示所选信息
17、的查询结果2.4.8地图导航系统用例图图2-8地图导航系统用例图地图导航系统用例描述1.参与者:安装该地图导航系统的用户2.前置条件:用户通过手机安装该地图导航系统后,手机能兼容该地图导航系统,且手机具有接入互联网的能力基本操作流程:1.用户进入地图导航系统2.选择城市搜索、经纬纵横、公交搜索、景点概览、路线规划、地图定位、周边搜索七大功能中的一项3.进入相应界面后,输入关键字,点击开始按钮4.系统获得所搜索关键字的结果,并返回显示所查询信息的执行结果2.5地图导航系统顺序图图2-9地图导航系统顺序图首先用户点击系统图标进入地图导航系统主界面,用户选择其中一个功能进去之后,通过关键字搜索信息。
18、若是通过语音方式录入信息,则系统向科大讯飞服务器发送请求,讯飞服务器获取appid值,并验证其是否合法,合法则进一步获取语音录入的值,识别成功则返回录入信息,系统获取之后传参给EditText。点击开始按钮后系统向百度服务器发送请求,百度服务器获取百度地图API key值之后判断其是否合法,合法则进一步获取请求值,执行一系列算法之后若得到计算结果则返回值,系统获取之后再到地图图层显示出来。第3章 系统设计与实现3.1功能结构设计本系统为C/S架构模式,系统主要通过在系统客户端完成一系列操作。手机客户用户可以通过它实现如下功能:城市关键字搜索、用户位置定位、指定位置的经纬度查询、公交路线的查询、
19、景点关键字搜索、三种出行方式的路线规划、用户所在地理位置定位、周边信息搜索等功能。图3-1功能结构图3.2申请API3.2.1申请百度地图API用户在正式使用API之前需要获取百度地图移动版API Key,该Key与用户的百度账户相关联,用户必须先有百度#,才能获得API KEY。并且,该KEY与用户引用API的程序名称有关。用户可以到百度官方去获取授权。以下是百度地图移动版API Key官方申请界面:图3-2百度地图API申请界面3.2.2申请科大讯飞语音API用户在使用语音服务之前,需要获取科大讯飞公司的语音的授权,用户可以到“open.voicecloud.”注册成为语音云开发者,并为所
20、开发的软件申请APPID。以下是科大讯飞语音APPID官方申请界面:图3-3讯飞语音API申请界面一图3-4讯飞语音API申请界面二3.3 如何把API添加到我的Android工程中先将百度MAP API包括的两个文件baidumapapi.jar和libBMapApiEngine_v1.so拷贝到工程根目录与libsarmeabi目录下,并在工程属性-Java Build Path-Libraries中选择“Add JARs”,选定baidumapapi.jar,确定后返回,这样您就可以在您的程序中使用API了。然后引入科大讯飞语音功能,这时需要引入SDK中包含的msc.jar和libmsc
21、.so动态库,so动态库包含arm、arm-v7a、mips、x86四种架构,一般只需引入arm架构so动态库即可,这可以减少应用程序安装包大小。接着在AndroidManifest.xml中申明权限代码如下:3.4系统流程以下为地图导航系统的运行流程:否是开始显示地图图层用户位置有无改变?采集更新的位置信息定位用户位置侦听用户点击事件判断命令类型显示各类图层清除图层退出完毕图3-5系统运行流程用户界面为地图模式下的地图图层,界面最上方标明实时卫星数据,包括用户当前所在位置的经度、纬度、卫星视图等信息。界面正中央的小点则指明了用户当前所在的位置。界面下方为Menu菜单,实现本程序的主要功能,包
22、括图层分类,图层清除和程序退出等功能。图层分类可显示用户当前所在位置周边的餐饮、娱乐、购物、超市、银行、交通等信息,使得用户对其周边有所了解,方便其出行。点击Menu菜单的相应按钮,则会调出退出系统和关于系统选项,退出系统的同时将清楚图层信息。3.5界面布局方式(1)xml配置文件采用LinearLayout线性布局、RelativeLayout相对布局两种布局方式对软件界面进行布局。(2)继承View类主要是使用了MapView、Button 、EditText、TextView、ImageView等界面控件。主要界面设计图如下:Fromto确定Way to go在此区域显示地图mapvie
23、w放大缩小图3-6主要界面设计3.6 地图图层地图可以包含一个或多个图层,每个图层在每个级别都是由若干图块组成的,它们覆盖了地球的整个表面。例如您所看到包括:马路街道、建筑、公园、学校、湖泊等容就是在一个图层上,它属于基本的地图图层。卫星地图、街景视图和交通地图则分别处在三个独立的地图图层。三种图层的实现方法分别如下:实景图: mMapView.setStreetView(true);卫星图: mMapView.setSatellite(true);交通图: mMapView.setTraffic(true);地图模式切换源码:ToggleButton satellite =(ToggleBu
24、tton)findViewById(R.id.SatelliteToggleBtn);satellite.setOnCheckedChangeListener(new OnCheckedChangeListener()public void onCheckedChanged(CompoundButton buttonView,boolean isChecked) if(isChecked)mMapView.setSatellite(true);mMapView.setTraffic(true);mMapView.setStreetView(true);else mMapView.setSate
25、llite(false);mMapView.setTraffic(false); );3.7 主要类的设计和接口(1)Overlay:覆盖物的抽象基类,所有的覆盖物均继承此类的方法,实现用户自定义图层显示。(2)ItemizedOverlay:Overlay的一个基类,包含了一个OverlayItem列表,相当于一组分条的Overlay,通过继承此类,将一组搜索的兴趣点显示在地图上。(3)MyLocationOverlay :能负责显示用户当前位置的Overlay。(4)PoiOverlay:本地搜索图层,提供某一特定地区的位置搜索服务,比如在市搜索“大学”,通过此图层将搜索的大学结果显示在地
26、图上。(5)RouteOverlay:公交、步行、驾车导航线路图层,将公交、步行、驾车出行方案的路线与关键点显示在地图上。(6) WebView:通过继承此类可以显示所搜索景点的各类信息。(7) RecognizerDialog:调用此接口后启动录音进行识别服务,无效参数会抛出错误信息;RecognizerDialogListener:本次识别过程完毕,如果识别成功,对话框自动消失。如果出现错误,界面不消失,显示相应错误文字,开发者不需要对错误情况进行处理,用户根据界面提示进行下一步操作; RecognizerResult:它有三个参数,命令词和语法识别时,text表示识别结果,confide
27、nce表示置信度,取值围0-100,同时使用semantemet中key为contact的字段和上传的原词表进行比对。3.8 用户界面设计3.8.1地图导航系统主界面图3-7地图导航系统主界面主界面设计主要要是在main.xml文件中,使用了相对布局(RelativeLayout)来进行布局,包括:城市搜索、经纬纵横、公交搜索、景点概览、路线规划、地图定位、周边搜索七个功能。页面可以上下拖动,最下面Menu菜单是用绝对布局固定住的。3.8.2地图导航系统分界面城市搜索界面 经纬纵横界面图3-18城市搜索界面 图3-9经纬纵横界面在EditView中输入城市和查询地址的关键字,界面返回值并显示所
28、搜索地址的结果和所在位置经纬度。地图通过mMapView.setBuiltInZoomControls(true);可以启用置的缩放控件。公交路线界面 景点介绍界面图3-10公交路线界面 图3-11景点介绍界面在左图EditView中输入城市名和查询公交路线,界面即可返回值并显示所搜索公交的路线结果。在右图TextView中输入所搜索目的地景点名称关键字,界面即可返回相关的景点信息,包括景区地图、景点旅游攻略、景点宾馆住宿、精彩游记等信息。路线规划界面 地图定位界面图3-12路线规划界面 图3-13地图定位界面在左图EditView中输入城市名和目的地关键字,再选择出行方式,界面即可返相应出行
29、方式的路线结果。在右图中能显示用户的所在位置,单击satellite按钮后,界面会显示卫星视图,再次单击又会回到普通地图视图模式。周边搜索界面 卫星地图界面图3-14周边搜索界面 图3-15卫星地图界面在左图中有多个项目关键字可供选择,选择其中一个后,系统会跳转到地图界面并显示搜索结果供用户选择。3.9界面的实现原理图3-16界面实现原理界面上有一个放大缩小的控件,用户操作时通过调用zoomControls.setIsZoomInEnabled(true);zoomControls.setIsZoomOutEnabled(true);或者mMapView.setBuiltInZoomContr
30、ols(true);两种方式来实现放大缩小操作,每次放大或缩小后,系统都会获取新的地图数据并刷新界面。MapActivity调用mMapView,而mMapView继承自MapView,所以可以覆盖其onDraw方法实现在手机屏幕上贴图。程序获取图片,粘贴图片的大体流程为:通过监听按键,然后根据的改变从数据库中获取贴图,最后采用贴图算法进行粘贴,更新视图。系统完成到最后,为了让风格统一化,以使界面能够让人舒心,因此系统界面做了一些精简,按钮和文字的显示我也适当地做了些小调整,以保持UI友好。同时POI显示也被略加修改,以适应客户对界面效果的需求。第4章 系统的重点和难点4.1 重点与难点本系统
31、的重点与难点主要在于搭建好Android开发环境平台,申请百度地图API和科大讯飞API的使用权限,并得到上述公司地图和语音服务的使用授权,获取百度APIKey和讯飞语音APPID。该系统涉与用户的位置定位、卫星交通地图和普通地图视图之间的切换、路线规划、城市周边关键字搜索与景点信息搜索等容,如何获取用户当前的地理位置信息与怎样去进行路线规划并获取结果返回显示,都是该系统需要攻克的重点与难点问题。该系统支持语音录入文字信息的功能,这就涉与如何正确识别语音并返回结果这个过程的逻辑处理问题,这也是需要解决的难题之一。此外由于Android平台的碎片化问题日趋严重,同一时间多种版本的存在给用户以与开
32、发者带来了不小的麻烦,不同手机的分辨率不尽相同,这也是碎片化问题存在的根本原因所在,该问题的存在可能导致应用程序无法在相关安卓设备上运行。于是如何开发一款能在多种设备上运行的应用程序就成了开发过程中的难点问题了。目前该系统能在主流的分辨率下(480800)完美运行。4.2重点与难点的解决方案刚开始接触Android开发平台时,Android对我来说还是一个比较陌生的概念。一切都像是从头开始,从刚开始摸索搭建Android开发环境平台到熟悉Android系统架构,到API的引入,再到完成这个系统的开发,最后签名打包发布,这个过程设计多个领域的知识相结合:Android、Java、百度API,科大
33、讯飞API等,我通过上网上去查资料,逛论坛,研究DEMO,向别人请教等各种方式,在不断实践中吸取经验和教训,最终终于在我的坚持不懈的努力下解决了这个难题。具体的解决方案如下:获取POI搜索值:public void onGetPoiResult(MKPoiResult res, int type, int error) if (res = null) Log.d(onGetPoiResult, the onGetPoiResult res is + type+ _ + error); elseLog.d(onGetPoiResult,the onGetPoiResult res is + re
34、s.getCurrentNumPois() + _+ res.getNumPages() + _+ res.getNumPois() + _ + type + _+ error);/ 错误号可以去参考MKEvent中的定义if (error != 0 | res = null) Log.d(onGetPoiResult, the onGetPoiResult res 0 );Toast.makeText(MyMapActivity.this, 抱歉,未找到结果,Toast.LENGTH_LONG).show();return;ArrayListpoiResult= res.getMultiPo
35、iResult();if (poiResult != null)Log.d(onGetPoiResult, the onGetPoiResult res 1_+ poiResult.size();/ 将地图移动到第一个POI中心点if (res.getCurrentNumPois() 0) Log.d(onGetPoiResult, the onGetPoiResult res 2);/ 将poi结果显示到地图上面PoiOverlay poiOverlay = new PoiOverlay(MyMapActivity.this,mMapView);poiOverlay.setData(res.
36、getAllPoi();mMapView.getOverlays().clear();mMapView.getOverlays().add(poiOverlay);mMapView.invalidate();mMapView.getController().animateTo(res.getPoi(0).pt); else if (res.getCityListNum() 0) Log.d(onGetPoiResult, the onGetPoiResult res 3);String strInfo = 在;for (int i = 0; i res.getCityListNum(); i+
37、) strInfo += res.getCityListInfo(i).city;strInfo += ,;strInfo += 找到结果;Toast.makeText(MyMapActivity.this, strInfo,Toast.LENGTH_LONG).show();Log.d(onGetPoiResult, the onGetPoiResult res 4);获取讯飞语音识别结果:protected Dialog onCreateDialog(int id) RecognizerDialog recognizerDialog = new RecognizerDialog(MyRou
38、tePlan.this, appid=51b1ad4e);/ 这里输入的是从科大讯飞申请到的appidrecognizerDialog.setEngine(sms, ptt=0, null);recognizerDialog.setListener(new RecognizerDialogListener() Overridepublic void onResults(ArrayList results,boolean arg1) StringBuffer result = new StringBuffer();for (RecognizerResult r : results) result
39、.append(r.text);value = result.toString();Overridepublic void onEnd(SpeechError arg0) );return recognizerDialog;第5章 结论5.1总结与结论经过将近一个学期的努力,基于android的导航系统的设计与实现这个课题终于完成了。从一开始对于如何着手这个课题的无从下手,到自己不断地摸索和向老师同学请教学习,到最后熟悉Android的整个开发流程和环境并完成这个系统,一路走来,感觉自己收获颇多。在这个不断实践的过程中,我学到了很多知识:Java语言编程、百度API和地图的各个功能,科大讯飞语
40、音的调用,XML脚本语言的使用等等。但其中最重要的一点不是知识的学习而是如何利用身边的现有资源去解决出现的问题,如何独立去学习新知识和解决问题的能力,这是我真正进步的地方。但是这个过程中还是存在很多问题的,这个系统还有不少地方做的不好,整个系统地UI不是特别友好,其整体构思也有所欠缺,功能上不够丰富。这些问题,在今后需要引起重视。总的来说,在这个课题的完成过程中,我积累了一些项目经验,这对我今后的学习和生活应该会有所裨益。5.2不足与展望由于本人能力和时间有限,加之本人对Android的理解还较为浅显,在一开始开发本系统时,对开发工具的不甚熟悉,走了一些弯路。其次,最初对系统不能整体把握,考虑
41、的不是很全面,所以在对系统功能进行扩充时,碰到不少困难,因此系统功能有待进一步去完善。得益于Android是一个开放的多功能开源平台,对网络等技术有很好的支持。基于Android的地图应用可以进一步与网络相结合,实现更好的用户体验。据Google公司的最新数据显示AndroidMarket里面的应用以已经突破万款了,我相信随着Android技术不断完善和手机硬件性能的不断提升,将来一定会有更多具有使用价值的优秀的APK会出现在Android平台上的。参考文献1 Jerome.AndroidAProgrammersGuideM.DiMarzio PRESS,2009:23-27.2 林城.Android 2.3应用开发实战J.机械工业,2011:17-321.3 韩超.Android经典应用程序开发J.人力资源,2011:5-18.4 (美)CayS.Horstmann,GaryCornell.Java核心技术J.机械工业,2008:15-17.5 卫国,昱禹.An