郭華龍,林昌旻
(龍巖學院 數(shù)學與計算機科學學院,福建 龍巖 364012)
基于Android平臺的旅游信息發(fā)布系統(tǒng)的開發(fā)與研究
郭華龍,林昌旻
(龍巖學院 數(shù)學與計算機科學學院,福建 龍巖 364012)
旅游景區(qū)利用景點信息發(fā)布系統(tǒng)有利于提高服務質(zhì)量、加大宣傳力度、提升核心競爭力.游客在其智能手機上安裝客戶端系統(tǒng)便可獲得服務信息.考慮到信息發(fā)布的實時化,同步化,以及便捷化,采用Android智能手機平臺實現(xiàn)主動接收景區(qū)信息發(fā)布.這種以Android平臺為基礎進行信息發(fā)布系統(tǒng),將在智能手機為終端的商業(yè)運用中有很大的發(fā)展空間.
旅游信息發(fā)布系統(tǒng);Android平臺;SSH;移動網(wǎng)絡終端
龍巖市是福建省新興的旅游區(qū),旅游資源不僅種類多,而且品位高、規(guī)模大、保存好.形成以永定土樓為代表的“客家風情”旅游區(qū)、古田會議會址為核心的“紅色文化”旅游區(qū)和冠豸山、梅花山為龍頭的“生態(tài)休閑”旅游區(qū),建成“紅色之旅”、“客家之旅”、“綠色之旅”三大旅游精品線路,成為福建省著名的西部風情旅游區(qū)[1].
基于Android平臺旅游信息發(fā)布系統(tǒng)將開發(fā)先進的旅游信息交互平臺,利用微博實現(xiàn)游客與旅游管理部門,游客與游客的交流,并實現(xiàn)游客能夠在智能手機上及時獲得景點信息,克服了以往信息發(fā)布系統(tǒng)接收端只能被動接收的弱點,其次,根據(jù)游客使用智能手機的習慣,盡可能的利用一些圖片、音頻、視頻等活潑多樣的多媒體手段豐富接收端的信息形式,而這些形式通過網(wǎng)絡平臺傳輸?shù)接慰椭悄苁謾C終端,因此該平臺將重點以實用性和易用性為設計重點,尤其在國家每年的黃金周期間實現(xiàn)游客實時獲得景點信息查詢和互動功能,推動旅游信息服務的特色和創(chuàng)新建設,實現(xiàn)智能信息化.
Android平臺整體自底向上由以下四個層次組成:Linux內(nèi)核層、Android運行時庫和其他庫層、應用框架層、應用程序層[2].
圖1 Android結構圖
從宏觀上說,Android的第一層次由C語言實現(xiàn),第二層次由C和C++實現(xiàn),第三、四層次主要由Java代碼實現(xiàn).Android幾個層次之間的主要關系如下[3]:
Linux內(nèi)核層和Android運行時庫之間,從Linux操作系統(tǒng)的角度看,是內(nèi)核空間與用戶空間的分界線,Linux內(nèi)核層運行于內(nèi)核空間,其它三層運行于用戶空間;Android運行時庫與應用框架層之間,是本地代碼層和Java代碼層的接口;應用框架層和應用程序層之間是兩層Java程序的接口.
該平臺客戶端通過訪問后臺數(shù)據(jù)庫實現(xiàn)對數(shù)據(jù)的訪問,一般情況下,客戶端應用程序將依托Internet網(wǎng)獲得旅游信息,即訪問旅游信息發(fā)布服務器.
系統(tǒng)物理結構如圖2所示:
圖2 系統(tǒng)物理結構圖
系統(tǒng)使用C/S模式,并將客戶端程序發(fā)布在一些Android市場,以便游客下載安裝使用.另外C/S界面和操作可以很豐富,有利于降低應用信息發(fā)布服務器運行負荷,客戶端智能手機的資源占有率降低,運行速度將提升,以此同時安全性能可以很容易保證.
由于Android應用層是利用Java語言開發(fā)運用程序,因此該平臺客戶端軟件也將以Java語言進行開發(fā),具有平臺移植性好等優(yōu)點,界面層、中間層、底層采用業(yè)界通行的成熟的SSH結構進行開發(fā),即Struts2框架開發(fā)界面層,中間層用Spring框架來響應客戶請求,Hibernate框架實現(xiàn)底層的數(shù)據(jù)庫訪問.
考慮到龍巖市有豐富的旅游資源,將產(chǎn)生海量的各類旅游信息,因此采用Oracle數(shù)據(jù)庫作為底層的數(shù)據(jù)庫;利用WebLogic服務器作為中間層Web服務器的引擎.
平臺功能如下圖所示:
圖3 系統(tǒng)功能結構圖
2.1 數(shù)據(jù)庫設計
由于該平臺系統(tǒng)的信息發(fā)布是針對游客的特定群體,因此提高系統(tǒng)信息的發(fā)布的針對性和提高發(fā)布效率顯得十分重要,通過在Oracle數(shù)據(jù)庫中要建立清晰的數(shù)據(jù)模型,進行數(shù)據(jù)表的詳細分層來實現(xiàn)以上目的.
2.2 服務器設計
服務器設計采用SSH框架,并采用三層結構處理.如圖4.
該信息發(fā)布平臺中擁有大量的公共模塊,為提高代碼的復用和規(guī)范代碼的結構,將利用Hibernate編寫持久化類和映射文件.
Hibernate是將Java中的對象與對象關系映射到關系型數(shù)據(jù)庫中的表格和表格之間的關系,即對象/關系映射(Object/Relational Mapping)的解決方案,簡寫ORM,持久化類映射文件負責建立持久化類與對應數(shù)據(jù)表之間的映射關系[4].
圖4 SSH框架圖
在該系統(tǒng)中,以景點信息中心模塊為例,編寫Hibernate持久化類SpotsRecord(景點信息管理)對應的映射文件SpotsRecord.hbm.xml.
例如景點信息管理中有兩個重要屬性,景點編號number和景點名spotsname,其中number為主鍵,spots_record是景點關系信息表.
代碼中的元素配置含義如下表所示
表1 元素配置含義表
主要代碼如下:
網(wǎng)絡傳輸采用Http協(xié)議進行網(wǎng)絡通信,數(shù)據(jù)采用XML格式.
首先創(chuàng)建spots.xm l這樣可以用類加載器來獲取輸入流,使用工具類StreamTool中的方法read-Stream()讀取輸入流;然后打開連接,設置瀏覽器反應最長時間,用方法post或者Get設置傳遞內(nèi)容,獲得一個輸出流對象,將數(shù)據(jù)提交給服務器端;最后利用工具類讀取輸入流,將輸入流轉換為字節(jié)數(shù)組.
通過Http協(xié)議發(fā)送XML數(shù)據(jù)的關鍵代碼:
為了使旅游信息系統(tǒng)能夠在不同平臺、不同語言之間進行兼容,利用XML封裝傳輸過程,使得客戶端和服務器端以不同的形式映射數(shù)據(jù).
2.3 客戶端設計
在客戶端設計,以最簡單的點擊方式獲得全部信息,在減少了客戶端顯示空間的同時增加了信息的發(fā)布量.
旅游信息發(fā)布系統(tǒng)是以智能手機為終端的信息接收方式.這種方式很好的滿足了游客對旅游信息發(fā)布實時性和方便性的要求.因為Android底層是依托Linux內(nèi)核技術進行開發(fā)的,而Linux的開源性使得旅游信息發(fā)布系統(tǒng)能夠更好的得以實現(xiàn),具有創(chuàng)新性.因此這種以Android平臺為基礎進行信息發(fā)布系統(tǒng)的開發(fā),將在智能手機為終端的商業(yè)運用中有很大的發(fā)展空間.
〔1〕http://www.longyan.gov.cn/lypd/lygk/
〔2〕張仕成.基于Google Android平臺的應用程序開發(fā)與研究 [J].電腦知識與技術,2009,28(5):7959-7962.
〔3〕韓超,等.Android核心原理與系統(tǒng)級應用高效開發(fā)[M].北京:電子工業(yè)出版社,2012.7-8.
〔4〕李衛(wèi)華,顏建軍.基于MVC模式的人事管理系統(tǒng)的設計與實現(xiàn)[J].三明學院學報,2009,26(4):418.
TN966
A
1673-260X(2014)01-0031-03
2012年福建省大學生創(chuàng)新創(chuàng)業(yè)訓練計劃項目(673)