收藏 分享(赏)

毕业设计(论文)-基于Android平台的旅游服务软件设计与实现(源代码).doc

上传人:QQ153893706 文档编号:2293008 上传时间:2018-09-09 格式:DOC 页数:21 大小:6.02MB
下载 相关 举报
毕业设计(论文)-基于Android平台的旅游服务软件设计与实现(源代码).doc_第1页
第1页 / 共21页
毕业设计(论文)-基于Android平台的旅游服务软件设计与实现(源代码).doc_第2页
第2页 / 共21页
毕业设计(论文)-基于Android平台的旅游服务软件设计与实现(源代码).doc_第3页
第3页 / 共21页
毕业设计(论文)-基于Android平台的旅游服务软件设计与实现(源代码).doc_第4页
第4页 / 共21页
毕业设计(论文)-基于Android平台的旅游服务软件设计与实现(源代码).doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、1基于 Android 平台的旅游服务软件设计与实现 【摘要】在快节奏的现代生活中,旅游成为人们休闲娱乐、放松自己的好方式。本文提出并实现了一款基于android 平台的旅游服务软件,本软件以 eclipse 为开发平台,使用 java 语言,调用百度地图应用程序接口,并且在android 虚拟机上运行。用户通过该应用能得到移动设备上人性化和智能化的旅游地图服务。该软件界面简洁,运行流畅,主要功能包括地图浏览、地址搜索、路线规划、景点浏览、定位报警等,是人们出行娱乐的好帮手。使得人们出行更加方便、更有效率。 【关键词】 Android;eclipse;虚拟机;百度地图全套源程序代码加 1538

2、937062目录1、绪论 21.1.软件开发的目的 .21.2 软件开发意义 .22、开发环境的搭建 23、软件需求分析 33.1 软件可行性分析 33.2 技术可行性分析 33.3 软件所要实现的功能描述 34、软件设计 44.1 总体设计 .44.2 功能模块设计 .44.3 软件总体流程图 .75、软件实现 75.1 软件框架简介 .75.2 软件主菜单界面及帮助界面的实现 .85.3 地图浏览界面的实现 .105.4 地址搜索界面的实现 .115.5 路线规划界面的实现 .125.6 景点推荐界面的实现 .135.7 定位报警界面的实现 .146、软件测试 166.1 欢迎界面测试:

3、.166.2 主界面、帮助界面测试: .176.3 地图浏览界面测试: .176.4 地址搜索界面测试: .186.5 路线规划界面测试: .196.6 景点推荐界面测试: .206.7 定位报警界面测试: .217、总结与心得 .21参考文献 .2131、绪论1.1.软件开发的目的当今社会科技发展,智能手机成为人们随身携带的不可缺少的科技产品。它不仅可以用来通话,人们可以用手机上网、娱乐、聊天,电脑能够实现的大部分功能手机也能实现,你不能随身携带一个开机的电脑出行,手机却可以办到。基于 android 系统的手机,通过硬件底层集成的 GPS 模块,传感器模块,能够获得用户实时的位置信息,以及

4、其他信息,将电子地图和 GPS 技术有效的结合在一起。开发出基于位置信息的旅游地图服务系统,其应用发展空间十分广阔。1.2 软件开发意义在以前人们出行的时候,首先要先规划好路线,到达一个陌生的地方要开始询问路人或者警察来获得位置的信息,十分的繁琐。在当今快节奏生活中,出行旅游成为人们休闲娱乐和精神享受重要方式之一,这无疑为人们造成了很多的不便,浪费了极大的时间且不可避免存在人为误差。因此,开发一款简洁实用的手机地图软件,其能在海量的信息中精确得到人们关心的位置信息,提高人们的出行效率具有很大的实用意义。2、开发环境的搭建本次设计所使用的软件是 eclipse,从网上就可以下载最新版本的 Ecl

5、ipse 安装程序。本次设计所使用的版本是 3.8.所使用的开发平台是 Android4.22,根据安卓官网的提示下载 SDK,下载地址Http:/。本次设计所使用的是 4.22 版,接着安装 ADT,启动 eclipse 依次点击 Help/Install New SoftWare,再单击 Add 按钮,在 Location 栏中输入 ADT 的下载地址,按提示完成安装,最后再创建虚拟设备并运行模拟器。项目中需要使用百度地图的功能,因此要先申请百度地图的 Api Key,申请地址http:/ type 选择“for mobile”,安全码是Android 签名证书的证书指纹 (SHA1)值

