




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 齐齐哈尔大学毕业设计(论文) 齐 齐 哈 尔 大 学毕业设计论文 题 目 基于Android的旅游app的设计与实现 学 院 通信与电子信息工程 专业班级 电子XXX 学生姓名 XXXX 指导教师 XXXX 成 绩 2016年 6 月 15 日 齐齐哈尔大学毕业设计(论文)摘 要 旅游业的发展前景是优于很多行业的,它在让人放松身心的同时体会到自然神奇的力量。 本设计的主要内容是制作一拥有网上预订票务,预订酒店,语音播报景点信息,观看他人旅游攻略,分享自己旅游攻略,评定美食的一款旅游应用。它可以帮助想要出行的人们解决一些繁琐的小事,让人们出行更加方便。这是一款在Android平台上运行的旅游a
2、pp,本文将具体介绍语音模块,评论模块,预订模块的设计与实现过程,按照软件开发的流程,从客户端系统的架构、相关模块的功能进行描述。旅游行业的快速发展将带动经济的发展,本设计可以满足用户在旅游时的部分需求,帮助用户拥有更好的旅游体验。关键词:旅游;预订票务;语音播报;旅游攻略;AndroidII Abstract Tourism development foreground is better than that of many industries,it is to let a person loosen body and mind at the same time feel the natu
3、ral magic power. The main content of this design is to make a online booking ticket,hotel reservation,speec h attractions,travel guides,watching others to share their travel guides,assess food a travel app lication.It can help the people want to travel to solve some complicated things,make people a
4、travel more convenient.This is a travel app to run on the android platform,this paper will intro duce the specific voice module,comments module,booking module design and implem entati on process,according to the software development process,from the client system architecture e,the function of the r
5、elated module is described.The rapied development of tourism industry will drive the development of economy,this design can meet the demand of users in the travel part,help the user to have a better travel experience.Key word: Travel; Voice broadcast; Booking tickets; Travel strategy; AndroidIII目 录摘
6、要IAbstractII第1章 绪论11.1 课题选择的意义及背景11.2 课题国内外研究水平21.3 本论文研究内容3第2章 相关技术概述42.1 相关概念介绍42.1.1 旅游信息系统42.1.2 导游服务42.1.3 预定服务42.1.4 攻略服务52.2 Android技术52.2.1 Android 平台52.2.2 Android 体系结构62.2.3 Android 的类介绍6第3章 系统需求分析与总体实现93.1 系统需求分析93.1.1 系统功能需求分析93.1.2 系统性能需求分析93.1.3 经济可行性103.1.4 技术可行性103.2 系统总体实现103.3 总体设计
7、103.4 各模块设计123.5 本章小结16第4章 软件详细设计174.1 系统整体设计17IV4.1.1 服务器端174.1.2 数据库174.1.3 手机客户端设计184.2 模块实现194.2.1 登录界面模块194.2.2 语音导游模块204.2.3 票务预订模块224.2.4 酒店预订模块234.2.5 旅游攻略模块254.2.6 美食点评模块26第5章 系统的测试285.1 系统测试285.2 测试结果28结论31参考文献32附录34致谢44IV 齐齐哈尔大学毕业设计(论文) 第1章 绪论1.1课题选择的意义及背景 国家逐年的发展,公民的经济越来越好,旅游出行已经在越来越多人的年
8、中计划里。国家旅游部门预计2016年或是旅游人数最多的一年,大部分居民将出门游玩,其中还有很多人将多次游玩不同的地方;游客的预期花费一般是会有超出的,三分之一的人将花费万元以上,在2016年全世界的财政成长趋势看,旅游业或许将成为财政增长最快的行业之一。 现在旅游行业不同往日,逐年的高速发展人们已经离不开网络了。以前旅游的方法和现在旅游已经有很大的不同,互联网可以让人们更好的生活,在想要旅游点击网络就可以获得大量的旅游攻略、景点介绍、办理票务、预订酒店等信息,利用网络的方便来旅行已经是大势所趋,利用互联网对于旅游爱好者来说方便了很多,也节省了很多的时间来做一些排队买票这类的事,有关旅游这方面的
9、服务都得到了经济上的增长,现在旅游的趋势是旅游的主要竞争手段转移到了手机应用上,利用手机的便捷及手机应用的全面性取得了广大旅游用户的喜爱。现在有关旅游的应用软件主攻的服务方向不同,其中一类是包容性的,也就是在一个应用上可以选择多个应用,另外一类具有专攻性质,如酒店预订功能,票务预订功能、旅游攻略功能等,不论它们倾向哪一种,每一位旅行爱好者的手机中都会有一款旅游应用。现在是物联网大数据时代,各种各样的信息将向每一个人袭来,手机中的旅游应用也会提供游客各种有关旅游的信息1。 大部分使用者都希望有一种全面的旅游手机应用软件,所以制作手机旅游软件需要有更多的实用功能,任何一个使用者都可以在软件中找到自
10、己想要的服务,这就促成了一体化服务的产生,这些用户想要功能在一起,就可以让用户更加快捷的去旅游,利用一些零散的时间,完全足够旅行者了解想要去的地方。这些年来手机上的旅游应用越来越多,让人们不再以以前单一的旅游方式活动,旅游是放松人精神的一种活动,可以让人们更加热爱生活享受生活,旅游应用逐年的改进,方便了广大的旅行爱好者,只要是用户有可能需要的服务,手机旅游应用中都会有,这就让游客感受到旅游是一种纯粹的享受生活的方式,现在人们使用的手机应用有很多。在科技飞速发展的今天,我们已经离不开网络,手机旅游应用中的各种功能不断改善,越来越强大,各种旅游软件公司都想让自己在旅游业有更强的竞争力,让更多的用户
11、使用它们的产品。网络与手机的结合使旅行更加方便,因此旅游应用软件也越来越火爆,成为了人们必备的手机应用2。1.2课题国内外研究水平 电子商务可以将信息流、商流、资金流进行有效的管理,提高产业链的工作效率并降低成本。旅游业是最适合开展电子商务的行业之一,通过先进的网络技术手段提高企业内部、企业之间、企业与消费者之间的信息交流与沟通,改进旅游业的业务工作流程,所以电子商务对旅游业的发展具有深远的意义。发达国家和地区在这方面已经取得了巨大的成效。欧美发达国家,旅游电子商务已经成为整个电子商务领域最大、最突出的部分。资料显示,全球旅游电子商务连续5年以35%以上的速度增长,一度占到全球电子商务总额20
12、%以上。 与国外相比,我国旅游电子商务起步稍晚,1996年才开始出现专业的旅游网站,其后旅游电子商务快速发展,到2000年进入第一个高潮期,但在2001年由于受世界旅游业整体负增长形势的影响,中国的旅游业在这一年经历了一定的困境,增长速度有所下降;2002年中国旅游业又开始整体回升,到2005年Web2.0的刺激下掀起了新的一轮旅游电子商务热,自此又进入了一个新的“加速发展期”。目前,我国具有一定旅游资讯能力的网站已有5000多家。其中专业旅游300余家,主要包括地区性网站、专业网站和门户网站的旅游频道3大类。但是,旅游电子商务还处在初级阶段,与发达国家相比还存在较大差距国内登录过旅游网站的网
13、民占网民总数的比例较小,而进行过网上旅游预订的网民比例更小。我国旅游业应用电子商务系统的总体发展水平很低,信息服务能力有限,网络营销仅仅是一种时尚,消费者的培育,旅游电子商务软、硬件环境的成熟和政府政策法规的建设等等都是急待解决的问题。作为一个拥有丰富旅游资源的大国,我国有望借助先进的信息化手段帮助旅游业实现迅猛增长,迎来更大的飞跃。目前,国内外对传统PC网络旅游信息搜寻研究已较为充分。国外研究的重点主要集中在网络旅游信息需求与搜寻动机、搜寻内容偏好、搜寻行为特征、搜寻者特性和网络旅游信息源等5个方面。国内在借鉴国外研究的基础上,进行了许多实证研究。如李君轶、杨敏对西安国内游客的网络信息搜索行
14、为进行了研究;胡兴报和苏勤研究了黄山游客的网络信息搜索行为;岑成德、梁婷则是基于广州高校大学生对我国年轻旅游者的网络搜索行为进行了探讨。近些年,国内外学者也对移动互联网的信息搜索领域的开始关注。瑞森杰等基于技术接受理论,发现用户对移动旅游指南的信息存在偏见。金和帕克的研究发现旅游经验和技术经验与知觉有用性和易用性正相关,并与旅游者对移动设备的使用态度和在旅游方面使用移动设备的意图也成正相关。我国的叶燕芳基于3G时代的背景,通过比较不同形式的网络信息搜索行为,提出3G时代旅游信息搜索行为的新特点,建立了旅游信息搜索的模拟过程3。综上所述,目前国内外鲜有对消费者通过旅游app信息检索的研究。本文在
15、借鉴相关研究成果的基础上,构建出以利用旅游app信息搜索努力为因变量,以易用性、无处不在性、搜索风险、用户创新意识、产品知识、网络信任、智能手机涉入为自变量的理论模型并提出假设。通过抽样问卷调查的方式,探究各因素的影响原因,从而发现消费者使用旅游app信息搜寻行为的影响因素之间的关系,希望对消费者提供一些启示并对我国旅游app的定位与开发提出一些想法。1.3本论文研究内容 本设计共分5个章节来进行叙述,各章的主要内容如下:第1章介绍了课题的意义及背景还有国内外研究水平,并叙述了旅游业的发展前景。第2章介绍了本设计使用的相关技术,在理论上对本设计是否可以完成做出了预想。第3章介绍了设计的需求分析
16、和总体设计如何实现,考虑到了设计的需求关系与大体上怎么实现功能。第4章介绍了模块功能的实现,本章展示了模块所要实现的功能。第5章介绍了软件的测试结果,通过真机运行实现了想要达到的功能。 第2章 相关技术概述2.1 相关概念介绍 2.1.1 旅游信息系统 随着信息化在国内外旅游业的广泛应用,旅游信息系统 TIS(Tourism InformationsSystem)应运而生。它是以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行各种旅游资源数据的收集、传输、分析、模拟、处理及应用的信息系统。按照旅游服务对象的不同,TIS可分为:MIS(Manage Information Sy
17、stem)和DIS (D-estination Information System)两类4。MIS是来进行各行业之间的信息更新和传递,主要是旅游管理部门和旅游供应商;DIS主要是为游客和旅行商提供基于目的地旅游信息查询的相关服务。根据网络方式旅游目的地信息系统DIS又可分为旅游目的地网络营销系统和非网络环境下的自助电子导游系统、旅游地理信息系统等。随着电子商务技术的不断发展,非网络环境的DIS逐渐被网络网络拓展功能所替代,如游客利用网络进行网上预订的电子导游系统等。 2.1.2 导游服务 到有这类服务主要是指专业人员对需要旅行的游客进行对景点的讲解,让游客更加了解旅游景区,并且不让游客在景点
18、迷失方向,提供的向导类服务。 我国逐年的快速成长体现在个个方面,在科技方面尤为突出,导游的形势也变得更加高大上。需要导游的人群逐年增加,但有一些喜欢独自旅行,为了解决这个问题,语音导游功能应运而生,它可以帮助人们了解景点的背景,让游客了解到景点背后的故事,能更好的享受旅行。利用网络,游客还可以得到地图功能,游客也不用担心走失,不知道自己确切的方位。 2.1.3 预定服务 现在预订已经是一个被大部分人所接受的一个功能,相信大部分人都用过预订这个功能,从我们的日常出发,预订已经无处不在,如果你想去一家非常火爆的饭店或者其他火爆的地方,你不预定位置,那么你或许要等待很长一段时间,因为火爆的服务单位不
19、缺少顾客,但是特定时间也许会有空闲位置,大部分人不了解这个时间段有空缺,所以大家都挤到一个时间段,这样造成的结果就是,少数人如愿以偿的得到了服务,大部分人只能等待,浪费大量的时间与精力,很不科学也很不高效,但是如果应用预订功能那就可以让人们的生活更加高效,用户可以预先定好,让提供服务的地方有准备,让更多的用户能合理的安排时间,这类预订服务有很多,比如预订火车票,如果用户进行了预订,那么就不用排队去购票窗口买票务,直接到取票机器那里付款取票,方便快捷,因为在取票之前公民就已经挑选好了票务,不需要再进行选取票务,只需要完成最后的步骤付款取票,这样就算很多人都来取票,那也可以很快的完成用户的需求。由
20、此可见预订功能可以帮助用户节约时间,大大的提升了用户的生活节奏。 2.1.4 攻略服务 现在生活中各种各样的攻略已经是非常多,攻略就是其他人的经验之谈,可以是笔者的想法,也可以是一段有价值的客观描述。比如你想要出游,那么你可以查看其他人的攻略,攻略之中可以让你了解到你想去的景点的旅游风景是怎样的,也可以了解到目的地哪些风景是最值得看的,帮助你了解到你不知道的网络上也查不到的一些潜在旅游时遇到的情况,帮助你更快更好的旅游,少走一些弯路,这些攻略将帮助你做好提前准备。2.2 Android技术 2.2.1 Android平台 Android手机操作系统是由谷歌公司于2007年正式推出的,最大的特点
21、是平台的真正开放性。到目前为止,Android手机操作系统的最新版本为4.0,具有广泛的应用和发展前景。Android系统的使用率占据全球智能手机系统将近80%的份额,尤其在中国市场的占有率更高,接近90%,与其他手机操作系统相比,Android具有最大的优点就在于它的开放性和平台开发的便捷性,不同的厂商可以根据自己的需求对平台进行扩展开发,而且无需支付任何费用。采用Android操作系统的智能手机越来越受到人们的青睐。Android是以Linux系统为基础,能更好地满足电脑爱好者的需求。另外Android的安全性也比较完善5。 以Android为开发平台,Android以Java为编程语言,
22、使接口到功能,都有层出不穷的变化,其中Activity等同于MIDlet,一个Activity负责创建视窗,一个活动中的Ac -tivity就是在 foreground模式,背景运行的程序叫做Service6。两者之间通过由Service和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity全部画面被其他 Activity 取代时,该Activity便被停止,甚至被系统清除。View等同于Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,Android 1.5的版本可以利用 View 打造出所谓的 Widgets,其实Wid
23、get只是View的一种,所以可以使用xml来设计layout,HTC的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础抽象类(abstract class),ViewGroup之内还可以有ViewGroup。View的构造函数不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的7。View与事件息息相关,两者之间通过Listener结合在一起,每一个View都可以注册一个even
24、t listener,例如:当View要处理用户触碰的事件时,就要向Android框架注册View.OnClickListener。 (1)一次编写,到处运行。在这一点上Java比PHP更出色,在不同的软件平台上运行,代码不用做任何更改。 (2)软件的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行软件不是和运行。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的Jar文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示了一个巨大的生命力
25、。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2.2 Android 体系结构 Android手机操作系统平台整合了操作系统、中间件和应用程序三大块。Android操作系统之所以会受到各厂家的青睐,真是因为它的真正开放的优越性。Android的架构软件层次结构自上而下共分为以下4个层。 应用程序(Application)主要是用来设计用户操作界面的,用Java语言来编写,主要是被用户访问。Android自身提供了一些核心的应用程序,如主屏幕、联系人、电话、浏览器等,因
26、为Android是开放式的操作系统,所以用户可以根据自己的要求,利用已有的框架来编译、开发程序。Android应用程序中UI组件所需的控件首先由本层提供。如View,包括了列表、文本框、按钮等,这些组件构成了程序的视图部分8。 应用程序框架(Application Framework),开发者接触最多的就是应用程序框架,它给开发者提供了应用程序层的API,开发者在开发时都是基于框架的。其上层的应用程序基本都是以Java语言来编译的,应用程序框架提供所有用户界面设计所需的控件。终端界面能够显示出来让用户看到的的所有图形都是些文本框、按钮和列表等控件,它们组成了应用程序的界面系统。开发者在开发时可
27、以完全通过应用程序框架的视图系统、电话管理器等各个部分来进行软件的开发9。操作系统层(OS)Android SDK是运行于Linux上的,它只是以Linux内核来管理硬 件资源的,不同于Linux。Linux内核同时作为软、硬件栈间的抽象层,进行相互沟通 的工作10。 库和Android运行环境,通过Android平台来开发程序的过程,是由各类组件来调用Android的后台库来实现系统开发的。2.2.3 Android 的类介绍 Android手机区别于其它一些智能手机就在于它有自己的组件。本段内容就会对于Android的部分组件作详细的介绍。 Activity是进行Android平台开发时所
28、有程序的根本,它在Android应用中主要是用来创建和显示窗口的。系统的用户界面就是一个Activity对象,作一个很形象的比喻,在手机游览器中一个网页就是一个Activity。一般,一个Android应用会包含很多个Ac -tivity,它们之间是可以自由地进行相互跳转的,就像网页的跳转一样。但和网页跳转之间的不同之处就是,Activity之间的跳转是可能有返回值的11。 系统中的Activity可以通过一个activity栈来进行管理。当一个新的activity启动的时候,它首先会被放置在activity栈顶部并成为running状态的activity,之前的activity也在activ
29、ity栈中,但总是被保存在它的下边,只有当这个新的activity退出以后之前的activity才能重新回到前景界面12。Android中每个activity都是一个用户界面,要想实现各界面之间的转换就需用到A ndroid的Intent类。Intent类运行时包含两个部分,动作和动作对应的数据。Activity有两个方面,既可以调用其他请求,也可以被其它请求调用。在设计开发系统时,Activity主要负责窗口的创建工作,其次利用Set Content View方法将窗口显示出来,实现与用户的交互。 Intent Receiver,Activity是不可以直接用来接收系统的广播消息的,这时可以
30、在系统中注册一个Intent Receiver对象。当有满足条件的Intent事件到来时,将激活Intent Receiver,不管这个进程是运行还是没有运行,都能正常接收到其他应用发来的Intent 或者广播消息。如果系统正处于一个运行状态中,当有Intent请求时,系统会自动在适当的时候启动被触发的请求。一个Intentreceiver广播可以被反复通过Context.broadcast In tent()广播给其他的一些应用。 Service级别和Activity差不多,都是Android的四大组件之一,一般使用Service实现后台的一些长期运行的应用程序的服务工作。虽然是用户看不见的
31、,但在系统运行中的作用却是非常重要的。Service不能自己运行而只能在后台运行,它可以和其它组件进行交互。Service的启动有两种方式:第一种是通过调用Context.Start Service( )启动与调用Context.Stop Service()结束,第二种是调用Context.Bind Service()启动,调用和Con text Unbind Service()结束,这二种方法可以混合使用13。 Map Activity类是专门用来管理和显示地图视图的。Map Activity中两个类Get Point类和Map Controller类。Get Point类是用来存储经度和纬
32、度信息的。Map Controller类,顾名思义就是地图控制的一个工具,用来管理地图的缩放。 Content Provider,在Android中,所有的数据都是私有的,要想实现在各个应用程序中自由地使用各类数据,Android中的Content Provider则可以实现,它通过统一的标准的接口进行每个应用中各类数据的共享。外界可根据权限级别利用一套标准统一的接口和程序对数据进行共享。Map View类是只能通过Map Activity组件来创建的,其作用是用来显示地图界面的。当游客用手指在手机屏幕上触摸时,可以以缩放和移动的方式来调整地图,也可以在地图上做标识。移动设备上电子地图可以是卫
33、星、交通、街景三种模式来显示,并且Map View要想连接网络必须通过由Map Activity管理的后台线程来控制。 一般来说一个完整的Android应用程序应该包含Activity、Intent Receiver、Service、Content Provider和每个Android应用所相应的配置文件XML14。 第3章 系统需求分析与总体实现 3.1 系统需求分析 需求分析是设计一个系统的起点,要实现一个系统,应首先进行需求分析,分析结果是否正确地反映出了用户的实际需求。需求分析不但直接影响后面各阶段的设计,更影响到设计成果的合理性、实用性。在本阶段,主要任务就是解决“系统必须做什么”的
34、问题,该阶段的工作是确定系统的使用对象、范围、系统应具备哪些功能的前提,也就是对系统提出准确性、完整性的目标要求。这篇论文介绍了旅游体系的手机软件,能够对使用者在旅行的期间提供景点提供语音介绍、预订票务、预订酒店、查看旅游攻略和美食点评这些功能。 3.1.1 系统功能需求分析 (1)想要实现安卓地图插孔功能,可以实现对地图的界面控制。 (2)安卓体系能够自己拥有定位功能,使用者发出请求,将发回数据,来帮助使用者确定自己的位置。 (3)安卓体系与互联网相结合,可以连接使用者端与管理者端,让两者相互之间可以连接互传数据。(4) 安卓体系与互联网结合,可以进行票务预订及酒店预订功能,通过管理者端可以
35、对这些功能结果进行查看。 (5)安卓体系通过服务模块对旅游攻略和美食评定进行设计,用户端可以对其编写和查看。 3.1.2 系统性能需求分析 实用性需求:系统设计要充分考虑到系统的实用性,系统开发周期要短,要尽量降低开发投资成本,操作起来应简单易学,具有一定的实用性。 运行时间需求:整个系统采用的是B/S模式,为保证系统的运行速度,在单个操作运行时间上有所规定。本地单个操作运行时间要少于100ms,网络正常时与服务器通信的操作时间要少于200ms,地图更新时间不得超过5s15。 可靠性需求:本系统对服务器有严格的要求,服务器一直要处于工作运行状态,不能出现死机的情况,而手机客户端软件工作要实现连
36、续工作7天不出错。在有单个用户请求出现错误时不能影响整个服务器的其他工作。可移植性和可扩充性需求:系统在设计上要充分考虑到系统的功能和业务的扩展性支持二次开发16。 并发性需求:服务器端处理作业并发度10以下的作业时不会造成业务动作的丢失情况,运行并发度大于10的作业时不能造成系统出错的情况。3.1.3 经济可行性个人制作安卓体系是免费的,不需要使用者花费任何金钱。如果是投资方想要制作安卓体系,那么他们需要支付电脑的费用和服务器的费用等,然而他们是以盈利为目的,所以这些花销他们完全可以承受,因为他们的利润是巨大的。3.1.4 技术可行性 完成此安卓体系需要技术支持,这决定了安卓体系是否能够成功
37、设计并完成。我所用的编译代码是Java,它主要的特点就是方便进行测试,它可以在多种平台中得到广泛应用,因此本设计可以完成。3.2 系统总体实现 下面是本系统主要完成的功能: (1)登录功能:游客首先要进行身份验证,在登录界面输入自己的用户名和密码,向系统进行提交,如果登录成功,则会进行入系统功能界面,若登录不成功则继续显示登录界面。 (2)景点介绍功能:系统首先要设置好景点位置坐标的一个数据范围,当用户点击景点后,将发出请求来获取语音资源,获得语音资源后将播放景点介绍。 (3)办理票务功能:用户选择模块,输入想要去的目的地,系统将会筛选出有关目的地的所有票务,用户选择自己想要的票务即可预订成功
38、。 (4)预订酒店功能:用户选择模块,输入想要酒店,系统将会筛选出有关酒店的所有信息,用户选择自己想要的酒店即可预订成功。 (5)旅游攻略功能:用户选择模块,即可看到所有攻略,点击想要观看的攻略就可以成功进入观看,用户也可以自己添加自己的攻略。 (6)美食评论功能:用户选择模块,即可看到所有美食,点击想要观看的美食就可以成功进入观看,用户也可以自己添加自己的美食攻略。3.3 总体设计 (1)用户功能模块:系统提供下面的功能见下图3-1所示:用户登录 语音导游办理票务酒店预订旅游攻略美食点评火车票门票飞机票 图3-1 用户功能模块图 (2) 管理员功能模块:系统提供下面功能见下图3-2所示: 管
39、理员添加票务添加酒店票务订单酒店订单图3-2 管理员功能模块图 主界面的模块是所有模块的交集,通过主界面可以查看任意模块的功能详情,预订票务、预订酒店、语音导游、旅游攻略和美食点评五个模块作为客户端的主要功能模块,满足了客户在景点时对景点的背景了解,对其他用户旅游体会的了解,以及预订票务酒店的快捷功能。预订票务模块提供了预订火车票、门票和飞机票的功能,让你的旅途不必浪费在无聊的办票环节上,预订酒店模块同预订票务模块的目的一样,让用户快捷的办理预订,节约时间。语音导游模块提供地图功能并且具有语音介绍功能,用户到达景点,只需轻轻点击屏幕景点位置,即可得到景点的语音介绍功能,用户在观看景点风景之余就
40、可以了解景点背景,旅游攻略模块提供了用户自由言论的空间,在这里,用户可以说自己旅游时的心得体会,让其他游客感受到自己旅游时的心境,也可以观看他人攻略,感受其他人的想法,对于没有出行的用户也可以起到提前了解目的地的功能。美食点评模块提供了用户对于美食的评价,去旅游,吃当地特色食物是不可缺少的环节,用户可以自己发表对食物的看法,同时也可以看别人的点评,来选择自己想要吃的食物。3.4 各模块设计 登录模块:打开应用,用户输入账号密码,若账号密码都正确,则用户登录成功,进入主界面,若账号密码有误,则登录失败,还留在登录界面,此时用户需要重新注册账号密码,用新的正确账号密码登录即可,下图3-3是登录模块
41、流程图。开始 N登录界面验证账号密码Y注册登录成功主界面结束 图3-3 登录模块流程图 语音导游模块:点击进入语音导游模块,可以看到百度地图,在旅游的过程中,用户可以选择语音播报旅游景点的信息,以便用户更轻松的了解景点背景,但有一些游客不喜欢语音播报,而喜欢自己来观看景点信息,这样会让他们享受旅游过程的乐趣。图3-4是语音导游模块的流程图。 开始确定用户所在位置点击语音按钮 读取语音数据进行语音介绍结束图3-4 语音导游流程图 票务预订模块:点击进入票务预订模块,可以选择想要购买的票务,共三种选择,即火车票、飞机票和门票,选择完毕后,用户打出所需票务关键词即可得到想要票务的信息,提交所选票务就
42、可以成功预订票务。图3-5是票务预订模块的流程图。 开始N火车票源飞机票源YNY输入关键字门票Y结束车次信息显示 提交所选票务 图3-5 票务预订流程图 酒店预订:点击进入酒店预订模块,用户打出所需酒店关键词即可得到想要酒店的信息,提交所选酒店就可以成功预订酒店。图3-6是酒店预订模块的流程图。 开始输入酒店名选择酒店提交订单结束 图3-6 酒店预订 旅游攻略:点击进入旅游攻略界面,可以选择观看他人攻略,也可以分享自己的攻略。图3-7是旅游攻略模块的流程图。开始 进入旅游攻略N子程序Y添加旅游攻略查看攻略结束图3-7 旅游攻略 美食点评:点击进入美食点评界面,可以选择观看美食攻略也可以分享自己
43、的美食攻略。图3-8是美食点评模块的流程图。开始 进入美食点评N子程序Y分享美食点评查看美食点评结束图3-8 美食点评3.5 本章小结 本章主要对系统设计的功能需求和性能需求两方面进行了描述,并介绍了本系统的总体功能,对系统功能进行了详细的描述,在系统性能需求分析部分,主要从运行时间、可靠性、并发性需求三方面进行了描述。 第4章 软件详细设计4.1 系统整体设计 本安卓系统有三个最主要的模块,客户端模块、服务器端模块和数据库模块。其中 Android手机端承担客户端和用户界面的体现,服务器建立在计算机上,而数据类和传输协议类则是连接服务器和手机客户端的桥梁,负责数据的传输部分。系统的数据流是垂
44、直传递的,数据从服务器端发送到用户界必须要经过手机客户端这一层,反之从用户界面发送请求到服务器同样要经过手机客户端,本系统共分为服务器端、手机客户端、数据库三部分17。4.1.1 服务器端服务器存储了本系统运行过程中的所有数据以及数据的更新,必须由专业的工作人员对服务器进行操作和维护,如果一般非专业人员需要对服务器进行一些常规的维护,可以设置其操作权限,并借助某种管理软件对服务器进行管理。服务器可以通过数据库同步,为客户端数据库提供数据18。服务器端存放了全部的数据模型,并向手机客户端提供了统一的开放接口。通常情况下手机客户端是通过开放式的接口向服务端发出请求,服务器端接收到请求后利用的MVC
45、设计模型来实现对所有数据的分析和处理。手机客户端则通过统 一的访问接口来访问服务器端的数据模型。手机客户端与服务器端是通过网络方式进行互访。数据库要始终保持服务器和手机客户端对数据操作的同步性。 服务器端主要包括两个功能:接收执行手机客户端请求、数据库访问功能19。 服务器端接收执行手机端请求的实现主要包括4个类:System Server、End Socket Thread、End Socket Thread List和Login List。System Server类主要是接收手机客户端的连接请求,建立服务器与客户端之间的Socket连接;End Socket Thread类是一个线程类,
46、主要任务就是接受手机客户端的请求并进行执行处理,处理后将执行结果反馈给手机客户端,这个类在服务器端是独立运行的;End Socket Thread List类和Login List类都是容器类,Thread List是用来存放End Socket Thread对象,而Login List是用户登录服务器系统后就被作为User对象存放Login List中20。4.1.2 数据库能实现数据库访问功能的类是Database的这个类,其中这个类还有一个非常主要的作用是能够实现数据库和JDBC链接的功能,通过他的链接可以实现获得数据库的状态和信息的数据,常见的在用户端口他是不支持直接访问数据库这以特殊
47、的功能的,所以必须需要Database的这个类实现访问数据库的。其中有两个数据库的操作性质的语句,Execute Query的语句主要是实现对SQL查询到主要的意思,Execute Update语句的主要用意是对SQL更新现有的数据库21。在服务的语音导游的整个系统当中所完成的数据通信的功能都是基于HTTP机制的一项技术来实现的基本功能,在手机端上必须首先发送信息打包的请求,将相应的包请求发往服务器的端口实现请求,当服务器的端口接收到数据包后进行解码处理的过程和执行处理的过程,在最中的操作就是处理好数据申请的包发送给手机的客户端口实现手机端口的显示22。4.1.3 手机客户端设计 手机端的运行
48、和设计主要的目的是对游客和管理的相关人员来使用的。在客户的手机上主要实现的是与服务器功能的链接和管理的功能:在系统被启动的时候客户端能够最短的时间的登陆系统当中需要和服务器创建一个链接端口,是由Server Connector的对象数据实现的,通过登陆的个人信息来创建一个User对象,通过使用人所输入的个人信息密码个人账户来匹配相关的信息、校对信息,将会利用Server Connector类中的Socket方法实现对客户端请求的信息的发布到服务器当中,对客户进行信息的验证和识别通过已有的数据并且将反馈的结果发送给客户端口实现对客户的反馈显示在界面上。下图4-1是客户端、服务器和数据库之间的访问
49、过程图。服务器请求客户端数据库同步管理端更新数据库 图4-1 访问过程图 4.2模块实现4.2.1 登录界面模块 用户可以通过登录界面进入到主界面,图4-2是登录界面。 图4-2 登录界面 进入主界面,主界面由MainActivity类控制,本课题的主界面有五部分,包括语音导航、票务预订、酒店预订、美食评论和旅游攻略,用户可以进入相应的界面查看信息或办理业务。在主界面初始化模块,用到的类主要有4个,MainActivity是主界面Activity,它继承BaseActivity是所有Activity的基类,其中包含了发送网络请求的接口和回调、发送登录请求的接口和回调等等,RequestCont
50、roller是发送请求的控制器,用于发送网络请求。其内部提供DataRequestTask这个数据请求的基类,用以处理主界面(整个客户端)所有数据的网络请求、异步加载工作。HandleDataRequestTaskMessage()是网络数据对界面层的回调器,AppModelItem用于存储发送请求后返回的数据,并将格式解析成类的形式,获取数据,更新界面层23。下图4-3所示。 图4-3 用户界面4.2.2 语音导游模块 语音导游属于前台管理,这个模块包括两部分,一部分是地图功能,另外一部分是语音播放功能。用户点击语音导游进入语音导游界面后,可以看到地图,查看用户想要旅游的目的地,可以看到景点
51、上存在绿色圆点,这些圆点是景点所在位置,当用户点击圆点时,表示用户向服务器发出语音请求,服务器同意请求后将把允许语音介绍,此时用户手机端将播报景点语音介绍,这样即可以让用户在欣赏旅游景点之余,了解景点的背景等信息,让用户充分体会到旅游时的乐趣。在用户游览景点时也可以随时拿出手机,打开语音导游功能,随时随地了解自己所在的位置,也可以确定将要去的旅游景点。下图4-4所示。通信服务,语音导游系统所有的数据通信都是基于HTTP机制的,Android客户端首先将要发送的请求信息进行打包,再将HTTP请求包发往服务器端,服务器端接收到数据包后对其进行解码和执行处理,最后将处理好的HTTP数据包发送给And
52、roid手机客户端并显示出来,Android的定位接口:当移动终端设备集成GPS接收机这个功能模块时,它就具有定位功能。定位接口主要包括一些类,主要提供位置服务,并且能够提供实现定位与定向API的Location Manager服务。Location Manager服务在实际应用中不能被用户直接用来获取位置,而是要通过Get System Service这个服务来获得一个指向它的Handle24。一个Handle的作用,对于Location Providers的位置信息列表可以进行查询;当Location Provider提供某一点位置的实时数据时,Handle可以进行实时更新。系统在进行景点数据匹配时,首先要将所有的景点数据调到内存中,为提高景点范围匹配速度,高效率地运
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 职高安全教育
- 自行车店装修终止协议
- 二零二五年度北京市图书寄存保管协议范本
- 2024珠海市理工职业技术学校工作人员招聘考试及答案
- 2024渭源县职业中等专业学校工作人员招聘考试及答案
- 2024泉州幼儿师范高等专科学校工作人员招聘考试及答案
- 胎头吸引术的护理笔记
- 2024湖南省汨罗市职业中专学校工作人员招聘考试及答案
- 2024湖北省十堰市商业技工学校工作人员招聘考试及答案
- 2024河北城铁轨道职业技工学校工作人员招聘考试及答案
- 非机动车交通管理及规划研究
- 劳务派遣及医院护工实施预案
- 华电行测题库及答案2024
- 产后病(中医妇科学)
- 苏州市2023-2024学年高一上学期期末考试数学试题(原卷版)
- 社区获得性肺炎教学演示课件
- 农村蓝莓树补偿标准
- 市级临床重点专科申报书(麻醉科)
- 1.3.1 三角函数的周期性课件
- 冷链疫苗管理课件
- 【课件】信息系统的优势与局限性 2023-2024学年人教中图版(2019)高中信息技术必修二
评论
0/150
提交评论