《基于Android的旅游app的设计与实现(共67页).docx》由会员分享,可在线阅读,更多相关《基于Android的旅游app的设计与实现(共67页).docx(69页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上 齐 齐 哈 尔 大 学毕业设计论文 题 目 基于Android的旅游app的设计与实现 学 院 通信与电子信息工程 专业班级 电子XXX 学生姓名 XXXX 指导教师 XXXX 成 绩 2016年 6 月 15 日专心-专注-专业摘 要 旅游业的发展前景是优于很多行业的,它在让人放松身心的同时体会到自然神奇的力量。 本设计的主要内容是制作一拥有网上预订票务,预订酒店,语音播报景点信息,观看他人旅游攻略,分享自己旅游攻略,评定美食的一款旅游应用。它可以帮助想要出行的人们解决一些繁琐的小事,让人们出行更加方便。这是一款在Android平台上运行的旅游app,本文将具体介
2、绍语音模块,评论模块,预订模块的设计与实现过程,按照软件开发的流程,从客户端系统的架构、相关模块的功能进行描述。旅游行业的快速发展将带动经济的发展,本设计可以满足用户在旅游时的部分需求,帮助用户拥有更好的旅游体验。关键词:旅游;预订票务;语音播报;旅游攻略;Android 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 natural magic p
3、ower. 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 travel more
4、 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 related modu
5、le 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; Android目 录 第1章 绪论1.1课题选择的
6、意义及背景 国家逐年的发展,公民的经济越来越好,旅游出行已经在越来越多人的年中计划里。国家旅游部门预计2016年或是旅游人数最多的一年,大部分居民将出门游玩,其中还有很多人将多次游玩不同的地方;游客的预期花费一般是会有超出的,三分之一的人将花费万元以上,在2016年全世界的财政成长趋势看,旅游业或许将成为财政增长最快的行业之一。 现在旅游行业不同往日,逐年的高速发展人们已经离不开网络了。以前旅游的方法和现在旅游已经有很大的不同,互联网可以让人们更好的生活,在想要旅游点击网络就可以获得大量的旅游攻略、景点介绍、办理票务、预订酒店等信息,利用网络的方便来旅行已经是大势所趋,利用互联网对于旅游爱好者
7、来说方便了很多,也节省了很多的时间来做一些排队买票这类的事,有关旅游这方面的服务都得到了经济上的增长,现在旅游的趋势是旅游的主要竞争手段转移到了手机应用上,利用手机的便捷及手机应用的全面性取得了广大旅游用户的喜爱。现在有关旅游的应用软件主攻的服务方向不同,其中一类是包容性的,也就是在一个应用上可以选择多个应用,另外一类具有专攻性质,如酒店预订功能,票务预订功能、旅游攻略功能等,不论它们倾向哪一种,每一位旅行爱好者的手机中都会有一款旅游应用。现在是物联网大数据时代,各种各样的信息将向每一个人袭来,手机中的旅游应用也会提供游客各种有关旅游的信息1。 大部分使用者都希望有一种全面的旅游手机应用软件,
8、所以制作手机旅游软件需要有更多的实用功能,任何一个使用者都可以在软件中找到自己想要的服务,这就促成了一体化服务的产生,这些用户想要功能在一起,就可以让用户更加快捷的去旅游,利用一些零散的时间,完全足够旅行者了解想要去的地方。这些年来手机上的旅游应用越来越多,让人们不再以以前单一的旅游方式活动,旅游是放松人精神的一种活动,可以让人们更加热爱生活享受生活,旅游应用逐年的改进,方便了广大的旅行爱好者,只要是用户有可能需要的服务,手机旅游应用中都会有,这就让游客感受到旅游是一种纯粹的享受生活的方式,现在人们使用的手机应用有很多。在科技飞速发展的今天,我们已经离不开网络,手机旅游应用中的各种功能不断改善
9、,越来越强大,各种旅游软件公司都想让自己在旅游业有更强的竞争力,让更多的用户使用它们的产品。网络与手机的结合使旅行更加方便,因此旅游应用软件也越来越火爆,成为了人们必备的手机应用2。1.2课题国内外研究水平 电子商务可以将信息流、商流、资金流进行有效的管理,提高产业链的工作效率并降低成本。旅游业是最适合开展电子商务的行业之一,通过先进的网络技术手段提高企业内部、企业之间、企业与消费者之间的信息交流与沟通,改进旅游业的业务工作流程,所以电子商务对旅游业的发展具有深远的意义。发达国家和地区在这方面已经取得了巨大的成效。欧美发达国家,旅游电子商务已经成为整个电子商务领域最大、最突出的部分。资料显示,
10、全球旅游电子商务连续5年以35%以上的速度增长,一度占到全球电子商务总额20%以上。 与国外相比,我国旅游电子商务起步稍晚,1996年才开始出现专业的旅游网站,其后旅游电子商务快速发展,到2000年进入第一个高潮期,但在2001年由于受世界旅游业整体负增长形势的影响,中国的旅游业在这一年经历了一定的困境,增长速度有所下降;2002年中国旅游业又开始整体回升,到2005年Web2.0的刺激下掀起了新的一轮旅游电子商务热,自此又进入了一个新的“加速发展期”。目前,我国具有一定旅游资讯能力的网站已有5000多家。其中专业旅游300余家,主要包括地区性网站、专业网站和门户网站的旅游频道3大类。但是,旅
11、游电子商务还处在初级阶段,与发达国家相比还存在较大差距国内登录过旅游网站的网民占网民总数的比例较小,而进行过网上旅游预订的网民比例更小。我国旅游业应用电子商务系统的总体发展水平很低,信息服务能力有限,网络营销仅仅是一种时尚,消费者的培育,旅游电子商务软、硬件环境的成熟和政府政策法规的建设等等都是急待解决的问题。作为一个拥有丰富旅游资源的大国,我国有望借助先进的信息化手段帮助旅游业实现迅猛增长,迎来更大的飞跃。目前,国内外对传统PC网络旅游信息搜寻研究已较为充分。国外研究的重点主要集中在网络旅游信息需求与搜寻动机、搜寻内容偏好、搜寻行为特征、搜寻者特性和网络旅游信息源等5个方面。国内在借鉴国外研
12、究的基础上,进行了许多实证研究。如李君轶、杨敏对西安国内游客的网络信息搜索行为进行了研究;胡兴报和苏勤研究了黄山游客的网络信息搜索行为;岑成德、梁婷则是基于广州高校大学生对我国年轻旅游者的网络搜索行为进行了探讨。近些年,国内外学者也对移动互联网的信息搜索领域的开始关注。瑞森杰等基于技术接受理论,发现用户对移动旅游指南的信息存在偏见。金和帕克的研究发现旅游经验和技术经验与知觉有用性和易用性正相关,并与旅游者对移动设备的使用态度和在旅游方面使用移动设备的意图也成正相关。我国的叶燕芳基于3G时代的背景,通过比较不同形式的网络信息搜索行为,提出3G时代旅游信息搜索行为的新特点,建立了旅游信息搜索的模拟
13、过程3。综上所述,目前国内外鲜有对消费者通过旅游app信息检索的研究。本文在借鉴相关研究成果的基础上,构建出以利用旅游app信息搜索努力为因变量,以易用性、无处不在性、搜索风险、用户创新意识、产品知识、网络信任、智能手机涉入为自变量的理论模型并提出假设。通过抽样问卷调查的方式,探究各因素的影响原因,从而发现消费者使用旅游app信息搜寻行为的影响因素之间的关系,希望对消费者提供一些启示并对我国旅游app的定位与开发提出一些想法。1.3本论文研究内容 本设计共分5个章节来进行叙述,各章的主要内容如下:第1章介绍了课题的意义及背景还有国内外研究水平,并叙述了旅游业的发展前景。第2章介绍了本设计使用的
14、相关技术,在理论上对本设计是否可以完成做出了预想。第3章介绍了设计的需求分析和总体设计如何实现,考虑到了设计的需求关系与大体上怎么实现功能。第4章介绍了模块功能的实现,本章展示了模块所要实现的功能。第5章介绍了软件的测试结果,通过真机运行实现了想要达到的功能。 第2章 相关技术概述2.1 相关概念介绍 2.1.1 旅游信息系统 随着信息化在国内外旅游业的广泛应用,旅游信息系统 TIS(Tourism InformationsSystem)应运而生。它是以人为主导,利用计算机硬件、软件、网络通信设备以及其他办公设备,进行各种旅游资源数据的收集、传输、分析、模拟、处理及应用的信息系统。按照旅游服务
15、对象的不同,TIS可分为:MIS(Manage Information System)和DIS (D-estination Information System)两类4。MIS是来进行各行业之间的信息更新和传递,主要是旅游管理部门和旅游供应商;DIS主要是为游客和旅行商提供基于目的地旅游信息查询的相关服务。根据网络方式旅游目的地信息系统DIS又可分为旅游目的地网络营销系统和非网络环境下的自助电子导游系统、旅游地理信息系统等。随着电子商务技术的不断发展,非网络环境的DIS逐渐被网络网络拓展功能所替代,如游客利用网络进行网上预订的电子导游系统等。 2.1.2 导游服务 到有这类服务主要是指专业人员
16、对需要旅行的游客进行对景点的讲解,让游客更加了解旅游景区,并且不让游客在景点迷失方向,提供的向导类服务。 我国逐年的快速成长体现在个个方面,在科技方面尤为突出,导游的形势也变得更加高大上。需要导游的人群逐年增加,但有一些喜欢独自旅行,为了解决这个问题,语音导游功能应运而生,它可以帮助人们了解景点的背景,让游客了解到景点背后的故事,能更好的享受旅行。利用网络,游客还可以得到地图功能,游客也不用担心走失,不知道自己确切的方位。 2.1.3 预定服务 现在预订已经是一个被大部分人所接受的一个功能,相信大部分人都用过预订这个功能,从我们的日常出发,预订已经无处不在,如果你想去一家非常火爆的饭店或者其他
17、火爆的地方,你不预定位置,那么你或许要等待很长一段时间,因为火爆的服务单位不缺少顾客,但是特定时间也许会有空闲位置,大部分人不了解这个时间段有空缺,所以大家都挤到一个时间段,这样造成的结果就是,少数人如愿以偿的得到了服务,大部分人只能等待,浪费大量的时间与精力,很不科学也很不高效,但是如果应用预订功能那就可以让人们的生活更加高效,用户可以预先定好,让提供服务的地方有准备,让更多的用户能合理的安排时间,这类预订服务有很多,比如预订火车票,如果用户进行了预订,那么就不用排队去购票窗口买票务,直接到取票机器那里付款取票,方便快捷,因为在取票之前公民就已经挑选好了票务,不需要再进行选取票务,只需要完成
18、最后的步骤付款取票,这样就算很多人都来取票,那也可以很快的完成用户的需求。由此可见预订功能可以帮助用户节约时间,大大的提升了用户的生活节奏。 2.1.4 攻略服务 现在生活中各种各样的攻略已经是非常多,攻略就是其他人的经验之谈,可以是笔者的想法,也可以是一段有价值的客观描述。比如你想要出游,那么你可以查看其他人的攻略,攻略之中可以让你了解到你想去的景点的旅游风景是怎样的,也可以了解到目的地哪些风景是最值得看的,帮助你了解到你不知道的网络上也查不到的一些潜在旅游时遇到的情况,帮助你更快更好的旅游,少走一些弯路,这些攻略将帮助你做好提前准备。2.2 Android技术 2.2.1 Android平
19、台 Android手机操作系统是由谷歌公司于2007年正式推出的,最大的特点是平台的真正开放性。到目前为止,Android手机操作系统的最新版本为4.0,具有广泛的应用和发展前景。Android系统的使用率占据全球智能手机系统将近80%的份额,尤其在中国市场的占有率更高,接近90%,与其他手机操作系统相比,Android具有最大的优点就在于它的开放性和平台开发的便捷性,不同的厂商可以根据自己的需求对平台进行扩展开发,而且无需支付任何费用。采用Android操作系统的智能手机越来越受到人们的青睐。Android是以Linux系统为基础,能更好地满足电脑爱好者的需求。另外Android的安全性也比
20、较完善5。 以Android为开发平台,Android以Java为编程语言,使到功能,都有层出不穷的变化,其中Activity等同于MIDlet,一个Activity负责创建视窗,一个活动中的Ac -tivity就是在 foreground模式,背景运行的程序叫做Service6。两者之间通过由Service和AIDL连结,达到复数程序同时运行的效果。如果运行中的Activity全部画面被其他 Activity 取代时,该Activity便被停止,甚至被系统清除。View等同于Displayable,程序人员可以通过 View 类与“XML layout”档将UI放置在视窗上,的版本可以利用
21、View 打造出所谓的 Widgets,其实Widget只是View的一种,所以可以使用xml来设计layout,的Android Hero手机即含有大量的widget。至于ViewGroup 是各种layout 的基础(abstract class),ViewGroup之内还可以有ViewGroup。View的不需要再Activity中调用,但是Displayable的是必须的,在Activity中,要通过findViewById()来从XML中取得View,Android的View类的显示很大程度上是从XML中读取的7。View与事件息息相关,两者之间通过Listener结合在一起,每一个
22、View都可以注册一个event listener,例如:当View要处理用户触碰的事件时,就要向Android框架注册View.OnClickListener。 (1)一次编写,到处运行。在这一点上Java比更出色,在不同的软件平台上运行,代码不用做任何更改。 (2)软件的多平台支持。基本上可以在所有平台上的任意环境中开发,在任意环境中进行软件不是和运行。相比ASP/PHP的局限性是显而易见的。 (3)强大的可伸缩性。从只有一个小的文件就可以运行Servlet/JSP,到由多台服务器进行集群和负载均衡,到多台Application进行事务处理,消息处理,一台服务器到无数台服务器,Java显示
23、了一个巨大的生命力。 (4)多样化和功能强大的开发工具支持。这一点与ASP很像,Java已经有了许多非常优秀的开发工具,而且许多可以免费得到,并且其中许多已经可以顺利的运行于多种平台之下。2.2.2 Android 体系结构 Android手机操作系统平台整合了操作系统、中间件和应用程序三大块。Android操作系统之所以会受到各厂家的青睐,真是因为它的真正开放的优越性。Android的架构软件层次结构自上而下共分为以下4个层。 应用程序(Application)主要是用来设计用户操作界面的,用Java语言来编写,主要是被用户访问。Android自身提供了一些核心的应用程序,如主屏幕、联系人、
24、电话、浏览器等,因为Android是开放式的操作系统,所以用户可以根据自己的要求,利用已有的框架来编译、开发程序。Android应用程序中UI组件所需的控件首先由本层提供。如View,包括了列表、文本框、按钮等,这些组件构成了程序的视图部分8。 应用程序框架(Application Framework),开发者接触最多的就是应用程序框架,它给开发者提供了应用程序层的API,开发者在开发时都是基于框架的。其上层的应用程序基本都是以Java语言来编译的,应用程序框架提供所有用户界面设计所需的控件。终端界面能够显示出来让用户看到的的所有图形都是些文本框、按钮和列表等控件,它们组成了应用程序的界面系统
25、。开发者在开发时可以完全通过应用程序框架的视图系统、电话管理器等各个部分来进行软件的开发9。操作系统层(OS)Android SDK是运行于Linux上的,它只是以Linux内核来管理硬 件资源的,不同于Linux。Linux内核同时作为软、硬件栈间的抽象层,进行相互沟通 的工作10。 库和Android运行环境,通过Android平台来开发程序的过程,是由各类组件来调用Android的后台库来实现系统开发的。2.2.3 Android 的类介绍 Android手机区别于其它一些智能手机就在于它有自己的组件。本段内容就会对于Android的部分组件作详细的介绍。 Activity是进行Andr
26、oid平台开发时所有程序的根本,它在Android应用中主要是用来创建和显示窗口的。系统的用户界面就是一个Activity对象,作一个很形象的比喻,在手机游览器中一个网页就是一个Activity。一般,一个Android应用会包含很多个Ac -tivity,它们之间是可以自由地进行相互跳转的,就像网页的跳转一样。但和网页跳转之间的不同之处就是,Activity之间的跳转是可能有返回值的11。 系统中的Activity可以通过一个activity栈来进行管理。当一个新的activity启动的时候,它首先会被放置在activity栈顶部并成为running状态的activity,之前的activi
27、ty也在activity栈中,但总是被保存在它的下边,只有当这个新的activity退出以后之前的activity才能重新回到前景界面12。Android中每个activity都是一个用户界面,要想实现各界面之间的转换就需用到A ndroid的Intent类。Intent类运行时包含两个部分,动作和动作对应的数据。Activity有两个方面,既可以调用其他请求,也可以被其它请求调用。在设计开发系统时,Activity主要负责窗口的创建工作,其次利用Set Content View方法将窗口显示出来,实现与用户的交互。 Intent Receiver,Activity是不可以直接用来接收系统的广
28、播消息的,这时可以在系统中注册一个Intent Receiver对象。当有满足条件的Intent事件到来时,将激活Intent Receiver,不管这个进程是运行还是没有运行,都能正常接收到其他应用发来的Intent 或者广播消息。如果系统正处于一个运行状态中,当有Intent请求时,系统会自动在适当的时候启动被触发的请求。一个Intentreceiver广播可以被反复通过Context.broadcast In tent()广播给其他的一些应用。 Service级别和Activity差不多,都是Android的四大组件之一,一般使用Service实现后台的一些长期运行的应用程序的服务工作。
29、虽然是用户看不见的,但在系统运行中的作用却是非常重要的。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类
30、是用来存储经度和纬度信息的。Map Controller类,顾名思义就是地图控制的一个工具,用来管理地图的缩放。 Content Provider,在Android中,所有的数据都是私有的,要想实现在各个应用程序中自由地使用各类数据,Android中的Content Provider则可以实现,它通过统一的标准的接口进行每个应用中各类数据的共享。外界可根据权限级别利用一套标准统一的接口和程序对数据进行共享。Map View类是只能通过Map Activity组件来创建的,其作用是用来显示地图界面的。当游客用手指在手机屏幕上触摸时,可以以缩放和移动的方式来调整地图,也可以在地图上做标识。移动设备
31、上电子地图可以是卫星、交通、街景三种模式来显示,并且Map View要想连接网络必须通过由Map Activity管理的后台线程来控制。 一般来说一个完整的Android应用程序应该包含Activity、Intent Receiver、Service、Content Provider和每个Android应用所相应的配置文件XML14。 第3章 系统需求分析与总体实现 3.1 系统需求分析 需求分析是设计一个系统的起点,要实现一个系统,应首先进行需求分析,分析结果是否正确地反映出了用户的实际需求。需求分析不但直接影响后面各阶段的设计,更影响到设计成果的合理性、实用性。在本阶段,主要任务就是解决“
32、系统必须做什么”的问题,该阶段的工作是确定系统的使用对象、范围、系统应具备哪些功能的前提,也就是对系统提出准确性、完整性的目标要求。这篇论文介绍了旅游体系的手机软件,能够对使用者在旅行的期间提供景点提供语音介绍、预订票务、预订酒店、查看旅游攻略和美食点评这些功能。 3.1.1 系统功能需求分析 (1)想要实现安卓地图插孔功能,可以实现对地图的界面控制。 (2)安卓体系能够自己拥有定位功能,使用者发出请求,将发回数据,来帮助使用者确定自己的位置。 (3)安卓体系与互联网相结合,可以连接使用者端与管理者端,让两者相互之间可以连接互传数据。(4) 安卓体系与互联网结合,可以进行票务预订及酒店预订功能
33、,通过管理者端可以对这些功能结果进行查看。 (5)安卓体系通过服务模块对旅游攻略和美食评定进行设计,用户端可以对其编写和查看。 3.1.2 系统性能需求分析 实用性需求:系统设计要充分考虑到系统的实用性,系统开发周期要短,要尽量降低开发投资成本,操作起来应简单易学,具有一定的实用性。 运行时间需求:整个系统采用的是B/S模式,为保证系统的运行速度,在单个操作运行时间上有所规定。本地单个操作运行时间要少于100ms,网络正常时与服务器通信的操作时间要少于200ms,地图更新时间不得超过5s15。 可靠性需求:本系统对服务器有严格的要求,服务器一直要处于工作运行状态,不能出现死机的情况,而手机客户
34、端软件工作要实现连续工作7天不出错。在有单个用户请求出现错误时不能影响整个服务器的其他工作。可移植性和可扩充性需求:系统在设计上要充分考虑到系统的功能和业务的扩展性支持二次开发16。 并发性需求:服务器端处理作业并发度10以下的作业时不会造成业务动作的丢失情况,运行并发度大于10的作业时不能造成系统出错的情况。3.1.3 经济可行性个人制作安卓体系是免费的,不需要使用者花费任何金钱。如果是投资方想要制作安卓体系,那么他们需要支付电脑的费用和服务器的费用等,然而他们是以盈利为目的,所以这些花销他们完全可以承受,因为他们的利润是巨大的。3.1.4 技术可行性 完成此安卓体系需要技术支持,这决定了安
35、卓体系是否能够成功设计并完成。我所用的编译代码是Java,它主要的特点就是方便进行测试,它可以在多种平台中得到广泛应用,因此本设计可以完成。3.2 系统总体实现 下面是本系统主要完成的功能: (1)登录功能:游客首先要进行身份验证,在登录界面输入自己的用户名和密码,向系统进行提交,如果登录成功,则会进行入系统功能界面,若登录不成功则继续显示登录界面。 (2)景点介绍功能:系统首先要设置好景点位置坐标的一个数据范围,当用户点击景点后,将发出请求来获取语音资源,获得语音资源后将播放景点介绍。 (3)办理票务功能:用户选择模块,输入想要去的目的地,系统将会筛选出有关目的地的所有票务,用户选择自己想要
36、的票务即可预订成功。 (4)预订酒店功能:用户选择模块,输入想要酒店,系统将会筛选出有关酒店的所有信息,用户选择自己想要的酒店即可预订成功。 (5)旅游攻略功能:用户选择模块,即可看到所有攻略,点击想要观看的攻略就可以成功进入观看,用户也可以自己添加自己的攻略。 (6)美食评论功能:用户选择模块,即可看到所有美食,点击想要观看的美食就可以成功进入观看,用户也可以自己添加自己的美食攻略。3.3 总体设计 (1)用户功能模块:系统提供下面的功能见下图3-1所示:用户登录 语音导游办理票务酒店预订旅游攻略美食点评火车票门票飞机票 图3-1 用户功能模块图 (2) 管理员功能模块:系统提供下面功能见下
37、图3-2所示: 管理员添加票务添加酒店票务订单酒店订单图3-2 管理员功能模块图 主界面的模块是所有模块的交集,通过主界面可以查看任意模块的功能详情,预订票务、预订酒店、语音导游、旅游攻略和美食点评五个模块作为客户端的主要功能模块,满足了客户在景点时对景点的背景了解,对其他用户旅游体会的了解,以及预订票务酒店的快捷功能。预订票务模块提供了预订火车票、门票和飞机票的功能,让你的旅途不必浪费在无聊的办票环节上,预订酒店模块同预订票务模块的目的一样,让用户快捷的办理预订,节约时间。语音导游模块提供地图功能并且具有语音介绍功能,用户到达景点,只需轻轻点击屏幕景点位置,即可得到景点的语音介绍功能,用户在
38、观看景点风景之余就可以了解景点背景,旅游攻略模块提供了用户自由言论的空间,在这里,用户可以说自己旅游时的心得体会,让其他游客感受到自己旅游时的心境,也可以观看他人攻略,感受其他人的想法,对于没有出行的用户也可以起到提前了解目的地的功能。美食点评模块提供了用户对于美食的评价,去旅游,吃当地特色食物是不可缺少的环节,用户可以自己发表对食物的看法,同时也可以看别人的点评,来选择自己想要吃的食物。3.4 各模块设计 登录模块:打开应用,用户输入账号密码,若账号密码都正确,则用户登录成功,进入主界面,若账号密码有误,则登录失败,还留在登录界面,此时用户需要重新注册账号密码,用新的正确账号密码登录即可,下
39、图3-3是登录模块流程图。开始 N登录界面验证账号密码Y注册登录成功主界面结束 图3-3 登录模块流程图 语音导游模块:点击进入语音导游模块,可以看到百度地图,在旅游的过程中,用户可以选择语音播报旅游景点的信息,以便用户更轻松的了解景点背景,但有一些游客不喜欢语音播报,而喜欢自己来观看景点信息,这样会让他们享受旅游过程的乐趣。图3-4是语音导游模块的流程图。 开始确定用户所在位置点击语音按钮 读取语音数据进行语音介绍结束图3-4 语音导游流程图 票务预订模块:点击进入票务预订模块,可以选择想要购买的票务,共三种选择,即火车票、飞机票和门票,选择完毕后,用户打出所需票务关键词即可得到想要票务的信
40、息,提交所选票务就可以成功预订票务。图3-5是票务预订模块的流程图。 开始N火车票源飞机票源YNY输入关键字门票Y结束车次信息显示 提交所选票务 图3-5 票务预订流程图 酒店预订:点击进入酒店预订模块,用户打出所需酒店关键词即可得到想要酒店的信息,提交所选酒店就可以成功预订酒店。图3-6是酒店预订模块的流程图。 开始输入酒店名选择酒店提交订单结束 图3-6 酒店预订 旅游攻略:点击进入旅游攻略界面,可以选择观看他人攻略,也可以分享自己的攻略。图3-7是旅游攻略模块的流程图。开始 进入旅游攻略N子程序Y添加旅游攻略查看攻略结束图3-7 旅游攻略 美食点评:点击进入美食点评界面,可以选择观看美食
41、攻略也可以分享自己的美食攻略。图3-8是美食点评模块的流程图。开始 进入美食点评N子程序Y分享美食点评查看美食点评结束图3-8 美食点评3.5 本章小结 本章主要对系统设计的功能需求和性能需求两方面进行了描述,并介绍了本系统的总体功能,对系统功能进行了详细的描述,在系统性能需求分析部分,主要从运行时间、可靠性、并发性需求三方面进行了描述。 第4章 软件详细设计4.1 系统整体设计 本安卓系统有三个最主要的模块,客户端模块、服务器端模块和数据库模块。其中 Android手机端承担客户端和用户界面的体现,服务器建立在计算机上,而数据类和传输协议类则是连接服务器和手机客户端的桥梁,负责数据的传输部分
42、。系统的数据流是垂直传递的,数据从服务器端发送到用户界必须要经过手机客户端这一层,反之从用户界面发送请求到服务器同样要经过手机客户端,本系统共分为服务器端、手机客户端、数据库三部分17。4.1.1 服务器端服务器存储了本系统运行过程中的所有数据以及数据的更新,必须由专业的工作人员对服务器进行操作和维护,如果一般非专业人员需要对服务器进行一些常规的维护,可以设置其操作权限,并借助某种管理软件对服务器进行管理。服务器可以通过数据库同步,为客户端数据库提供数据18。服务器端存放了全部的数据模型,并向手机客户端提供了统一的开放接口。通常情况下手机客户端是通过开放式的接口向服务端发出请求,服务器端接收到
43、请求后利用的MVC设计模型来实现对所有数据的分析和处理。手机客户端则通过统 一的访问接口来访问服务器端的数据模型。手机客户端与服务器端是通过网络方式进行互访。数据库要始终保持服务器和手机客户端对数据操作的同步性。 服务器端主要包括两个功能:接收执行手机客户端请求、数据库访问功能19。 服务器端接收执行手机端请求的实现主要包括4个类:System Server、End Socket Thread、End Socket Thread List和Login List。System Server类主要是接收手机客户端的连接请求,建立服务器与客户端之间的Socket连接;End Socket Thread类是一个线程类,主要任务就是接受手机客户端的请求并进行执行处理,处理后将执行结果反馈给手机客户端,这个类在服务器端是独立运行的;End Socket Thread List类和Login List类都是容器类,Thread List是用来存放End Socket Thread对象,而Login List是用户登录服务器系统后就被作为User对象存放Login List中20。4.1.2 数据库能实现数据库访问功能的类是Database的这个类,其中这个类还有一个非常主要的作用是能够实现数据库和