6、+ “;” + 应用程序包名,配置好了 API key 不能随意更换应用程序的包名, 如果更换了包名需要重新配置 API key。 接着需要在工程中引用百度地图 API 开发包,下载地址 http:/ Android SDKv2.1.3 lib 库就行了。至此,本软件的开发环境搭建完成,可以开始本次课题的开发。3、软件需求分析3.1 软件可行性分析本软件是为了使得人们出行旅游效率更高、更方便而开发的。目前市面上有很多基于 android 手机的地图服务软件,大多数软件只提供地址搜索和定位等简单功能,也有功能全面复杂的,但操作界4面不友好。本软件简洁易懂、操作容易,基于 android 系统。现

7、在 android 系统在各类手机上都得到额应用,从运行环境市场来讲也为本软件提供了更广阔的发展前景。3.2 技术可行性分析本软件是基于 android 平台,用 java 语言开发的,在之前都已经学习过。所使用的开发环境软件eclipse 也在日常学习中接触过,并且能在一定程度上熟练使用。本次所做的软件是为了向人们提供出行更加方便的服务,网络市场上有多种类的手机地图服务,这为软件的功能实现提供了很好的借鉴和指导。所以从技术上也是可行的。3.3 软件所要实现的功能描述本次毕业设计所要开发的软件是手机地图服务软件 1。对于软件所要实现的功能有:启动软件,进入欢迎界面,由欢迎界面进入主菜单界面,主

8、菜单界面由一组操作按钮组成:地图浏览,地址搜索,路线规划,景点推荐,定位报警。(1)地图浏览功能够通过缩放和移动等操作浏览电子地图的任意地址。(2)地址搜素功能能够根据输入所在城市和地址名在电子地图中精确定位地点。(3)路线规划功能能够根据自定义起始点和目的地来为你的出行规划路线。(4)景点推荐通过文字和照片墙为用户推荐值得一游的景点。(5)定位报警通过为相关地点划定半径,输入要提示信息。使得用户经过该地点半径范围内时,软件通过文字和音乐进行事物提醒 2。 4、软件设计4.1 总体设计由前面对本次要开发的软件所做的分析,可以将软件分为界面设计,软件功能两部分组成。软件总体模块可以由图 41 清

9、楚看到。 4.2 功能模块设计界面设计:包括主界面和功能模块界面。简单明了的界面更容易让用户在第一时间了解整个软件,好的界面设计不仅可以增添软件的视觉效果,更能吸引新用户对软件的兴趣。界面运行流程应如图42 所示。5菜单界面主要是列出软件的所有功能,使得用户一目了然,通过单击选择所要使用的功能,六个功能界面由菜单界面进入完成相应的操作后退出到菜单界面结束。软件功能:包括地图浏览,地址搜索,路线规划,景点推荐,定位报警五个功能。这个模块主要就是对这五个功能的具体实现,完成整个软件,让这个软件具有可操作性和实用性。地图浏览功能用来显示地图信息,包括一个悬浮的控件,用户能够通过缩放和平移来操作地图,

10、查看任意位置的地图信息。使得用户对电子地图有初步的了解。这部分内容比较简单,地图浏览模块流程图 4-3 如下。图 4-3 地图浏览模块流程图地址搜索界面的主要功能是提供地址搜索服务,通过输入所在城市的具体地点如超市,学校,商店来定位出地点所有相关的位置。在电子地图上标注出来,通过,点击标注会显示地点名称。地址搜索模块流程图 4-4 如下。6图 4-4 地址搜索模块流程图 路线规划模块根据起始点和目的地提供公交站之间信息和要乘坐公交线路的查询,步行线路和自驾游线路提供用户最佳的路径(算法由地图供应商提供) 。路线规划模块流程图如下。图 4-5 路线规划模块流程图7景点推荐通过照片墙和文字的介绍的

11、方式向用户推荐景点、介绍景点的特色,用户可以参考推荐的景点在地址搜索界面上搜索地址,路线规划界面查询路线。景点推荐模块流程图如下。 图 4-5 景点推荐模块流程图定位报警功能能够实现为指定的位置设定半径范围,当用户从当前位置移动到指定位置的半径范围内时,软件会以音乐和文字的形式提醒用户将要离开或者走进该范围。定位报警模块流程图如下。图 4-6 定位报警模块流程图84.3 软件总体流程图 根据总体设计和功能模块的分析,初步画出如图 4-7 所示的流程图。 图 4-7 软件流程图5.软件实现5.1 软件框架简介文件总体结构如图 5-1 所示:9图 51 文件结构文件用途 【3】 如表格 5-2 所

