摘要
旅游自助APP设计的目的是为用户提供对景点信息和路线攻略、周边美食等方面的平台。 与PC端应用程序相比,旅游自助的设计主要面向于旅行者,旨在为用户提供一个旅游自助。用户可以通过APP及时景点信息,并对景点进行购票或收藏等。相反,对不感兴趣的内容,可以采取屏蔽操作。 旅游自助APP是在Android操作系统下的应用平台。为防止出现兼容性及稳定性问题,服务器选择的是Apache,用户与后台之间的数据存储主要通过MySQL。用户在使用应用时产生的数据通过Java等语言传递给数据库。通过此方式促进旅游自助APP信息流动和数据传输效率,提供一个内容丰富、功能多样、易于操作的旅游自助APP。
绪论
近年来,随着网络基础设施的不断建成,互联网成为社会发展和经济增长的推动力。中国网民总体规模持续增长:一是城乡上网差距继续缩小,二是得益于互联网适应用老化改造持续推进,老年群体加速融入网络社会。上网的总时长保持增长,上网的终端设备呈现多元化,其中包括手机、笔记本电脑、电视机和平板电脑。其中,手机仍然是上网的主要设备。受新冠疫情影响,不但引起“大萧条”以来最严重的经济衰退,而且为人们的出行带来了极大的不便。由此带来的是,即时通信、网络视频、短视频用户、在线办公、在线购买等应用保持较快增长,人们有愈来愈多的线上需求。从现在来看,国内的旅游自助比较缓慢,应该加紧脚步,积极投身入到实践任务当中,不断积极探索,从实践中出来,总结出自己的理论方法。与传统的工作室相比较,旅游自助APP具有开发成本低、方便快捷等特点,将会得到大力发展。
旅游自助APP就是针对适合移动设备方便用户访问和浏览而进行搭建的,而且还是基于PC端进行开发。旅游自助APP主要是针对智能手机用户的,有尺寸小、可方便携带的优势,带来了获取信息及时、方便快捷的用户体验,也可以减少加载资源的时间,以提前进行缓存内容。在当前各行业工作都转向线上的形势之下,旅游自助APP充分发挥了它的优势,利用互联网将用户、管理员和平台相互联系。在大数据背景下,产生的数据会非常繁多,后台会对产生的数据进行汇总和处理,确定其真实性和合法性。
1.1研究意义 常见的系统管理主要通过文章、图书、报纸、挂图等,这些多样的传播形式极大丰富满足了人们求知的欲望。不过随着近些年来互联网不断渗透到生活各个方面,这些传统的传播媒介受到了冲击,显示出它的弊端。各种电子产品的出现也是顺应时代,满足当前更加数字化、网络化的时代发展趋势。再加上近年来科技领域的不断突破,大数据和人工智能也不断进入我们的生活中,如短视频软件中的内容推荐和购物平台用户推荐都用到了相关算法和研究成果。把图文、短视频等作为知识传播普及的媒介,可以为信息的传播带来很多的好处。例如,人们可利用碎片化的时间进行学习交流,有利于拓宽知识传播的壁垒,唤醒大众对知识旅游自助App的渴望和热情。 App的开发要从实践中总结研究出自己的一套理论体系,需要管理者和用户不断地进行系统性总结和反思。表现形式难免也跟随现代技术的发展而发生相应的转变,以往的报纸图文等静态表达形式正受着视频化、移动化的方式的冲击,未来的某一天也许会被取代。这提醒工作者更加关注公众需求的多层次性,在条件允许的情况下,采用线上和线下相结合的方式更有利于促进旅游自助整体水平的提升。在旅游自助工作中,管理者都是根据用户的需求来规划和设计活动,用户的需求就是应该考虑的,这就是“需求导向”原则。。
1.2系统设计目的 为了给用户清晰直观的页面指示。用户在完成注册后,会将用户注册相关信息添加到后台数据库中;用户在登录时,会根据数据库存储信息进行身份验证。用户可以关注自已感兴趣的活动,反之,可以点击屏蔽操作。后台管理人员也会根据各景点信息进行筛选,将好的活动放在APP主页,以供更多人点击和浏览。旅游自助APP打破活动传播和理解的壁垒。 1.3系统设计思想 在系统开发过程中,为了提升软件质量,提升用户体验,秉持严谨的态度制定了一些应遵守的原则。这些原则可以保证完成软件开发任务,也可以为后期软件测试和维护提供便利。以下是应遵守的一些原则:
(1)用户第一原则 旅游自助APP的开发,不仅要建立用户思维,围绕用户展开工作、解决用户需求,还要把为用户创造价值放在工作的第一位,并作为产品制定项目的切入点。了解需求的构成,了解需求的背后,善于洞察用户需求。此外,还应探索新思路,做出创新并达成突破性结果。
(2)可扩展、灵活性原则 毫无疑问,一个被客户称赞的系统,在拓展性和灵活性方面都比较高。因为在当今时代,用户的需求变化比较快。为满足用户需求,开发者需要及时对系统做出调整,如果用户小小的需求会引起系统的大量改动,那么这个系统就是不成功的。应该牢牢把握“原则”,让系统在设计初期就考虑到拓展性和灵活性,为后期的运维和技术支持也将带来很多的好处。例如,如何做到在降低模块间依赖性的同时,提升系统稳定性。 (3)安全性和可维护性原则 在使用过程中,难免出现不可预知的安全问题,应做到及时辨识系统的隐患,应采取有效措施,让损失降到最小。维护性包括代码理解性、测试性、修改性。在设计初期,如没考虑到系统的可维护性,也会带来很多的棘手问题。当运维阶段时,系统遇到比较大的问题时,解决起来费时费力,还不一定可以解决。最好的、最简单的方法就是重写,这就造成人员、金钱和时间等资源浪费。
系统开发环境及关键技术
2.1 Android Studio介绍 Android Stuido是Google公司在2013年推出一款开源的、跨平台的安卓集成开发环境,它可以运行在Windows、Linux和OSX等操作系统上,专门为Android开发而设计打造的软件,是一款以IDEA为基础的,为安卓开发提供便利而改造的IDE,除去开源免费跨平台的优势外,选择它作为主要开发工具的理由还有很多。与IDEA和Eclipse相比,它具有以下优势:
(1)UI界面更漂亮,主题也变得丰富,并且支持背景自定义。
(2)软件启动速度、响应速度、内存占用都得到了很大提升。
(3)功能更加强大,Eclipse经常卡顿的问题在它身上不会出现。
(4)软件的提示补全功能更加智能,开发效率得到很大的提升。
(5)它还支持用户定义智能保存,再也不用手动保存了。
(6)软件还支持用户实时预览,开发者可以一边开发一边预览,大大提高了用户开发和调试的效率。
(7)完美的内置了兼容了命令行终端,对于喜欢命令行终端使用的人来说,也是一大福音。
(8)含有丰富的插件库,可以选择很多可提升工作效率的插件,搜索点击就可完成安装。
(9)具有完美的版本控制工具,如Git、SVN等。
2.2 PHP介绍 PHP是一种面向对象的编程语言。类是PHP程序的基本组件。类包含属性和方法,可以在类中创建无数的对象。类的主要成员是字段和方法。字段指的是数据变量,方法指的是字段上的一组操作,包括为其他变量赋值和调用方法。PHP代码是在类主体中编写的,类主体中的每个数据项都可以看作是一个对象。PHP不支持类的多重继承,但它可以支持接口的多重继承,并支持类和接口的实现。由于PHP通常用于网络环境,因此PHP提供了一种针对恶意代码攻击的安全机制。同时,PHP具有强大的类型机制、自动垃圾收集、异常处理等特性,是PHP语言健壮性的重要保证。 1. PHP语言具有以下特性: (1) PHP结合了C、Java、Perl和自己的新语法,形成了自己独特的语法。 (2) PHP可以更快地执行动态网页,当然这只是与CGI或Perl相比,PHP可以在HTML文档中嵌入程序,并且可以执行,此外,PHP可以实现CGI的所有功能,因此PHP具有非常强大的功能。
(3)大多数流行的数据库和操作系统PHP语言都能支持。 (4) PHP语言最重要的特点是C和c++可以扩展 2. PHP语言具有以下优点: (1)开放源代码:几乎所有的PHP源代码都是可用的。 (2)免费:PHP是开放源代码,是免费的 (3)快速性:对于初学者来说,PHP不仅编辑简单,可以嵌入到HTML语言中,而且程序开发和操作速度非常快,非常容易掌握。 (4)跨平台性强:PHP是一种可以在服务器上运行的脚本语言,因此可以在UNIX、Android、Mac OS、WINDOWS等操作平台上运行。 (5)效率高:PHP消耗的系统资源相对较少,因此效率高。 (6)图像处理:PHP不仅可以使用GD2处理图像,还可以完成图像的创建。 (7)面向对象:PHP4、PHP5对于PHP在面向对象方面有很多改进,PHP语言开发大型商业程序也可以胜任。
2.3 Tomcat介绍 Tomcat是一个开源免费的的应用服务器,是Apache软件基金会项目中的一个核心项目,由sun等公司以及个人共同合作开发而成,是一款比较流行的网页应用服务器。Tomcat由一系列的组件构成,其中核心的组件有三个:web容器, servlet容器, JSP容器。Tomcat作为servlet容器,有三种工作模式:独立的servlet容器,servlet容器是web服务器中的一部分;作为进程内的servlet容器,servlet容器是作为web服务器的插件和PHP容器的实现;进程外的servlet容器,servlet容器运行于web服务器之外的地址空间,并作为web服务器的插件和PHP容器实现的结合[4]。反应时间不如进程内但伸缩性和稳定性比进程内优。 Tomcat有三种运行模式: (1)bio 即阻塞式I/O操作,Tomcat使用的是传统的PHP I/O操作(即PHP.io包及其子包)。Tomcat在默认情况下,就是以bio模式运行的。
(2)nio 是一种新的I/O操作方式(即PHP.nio包及其子包)。PHP nio是一个基于缓冲区、并能提供非阻塞I/O操作的PHP API,因此nio也被看成是non-blocking I/O的缩写。 (3)apr 它是Apache HTTP服务器的支持库。可以简单地理解为:Tomcat将以JNI的形式调用Apache HTTP服务器的核心动态链接库来处文件读取或网络传输操作,从而大大地提高Tomcat对静态文件的处理性能。
2.4 MySQL介绍 MySQL数据库是一种关系型数据库管理系统,是一种开源软件由瑞典MySQL AB公司开发,08年被Sun公司收购,09年Sun公司又被Oracle公司收购[6]。由于其体积小、速度快、总体花费成本低,特别地是开源这一各优势,许多公司考虑到总体运行成本和花费成本而选择了MySQL。MySQL属于轻量级小中型数据库。MySQL数据库有以下优点:成本花费比较低,MySQL是免费而且它的技术支持也很便宜;运行的速度比较快,它的运行速度比其他的很多的数据库都快;跨平台、可移植性较高,MySQL可以在非常多种的操作系统中运行,满足各种操作系统的用户,后期的管理和运维相对也比较方便。 SQLite,是一款轻量级别的数据库,是一种关系型数据库系统。它起初的的设计目标是面向嵌入式设备,目前在很多的嵌入式设备中可见到它的身影,它占用的内存非常的低,在嵌入式设备中,只需要几百K的内存。同时,它也是跨平台的,支持主流的操作系统,同时还可以很多程序语言(如C#、PHP、PHP等)相结合使用,同样与Mysql、PostgreSQL这两款开源的DBMS相比,它的处理速度比他们都快[7]。SQLite第一个版本诞生于2000年5月。目前为止,已经有二十多年了,也等到了新的版本的SQLite 3的发布。
2.5系统开发环境 使用设计模式是为了让自己明确开发系统各个组成的各种关系与角色,设计模式让你经典场景来分析你实现某些功能的时候需要什么角色、如何合理设置接口、提高系统各个层次的独立性,降低耦合度等方法好处。 由“模型-视图-控制器”是一种非常经典的软件架构模式,在UI框架和UI设计思路中扮演着重要角色。从设计模式的角度来说,MVC模式是一种复合模式,它将多个设计模式在一种解决方案中结合,用来解决许多设计问题。MVC模式把用户界面交互拆分为三种不同角色中,使得应用程序被分成三个核心部件:Model(模型)、View(视图)、Control(控制器)[8]。MVC模式将它们分离以提高系统的灵活性和复用性,不使用MVC模式,用户界面设计往往将这些对象混在一起[9]。
系统结构图
APP首页界面图
我的界面图
后台登录界面图
管理员功能界面图
用户管理界面图
景点信息管理界面图
购票信息管理界面图
路线攻略管理界面图
部分数据库表
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
|||
dingdanbianhao |
varchar |
200 |
订单编号 |
||
jingdianmingcheng |
varchar |
200 |
景点名称 |
||
jingdianleixing |
varchar |
200 |
景点类型 |
||
tupian |
longtext |
429496 |
图片 |
||
piaojia |
int |
票价 |
|||
piaoshu |
int |
票数 |
|||
zongjia |
int |
总价 |
|||
xiadanshijian |
datetime |
下单时间 |
|||
yonghuming |
varchar |
200 |
用户名 |
||
xingming |
varchar |
200 |
姓名 |
||
shouji |
varchar |
200 |
手机 |
||
ispay |
varchar |
200 |
是否支付 |
未支付 |
字段名称 |
类型 |
长度 |
字段说明 |
主键 |
默认值 |
id |
bigint |
主键 |
主键 |
||
addtime |
timestamp |
创建时间 |
CURRENT_TIMESTAMP |
||
dianpumingcheng |
varchar |
200 |
店铺名称 |
||
caipinmingcheng |
varchar |
200 |
菜品名称 |
||
caipinleixing |
varchar |
200 |
菜品类型 |
||
tupian |
longtext |
4294967295 |
图片 |
||
kouwei |
varchar |
200 |
口味 |
||
chengshi |
varchar |
200 |
城市 |
||
jiage |
float |
价格 |
|||
shuliang |
int |
数量 |
|||
caipinjieshao |
longtext |
4294967295 |
菜品介绍 |
||
clicktime |
datetime |
最近点击时间 |
结论
旅游自助以Android Studio为开发环境进行开发和最终的调试,后端采用Java语言进行开发,前端页面展示主要采用的是前端三剑客。用户主要是面向普通用户,为用户提供一个涵盖各方面的旅游自助 APP。项目目前完成了用户基本需求,兼容性良好,未发生错误。但与真正投入使用的平台相比,功能和实用性明显不足,后期还有很多改进和完善的地方。例如,现在很多人使用的抖音短视频。此平台的功能丰富和对数据库的设计以及数据的处理的更加合理高效。各种界面和人性化的设计也值得去认真学习和探索。某些功能还具有很多细节还需要完成:如个人中心模块,可以允许用户自定义个性中心;对发布内容做更多地拓展,可让用户发布更多种类的内容;增加管理员模块,管理员可以进行相关信息的发布,也可以完成对用户的管理和用户遇到的问题及时处理;大数据推荐功能的实现,可帮助用户更快、更高效的找到相关内容。 由于自己知识储备量的不足,这个项目仅仅完成了一些最基本的功能。与实际生活的运用还存在着一定的差距,没有考虑到更多的应用场景。在今后的学习中,需要不断加强学习基础知识并且更加注重实践,做到从时间来到实践中去,达到融会贯通。但随着互联网基础设施的不断完善,此项目还是有很大的前景的。