APP下载

基于Android的智慧旅游APP

2017-11-14韩黎晶李志平

电脑知识与技术 2017年29期
关键词:移动设备智慧旅游

韩黎晶+李志平

摘要:该文结合当下热门话题“智慧旅游”,分析其应用价值,介绍了一个基于Android平台针对云南旅游的旅游类APP的设计与实现。使用Java语言及ADT Bundle、MyEclipse、MySQL等开发工具,实现了用户观赏了解云南景点的详细信息、创建并管理自己的行程备忘录事件、浏览云南著名美食并为其评分、登录/注册、预定购票、后台信息管理等功能,从而使人们告别传统旅行模式,享受智能化、信息化和更加方便快捷的旅游体验。

关键词:Android;Java;APP;智慧旅游;移动设备

中图分类号:TP311.52 文献标识码:A 文章编号:1009-3044(2017)29-0042-04

Abstract: By combining with the current hot topic “Smart Tourism” and analyzing its application value, this paper introduced a tourism applications designation and development which is Based on the Android platform. Using Java language and Eclipse, MyEclipse, MySQL as development tools, my APP eventually achieved lots of functions like users can watch to know detailed information about scenic spots in Yunnan, create and manage your own trip memo event, browse famous Yunnan foods and rate them, login and register, book ticket and users information management in the background. All of those functions would help people to farewell to the conventional travel model and enjoy an intelligent, informational, and more quickly and easily tourism experience.

Key words: Android; Java; APP; Smart Tourism; mobile device

1 概述

1.1 研究背景及意义

随着我国经济的飞速发展和物质生活水平的不断提高,人们在学习工作之余也在追求高层次的精神生活,越来越多的人选择旅游来放松心情。由此,“智慧旅游”[1]这一概念在当今信息化的大背景下應运而生。它是互联网和旅游产业相结合的产物,通过互联网和信息系统的参与,使游客能借助便携的终端上网设备自主获取旅游相关信息,及时安排和调整旅行计划,达到旅游信息智能获取、方便实现旅游计划的目的。

旅行行为本身具有流动性,得益于智能手机等移动设备的普及和APP的快速发展,顺应“智慧旅游”的大时代背景,旅游类APP因其特有的便捷性改变了人们的旅行方式 [2],使人们的自主性旅游变得更轻松、便捷。在国外,Vayama.com[3]开发的城市指南应用“PocketGuide”的服务在五大洲的60个城市中得以应用,拥有多达100万人的用户群;“Computer Electronics Canadas”[4]因坐拥成千上万关注者而被评为加拿大最受欢迎的智能旅游手机应用程序,它为旅游者提供吃、住、行、游、购、娱等必须的旅游服务。而国内的途牛、同程旅游等也成为了用户旅游出行的装机必备应用。

1.2 开发平台和工具概述

Android[5]是一个十分安全可靠的嵌入式操作系统,本文选用它作为开发平台。同时,选用JDK(Java软件开发工具包)、谷歌公司提供的集成式IDE[6]—ADT Bundle作为开发环境,因为它里面集成了Eclipse和各种插件,使用方便;还使用了MyEclipse 10来编写后台代码、Tomcat作为服务器、MySQL提供数据库支持。

2 需求分析

旅游类APP的需求主要分为两类:内容需求和体验需求。内容需求主要是表现在界面设计和显示效果上,体验需求则是针对客户端的交互设计,经分析,旅游类APP所需的功能应包括:

1) 开启画面。软件启动画面是用户对软件的第一印象;

2) 不同类型的模块。每个模块内容需有不同的表现形式来使软件丰富有趣,还应保证软件的易用性,便于用户操作;

3) 权限划分。用户权限不同,能体验的功能也不一样;

4) 良好的用户交互体验。将该软件的“智慧性”运用到实际操作中;

5) 后台管理。对传到服务器的用户数据进行管理操作。

3 总体设计

3.1 总体功能设计

该APP分为三个模块,系统流程图如图1所示。

3.2 数据库设计

3.2.1 数据库模型设计

APP使用数据库进行登录、注册、购票等操作的数据信息管理,故数据库应包含用户信息实体以及购票信息实体,它们的关系如图2所示。

3.2.2 数据表设计

1) usermsg(用户信息表)

用户信息表用来存储和管理用户的登录注册信息,如表1所示。

2) ticket(购票信息表)

购票信息表用来存储管理不同登录用户的不同购票信息,如表2所示。endprint

4 各模块实现功能的技术分析及功能测试

4.1 开启画面

开启画面是必备要素,用于给APP使用者良好的第一映象。启动时的开启动画,延时2s后跳转到APP的主体框架。如图3所示。技术分析如下:

1) 在Manifast.xml中声明该Java文件是APP首先运行的;

2) 使用Handler机制实现开启画面的延时跳转,使用intent跳转到APP的主框架的Activity。

4.2 主框架

此APP分为三个模块:发现、美食、娱乐。点击不同模块按钮切换不同界面,选中的按钮有颜色,没选中的为灰色。