12、示:文件名 用途MainActivity.java 扩展 activity 得到,软件的入口,指定加载应用时候运行该 java 文件。主界面。MapShow.java 地图浏览界面,可以对地图进行操作。PoiSearchDemo.java 地址搜索界面,向用户提供地址搜索服务。RoutePlan.java 路径规划界面,提供公交、步行、驾车路线规划。SceneryIntroduce.java 景点推荐界面,通过文字和照片墙介绍景点。GeoCoderDemo.java 定位报警界面,提供用户越境消息警告。HelpInfo.java 帮助界面,静态向用户介绍软件,实现退出软件。BMapUtil.j

13、ava 对地图上的图片标注图片进行处理。ConvertUtil.java 与地图服务供应商服务器进行交互。DemoApplication.java 常用事件监听,用来处理通常的网络错误表 5-2 文件用途5.2 软件主菜单界面及帮助界面的实现欢迎界面主要由一个文本框(TextView)和网格视图(GridView)组成,文本框用来显示软件的名称“带你玩” 。网格视图在界面上按行、列分布的方式来显示多个组件,用以来展示主菜单界面的各个功能模块的按钮。创建网格视图,添加组件。其代码实现如下图 5-3 图 5-4:10图 5-3 网格视图 XML 文件代码实现图 5-4 为网格视图添加组件代码实现帮

14、助界面的实现比较简单点击 Menu 按钮会在手机底部跳出退出按钮和帮助按钮。退出按钮实现退出软件,帮助按钮会实现跳转到帮助界面,该界面以静态文字的形式介绍整个软件。帮助界面代码实grid01=(GridView)findViewById(R.id.gridView1);ArrayList listItems = new ArrayList();HashMap map0= new HashMap();map0.put(“Image“,R.drawable.dituliulan);map0.put(“Text“,“地图浏览“);HashMap map1= new HashMap();map1.pu

15、t(“Image“,R.drawable.dizhiss);map1.put(“Text“,“地址搜索“);HashMap map2= new HashMap();map2.put(“Image“,R.drawable.luxiangh);map2.put(“Text“,“路线规划“);HashMap map3= new HashMap();map3.put(“Image“,R.drawable.jindiantj);map3.put(“Text“,“景点推荐“);HashMap map5= new HashMap();map5.put(“Image“,R.drawable.tianqiyb)

16、;map5.put(“Text“,“越界通知“);listItems.add(map0);listItems.add(map1);listItems.add(map2);listItems.add(map3);listItems.add(map5);SimpleAdapter adapter =new SimpleAdapter(this,listItems,R.layout.activity_grid_view,newString“Image“,“Text“,new intR.id.ImageView1,R.id.TextView1 );grid01.setAdapter(adapter);

17、11现如下图5-5:图 5-5 帮助界面代码实现5.3 地图浏览界面的实现地图浏览能够使得用户通过点击缩放按钮来放大、缩小电子地图。也可通过双击放大地图,平移等操作对电子地图进行浏览 4。使得用户对电子地图有初步的了解,地图浏览界面通过自定义一个MapView 组件来实现百度电子地图的显示。地图浏览界面代码实现如下图 5-6、图 5-7、图 5-8 所示。图 5-6 自定义组件 MapView 代码实现12图 5-7 检测软件网络是否正常代码实现获取地图控制器、设置地图是否响应点击事件、设置地图缩放级别、显示缩放控件、初始化地图后地图定位显示指定坐标处的地图。实现代码如下图 5-8 所示:图

18、5-8 代码实现5.4 地址搜索界面的实现地址搜素功能能够根据用户输入所要搜寻地址的具体城市和地址名在电子地图中精确定位地点 5。地址搜索界面包括 EditText 组件、AutoCompleteTextView 组件及两个 Button 组件。EditText 组件用于输入搜索城市,AutoCompleteTextView 组件能够实现当用户输入一定字符后,会显示一个下拉菜单供用户选择,当用户选择某个菜单项之后,组件会自动填写文本框。实现代码如下图 5-9 所示:图 5-9 代码实现搜索按钮根据用户输入的地址实现在地图上的精确定位地点,其他数据按钮用于显示相关地址。提供更多的信息。poiSe

