王 婭
(廈門軟件職業(yè)技術學院 軟件工程系,福建 廈門 361000)
時間軸在旅行記錄中的應用研究
王 婭
(廈門軟件職業(yè)技術學院 軟件工程系,福建 廈門 361000)
時間軸是常見的顯示數(shù)據(jù)的形式,時間軸不僅幫助用戶梳理信息,更是用戶交互的基礎規(guī)則?!盎盍妗笔且豢钸\行在ISO系統(tǒng)上的、旅行類的應用軟件。在顯示旅行記錄的時候,使用的就是時間軸。文章先簡要介紹了軟件的功能,然后對于時間軸的設計,以及時間軸數(shù)據(jù)的顯示進行了探討。
旅游;時間軸;ISO
中國的旅游業(yè)是朝陽產(chǎn)業(yè)、綠色產(chǎn)業(yè),是國民經(jīng)濟提高的催化劑。通過對旅游業(yè)現(xiàn)狀進行分析,發(fā)現(xiàn)它是綜合了很多種服務性質的行業(yè),包括游覽、交通、住宿、娛樂、社交、餐飲、購物等多個方面,其中的游覽、交通、社交等很多因素都可以與互聯(lián)網(wǎng)非常好的融合起來。社交加本地加移動,它將代表著未來互聯(lián)網(wǎng)發(fā)展的趨勢。另外,智能手機的普及以及快速發(fā)展的移動互聯(lián)網(wǎng),使得基于位置的服務深入公眾日常生活,尤其是在旅游方面。借助于LBS服務,可以分享位置,提供更為針對性的服務。它實現(xiàn)了旅游的智能化[1]。
“活力海滄”是一款運行在ISO系統(tǒng)上的、基于LBS的、輕量級的旅行類的應用軟件。它以廈門海滄為試點,提供細致、全面的生活服務,并具有一定的社交功能。本款軟件有3個模塊。
1.1 首頁模塊
首頁模塊提供了有關于海滄的民俗、美食、美景、交通、生活等信息,并可以實現(xiàn)緊急突發(fā)事件的信息的推送,比如臺風預警、交通管制、停水停電等。
1.2 導游模塊
導游模塊顯示了周邊的酒店、景點、超市、購物中心等信息,這些信息也可以顯示在地圖上。用戶可以通過搜索快速、準確的獲取興趣點,還可以對景點、酒店等進行評價,匯總后的數(shù)據(jù)可以為生成推薦指數(shù)。
1.3 旅行記錄模塊
旅行記錄模塊用于記錄和顯示用戶的旅行。
2.1 記錄信息
記錄用戶的旅行信息,包括圖片、旅游心得、當前位置,并可以通過微博分享給好友,界面如圖1所示。
2.2 用戶提交的歷史數(shù)據(jù)的顯示功能
本文主要闡述使用時間軸顯示的數(shù)據(jù)方式。在社交性質的應用中,時間軸是常用的一種表現(xiàn)形式。時間軸不僅能夠幫助用戶梳理信息,更是用戶交互的基礎規(guī)則。像Facebook和人人網(wǎng)這樣的SNS社區(qū)以時間軸的來呈現(xiàn)生活,微博和Twitter用時間軸來排列信息[2]。時間軸上每一個點代表一個重要的歷史事件。時間軸上的每個數(shù)據(jù)都有特定的含義。
在使用時間軸顯示數(shù)據(jù)的過程中使用到了下面幾個控件。
TableView:是APP開發(fā)中常用到的控件,用來顯示信息。整個時間軸就是一個TableView
TableViewCell:是TableView的一行,時間軸上的每個節(jié)點就是一個TableViewCell,對應著每一次的旅行記錄。
UIView:是一個矩形區(qū)域,負責渲染區(qū)域的內(nèi)容,并且響應該區(qū)域內(nèi)發(fā)生的觸摸事件。
UIImageView:是UIView的子類,用來放置圖片的。用來顯示每一次旅行記錄的中用
戶圖片。
UILabel :是UIView的子類,用戶提交的時間、用戶的心得都是使用的該控件。
一個TableViewCell的設計顯示如圖2所示。
圖1 記錄界面
圖2 TableViewCell的設計顯示
在用戶旅行記錄頁面,用戶可以即時拍、也可以使用相機中的已有圖片,書寫自己的旅行心得。這些數(shù)據(jù)會存儲在SQLite數(shù)據(jù)庫中。
SQLite 是在世界上部署最廣泛的數(shù)據(jù)庫,也是ISO上最常用的數(shù)據(jù)庫之一,其具備以下特點[3]:是進程內(nèi)的一個軟件庫,不需要單獨配置;不需要獨立的服務器和操作的系統(tǒng);非常小、輕量級;不需要任何的外部依賴,自給自足;提供的API簡單易用;支持大多數(shù)查詢語言;可以在UNIX(Linux,Mac OS-X,Android,ISO)和 Windows(Win32,WinCE,WinRT)中運行。
為了使用時間軸將數(shù)據(jù)庫中的數(shù)據(jù)完整的顯示出來,需要將之前的顯示數(shù)據(jù)移除,然后再從數(shù)據(jù)庫中讀出最新的數(shù)據(jù),重新加載,一個TableViewCell對應著數(shù)據(jù)庫中的一條記錄。核心代碼如圖3所示。
圖3 TableViewCell對應數(shù)據(jù)庫中的核心代碼
然而在使用TableView顯示數(shù)據(jù)的時候,出現(xiàn)了視圖疊加的問題,這是因為TableView提供了單元格重用機制來達到節(jié)約內(nèi)存的目的,然而當TableViewCell中存在子視圖,在頁面拖拽的過程中,會出現(xiàn)視圖疊加的問題[4]。本文按照文獻[4]中提供的方法進行解決,完美地呈現(xiàn)了時間軸的顯示。
[1]陳興,史先琳.基于LBS的旅游位置服務思考[J].旅游發(fā)展與研究,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].無線互聯(lián)科技,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— ),女,山東菏澤人,碩士,講師;研究方向:計算機應用技術。