时间轴在旅行记录中的应用研究
2017-09-15王娅
王 娅
(厦门软件职业技术学院 软件工程系,福建 厦门 361000)
时间轴在旅行记录中的应用研究
王 娅
(厦门软件职业技术学院 软件工程系,福建 厦门 361000)
时间轴是常见的显示数据的形式,时间轴不仅帮助用户梳理信息,更是用户交互的基础规则。“活力海沧”是一款运行在ISO系统上的、旅行类的应用软件。在显示旅行记录的时候,使用的就是时间轴。文章先简要介绍了软件的功能,然后对于时间轴的设计,以及时间轴数据的显示进行了探讨。
旅游;时间轴;ISO
0 引言
中国的旅游业是朝阳产业、绿色产业,是国民经济提高的催化剂。通过对旅游业现状进行分析,发现它是综合了很多种服务性质的行业,包括游览、交通、住宿、娱乐、社交、餐饮、购物等多个方面,其中的游览、交通、社交等很多因素都可以与互联网非常好的融合起来。社交加本地加移动,它将代表着未来互联网发展的趋势。另外,智能手机的普及以及快速发展的移动互联网,使得基于位置的服务深入公众日常生活,尤其是在旅游方面。借助于LBS服务,可以分享位置,提供更为针对性的服务。它实现了旅游的智能化[1]。
1 软件的模块
“活力海沧”是一款运行在ISO系统上的、基于LBS的、轻量级的旅行类的应用软件。它以厦门海沧为试点,提供细致、全面的生活服务,并具有一定的社交功能。本款软件有3个模块。
1.1 首页模块
首页模块提供了有关于海沧的民俗、美食、美景、交通、生活等信息,并可以实现紧急突发事件的信息的推送,比如台风预警、交通管制、停水停电等。
1.2 导游模块
导游模块显示了周边的酒店、景点、超市、购物中心等信息,这些信息也可以显示在地图上。用户可以通过搜索快速、准确的获取兴趣点,还可以对景点、酒店等进行评价,汇总后的数据可以为生成推荐指数。
1.3 旅行记录模块
旅行记录模块用于记录和显示用户的旅行。
2 软件的功能
2.1 记录信息
记录用户的旅行信息,包括图片、旅游心得、当前位置,并可以通过微博分享给好友,界面如图1所示。
2.2 用户提交的历史数据的显示功能
本文主要阐述使用时间轴显示的数据方式。在社交性质的应用中,时间轴是常用的一种表现形式。时间轴不仅能够帮助用户梳理信息,更是用户交互的基础规则。像Facebook和人人网这样的SNS社区以时间轴的来呈现生活,微博和Twitter用时间轴来排列信息[2]。时间轴上每一个点代表一个重要的历史事件。时间轴上的每个数据都有特定的含义。
在使用时间轴显示数据的过程中使用到了下面几个控件。
TableView:是APP开发中常用到的控件,用来显示信息。整个时间轴就是一个TableView
TableViewCell:是TableView的一行,时间轴上的每个节点就是一个TableViewCell,对应着每一次的旅行记录。
UIView:是一个矩形区域,负责渲染区域的内容,并且响应该区域内发生的触摸事件。
UIImageView:是UIView的子类,用来放置图片的。用来显示每一次旅行记录的中用
户图片。
UILabel :是UIView的子类,用户提交的时间、用户的心得都是使用的该控件。
一个TableViewCell的设计显示如图2所示。
图1 记录界面
图2 TableViewCell的设计显示
在用户旅行记录页面,用户可以即时拍、也可以使用相机中的已有图片,书写自己的旅行心得。这些数据会存储在SQLite数据库中。
SQLite 是在世界上部署最广泛的数据库,也是ISO上最常用的数据库之一,其具备以下特点[3]:是进程内的一个软件库,不需要单独配置;不需要独立的服务器和操作的系统;非常小、轻量级;不需要任何的外部依赖,自给自足;提供的API简单易用;支持大多数查询语言;可以在UNIX(Linux,Mac OS-X,Android,ISO)和 Windows(Win32,WinCE,WinRT)中运行。
为了使用时间轴将数据库中的数据完整的显示出来,需要将之前的显示数据移除,然后再从数据库中读出最新的数据,重新加载,一个TableViewCell对应着数据库中的一条记录。核心代码如图3所示。
图3 TableViewCell对应数据库中的核心代码
然而在使用TableView显示数据的时候,出现了视图叠加的问题,这是因为TableView提供了单元格重用机制来达到节约内存的目的,然而当TableViewCell中存在子视图,在页面拖拽的过程中,会出现视图叠加的问题[4]。本文按照文献[4]中提供的方法进行解决,完美地呈现了时间轴的显示。
[1]陈兴,史先琳.基于LBS的旅游位置服务思考[J].旅游发展与研究,2013(4):214-215.
[2]CocoaChina.设计时间轴我学会的四件事[EB/OL].(2014-08-15)[2017-08-25].http://www.cocoachina.com/programmer/20140815/9391. html.
[3]BUNOOB.SQLite简介[EB/OL].(2016-11-20)[2017-08-25].http://www.runoob.com/sqlite/sqlite-intro.html.
[4]王娅.TableView重用机制及常见问题[J].无线互联科技,2015(1):39-40.
Study on the application of time axis in travel records
Wang Ya
(Software Engineering Department of Xiamen Software Vocational and Technical College, Xiamen 361000, China)
Time axis is a common form of data display, it not only helps users to sort information, but also the basic rule of user interaction. The “Active Haicang is an application software about travels that runs on ISO system. When the travel record is displayed, the time axis is used. In this paper, the function of software is introduced brie fl y, and then the design and the data display of time axis are discussed.
travel; time axis; ISO
福建省教育厅中青年项目资助;项目编号:JA15886。
王娅(1983— ),女,山东菏泽人,硕士,讲师;研究方向:计算机应用技术。