19、archInCity(String city,String key)城市 poi 检索,异步函数,返回结果在MKSearchListener 里的 onGetPoiResult 方法通知.实现代码如下图 5-10 所示:13图 5-10 代码实现5.5 路线规划界面的实现路线规划功能能够根据用户自定义的起始点和要到的目的地,来为用户的出行规划路线。界面采用线性布局和相对布局的布局方式,能够提供驾车、公交、步行等线路信息。MKPlanNode 是路线结点信息类,drivingSearch(String startCity, MKPlanNode start, String endCity, MK

20、PlanNode end) 驾乘路线搜索。transitSearch(String city, MKPlanNode start, MKPlanNode end) 公交路线搜索.walkingSearch(String startCity, MKPlanNode start, String endCity, MKPlanNode end) 步行路线搜索.实现代码如下图 5-11 所示:图 5-11 代码实现 145.6 景点推荐界面的实现景点推荐通过照片墙和文字介绍的方式向用户推荐景点、介绍景点的特色,用户可以参考推荐的景点在地址搜索界面上搜索地址,路线规划界面查询路线。界面包括一个 Imag

21、eView 组件及一个TextView 组件,ImageView 组件用来显示照片墙,用户可以点击按钮前翻后翻图片墙的文字,如果不操作点击按钮,照片墙会实现自己轮转图片 6。TextView 组件用于显示每张图片的景点文字介绍。实现代码如下图 5-12、图 5-13 所示。图 5-12 代码实现当新线程发送消息时,使用 Handler 处理消息 7,通过 Timer 周期性地执行指定任务,TimerTask 对象的本质是启动一条新线程,程序在新线程里发送一条消息,通知系统更新 ImageView组件。final Handler myHandler= new Handler()public vo

22、id handleMessage(Message msg)if(msg.what=0x1233)mainPicture.setImageResource(jdimagecurrentImg+);if (currentImg 4)currentImg = 0 ;if(currentImg =0)jskwb.setText(“丽江“);else if(currentImg =1)jskwb.setText(“桥桥“);else if(currentImg =2)jskwb.setText(“双塔“);else if(currentImg =3)jskwb.setText(“水水“);else if

23、(currentImg =4)jskwb.setText(“象鼻“);new Timer().schedule(new TimerTask()Overridepublic void run() Message msg =new Message();msg.what=0x1233;myHandler.sendMessage(msg);, 0, 10000);/定义一个访问图片的数组int jdimage = new intR.drawable.lijiang,R.drawable.qiao,R.drawable.shuangta,R.drawable.shui,R.drawable.xiangb

24、i, ;int currentImg = 2; /定义默认显示的图片private int alpha = 255;/定义图片的初始透明度15图 5-13 代码实现5.7 定位报警界面的实现定位报警通过为相关地点划定半径,输入要提示信息。使得用户经过该地点半径范围内时,软件通过文字和音乐进行事物提醒。界面包括输入指定地址和提示内容的文本框及半径选择组件SeekBar。用户点击选择好半径及要所想要的提示内容后,点击确认按钮。选择半径长度 8,在TextView 组件中显示,实现代码如下图 5-14 所示。图 5-14 代码实现当用户进入所要定位提醒的位置的规定半径之内,软件会响起内置的音乐声,并