技术分析:使用Fragment搭建整体框架,模块按钮使用ImageButton控件,用线性布局将三个模块按钮置于Fragment的低端,上方采用FrameLayout作为容器,盛放模块的内容。

4.3 “发现”模块

该模块对云南的著名景点进行推荐,用户可直观地欣赏到各景点的美景,点击查看景点的详细文字及图片信息。模块界面如上图3的右图所示。

1) 功能实现

①最上方实现了图片轮询效果,三张景点图片支持自动或手动的无限循环轮播,使页面具有动画效果,如图4所示。每张图片点进去是对应景点的详细介绍信息,通过进度条可看到信息加载程度。

②在“行程备忘录”中用户可制定自己的行程计划并对其进行管理,这是旅行类APP需要的“小工具类”。备忘录界面如图5所示。用户可自己增加行程、修改行程、删除行程,以“删除”为例,详细功能实现及测试如图6所示。

③下方的景点图片上实现了播放器功能,用户可在线观看该景点的宣传片,并可暂停、快进、快退来调节播放进度。功能测试如图7所示。

2) 技术分析

①使用ViewPager实现图片轮询效果, 它需继承Javav4包,用适配器Adapter盛装图片;用Handler实现图片延时跳转;链接加载进度条由ProgressBar控件实现,由WebView控件显示链接的内容;

②行程备忘录使用Eclipse中的本地数据库实现对行程事件的增删改查操作;备忘录上方的四个事件按钮使用了TabHost来实现点击切换功能;

③播放器使用了VideoView组件,编写代码实现播放宣传片时设备自动横屏以便观看。

4.4 “美食”模块

美食是吸引人们到一个地方旅游的重要因素之一,该模块精选了云南最具特色的美食,用精美的图片让用户领略云南美食的特色与文化。页面如图8所示。用户可滑动画廊浏览美食图片,增加了APP的趣味性、动态性以及与用户的互动效果;中间是美食图片及简介,点击可查看对应美食的详细介绍,如图9所示。最下方对云南美食进行评分并反馈评分结果,测试效果如图10所示。

技术分析如下:

1) 使用Gallery控件實现画廊效果;

2) 中间可点击的图片使用ListView,它包含多个item,每个item对应一个信息栏,装在Adapter中;使用RatingBar实现评分功能,Activity需继承OnRatingBarChangeListener接口,评分及反馈功能具体实现在下文测试部分详述。

4.5 “娱乐”模块

预定型功能是智慧旅游类APP的重要功能之一,有预定功能的APP能使人们根据自身的需求随时进行提前的预订或购买,更符合人们当即决策的思路。此模块实现娱乐类别下的电影订票功能。界面如图11所示。

1) 点击某一电影栏查看其详细信息,点选座购票进行购票,左上的返回按钮可回到上一级,如图12所示。

2) 点击“选座购票”按钮后,若用户没有登录则会跳到登录注册界面。注册、登录的流程图如图13、14所示;点击“注册”按钮进行注册,信息填写不完整或输入的账号已存在都会跳出错误提示,若信息填写无误则完成注册,功能测试如图15所示;用户填写自己的信息登录成功即可进入购票,若信息填写不完整、错误或账号不存在的话会有错误提示,功能测试如图16所示。

③选座购票:点击“选座购票”进入购票界面,首先选择要看的场次,再在该场次中选择座位,每个用户最多选4个座位,已被预订的座位不可选,在已选的座位上再点击一次即删除当前选择,已选的座位信息会在下方实时显示,按“确定选票”,再点击“我的选票”即可查看选票信息,购票成功,用户可退出登录。图17是电影场次选择页面,图18是选座购票页面。详细的购票流程的功能测试部分如图19所示。

4.6 后台管理模块

功能实现:用户在娱乐模块登录注册、购票的信息都会传到服务器上让后台管理员对其进行管理。管理员登录功能测试如图20所示;用户的信息管理功能(修改、删除用户信息)的测试结果如图21所示;后台数据分页功能如图22所示。

技术分析如下:

1) MyEclipse 10为编写后台代码的平台,使用开源框架Struts[7],它基于Web的MVC模型,极大地简化了Web应用程序的开发,使用Json[8]提供服务器和Android APP之间的数据接口,实现Web服务器端和安卓移动终端、MySQL之间的数据传递。

2) 管理员登录页面使用了Javaweb网页技术,用html(http协议超文本标记语言)、css(样式表)、JavaScript脚本语言设计网页布局;使用jsp技术起到在html中嵌入Java代码的作用;使用Structs2框架来制作action接口和返回参数,或者返回页面,一个action对应一个动作jquery,其作用是实现页面上的一些动态效果(如页面上的滑动解锁效果)。jdbc是一种用于执行SQL语句的Java API,使用jdbc驱动程序来建立服务器与数据库的连接。endprint

猜你喜欢

移动设备智慧旅游
移动端界面设计中“容错性”思考
京津冀休闲产业协同发展研究(一)