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