25、且在界面上弹出一个 Toast 提醒用户注 9意事项,该注意事项是用户之前在提醒输入框中输入的文字,或者当用户走出定位位置规定内半径范围时,对用户进行提醒,该功能可以用于防止队友走散,走出规定的地点。实现代码如下图 5-15 所示。图 5-15 代码实现sBradius.setOnSeekBarChangeListener(new OnSeekBarChangeListener()Overridepublic void onProgressChanged(SeekBar arg0, int jindu, boolean arg2) if(jindu0String strInfo = Strin

26、g.format(“提示:%s “,message);Toast.makeText(GeoCoderDemo.this, strInfo, Toast.LENGTH_LONG).show();mediaplayer.start();16根据用户输入的地址名,转换成为地址的经纬度,再通过将经纬度转换成地图坐标显示在电子地图上 10,再根据之前选择的半径范围对定位地址在电子地图上显示出规定半径的半透明圆,圆的设置实现代码如下图 5-16 所示。图 5-15 代码实现测量用户当前位置和提醒地点之间距离的函数,定位报警功能有两种设置,当用户和所定位的报警地址的距离小于等于设定的半径的时候,会触 11发

27、提醒代码,系统调用音乐和弹出文字提示用户,另一种是当用户与定位地址的距离大于等于设定半径的时候,系统发出提醒音乐和文字,距离函数实现代码如图 5-16 所示。图 5-16 代码实现geo.setCircle(p, myradius);Symbol circleSymbol = new Symbol();Symbol.Color circleColor = circleSymbol.new Color();circleColor.red = 0;circleColor.green = 200;circleColor.blue = 0;circleColor.alpha = 80;circleSy

28、mbol.setSurface(circleColor, 1, 1);Graphic gra = new Graphic(geo,circleSymbol);glay.setData(gra);/清除地图其他图层mMapView.getOverlays().clear();/添加一个标注 ItemizedOverlay 图层mMapView.getOverlays().add(itemOverlay);/执行刷新使生效mMapView.getOverlays().add(glay);mMapView.refresh();176、软件测试(1)欢迎界面测试:如图:6-1、 6-2 所示。图 6-

29、1 欢迎界面 图 6-2 欢迎界面(2)主界面、帮助界面测试:如图:6-3、 6-4 所示。图 6-3 主菜单界面 图 6-4 帮助界面(2)18(3)地图浏览界面测试:如图:6-5、6-6 所示。图 6-5 地图浏览界面(1) 图 6-6 地图浏览界面(2) (4)地址搜索界面测试:如图:6-7、 6-8 所示。图 6-7 地址搜索界面(1) 图 6-8 地址搜索界面(2) 19(5)路线规划界面测试:如图:6-9、 6-10 所示。图 6-9 路线规划界面(1) 图 6-10 路线规划界面(2) (6)景点推荐界面测试:如图:6-10、6-11 所示。图 6-10景点推荐界面(1) 图 6

30、-11景点推荐界面(2) 20(7)定位报警界面测试:如图:6-12、6-13 所示。图 6-12 定位报警界面(1) 图 6-13 定位报警界面(2)7、总结与心得 经过两个月的学习与努力,所选课题基于 android 手机平台的旅游应用软件基本完成了,大部分预期效果以及功能也基本实现,非常感谢郭永宁老师的指导,也特别感谢同学们不厌其烦的帮助,因为有大家我才能完成这个毕业设计。在这个软件开发的过程中让我感受颇深,当初选择做这个课题,是因为我热爱旅游,每每出行总是有很多的不便,需要考虑的事情十分的繁杂,市面上的手机地图服务应用功能十分的全面,但是操作起来不够简洁,于是萌发了想要做一款手机地图服

31、务应用,我想只要认真的研究和不懈的努力总能完成相应的功能。但在研发过程中才能体会到它没那么容易,其中的问题不是一点点而是很多,而自己的基础知识也有一定的欠缺。虽然过程很不容易,但开发过程中在同学们的鼓励和帮助下,每一个困难的克服,都让我有难以言表的喜悦。通过这次软件的开发使得我更加熟悉 android 的许多编程知识,对于以前所学的知识也有相当程度的巩固,锻炼了动手能力。本软件功能比较简单,要成为使用的一款软件,还有很长的路要走,还要不断的进行优化升级,解决一些 BUG 日臻完善,对于软件开发还是缺乏经验,要好好学习,在以后的开发中不断的提升自己。参考文献1 夏飞阳.基于 Android 手机

32、平台的自助旅游系统的设计与实现J.信息通信,2013,39-422 李刚.疯狂 Android 讲义M.北京:电子工业出版社,2011,573-575.3 金泰延.Android 框架揭秘M.北京:人民邮电出版社,2012,257-325.214 刘正, 陈强. 基于 Android 的 GPS 应用中的研究与开发J. 中国西部科技, 2013,15-16.5 闫伟.基于 Android 平台的手机地图服务系统的设计J.浙江师范大学,2012,28-31.6 耿祥义,张跃平.JAVA 大学实用教程(第 3 版)M.北京:电子工业出版社,2012,147-153. 7 叶剑栲.多线程技术在 an

33、droid 手机开发中的应用J.信息通信,2012,28-31.8 于志龙,郑名杰.Android SDK 开发范例大全M.北京:清华大学出版社,2009,395-495.9 李兴华.JAVA 开发实战经典M.北京:清华大学出版社,2009,404-407.10 佘凤娅. 基于 Android 的手机搜索定位应用开发D. 北京: 北京邮电大学, 2010,22-36.11 张艳芳. Android 手机 Web 地图服务的应用设计D. 南昌: 南昌大学, 2010,32-41.Travel Application Design Based on Android PlatformMathemat

34、ics and computer scienceMajor:Computer Science and Technology118532010029 Tang Linjian Supervisor:GuoYongning【Abstract】In the fast-paced modern society, tourism become a good way for the leisure entertainment and relaxing. This paper put forward and carries out a travelling service based on the andr

35、oid platform software, which is based on eclipse development platform and uses the Java language. The travelling service calls baidu map as application interface, and is run in the android virtual machine in order to provide users with humanized and intelligent mobile devices on the tourings. Whats

36、more, The software, as a good helper for travel, is simply-interfaced and smoothly-operated, whose main features are maps skiming, address searching, route planning, sites browsing and location alarming that makes travel more convenient and efficient.【Key words】Android ; eclipse ; virtual machine ; Baidu map

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 学术论文 > 管理论文

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报