国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Android平臺的景區(qū)導覽軟件設計與實現(xiàn)

2014-04-29 00:44吳濤徐軼群
計算機時代 2014年12期
關鍵詞:平板電腦

吳濤 徐軼群

摘 ?;要: 為了提高旅游景區(qū)接待游客能力和服務水平,進而滿足現(xiàn)代旅游業(yè)的發(fā)展需求,設計并實現(xiàn)了一個基于Android平臺的景區(qū)導覽軟件。該導覽軟件有效整合了三維地圖、視頻展示、錄音講解、文字介紹等多種導覽方式。經(jīng)實際運行表明,該軟件運行情況良好,既能方便游客了解旅游景區(qū)相關知識,又能幫助旅游景區(qū)準確、高效、科學地宣傳景區(qū)相關情況。

關鍵詞: Android; 平板電腦; 景區(qū)導覽; 三維地圖; 虛擬漫游

中圖分類號:TP311 ?; ?; ?; ?; ?;文獻標志碼:A ?; ?; 文章編號:1006-8228(2014)12-35-03

Design and implementation of scenic tour software based on Android

Wu Tao, Xu Yiqun

(School of Marine Engineering, Jimei University, Xiamen, Fujian 362021, China)

Abstract: In order to improve the ability ofreceiving tourists and the service level, a scenic tour software based on Android is designed and implemented. The tour software integrated the three-dimensional maps, video display, audio explain, text description and other navigation methods effectively. The practical test showed that the tour software worked well. The software not only provides convenience for tourists to understand the knowledge of view spot in the scenic, but also helpsthe scenicto publicizeitself accurately, efficiently and scientifically.

Key words: Android; table computer; scenic tour; three-dimensional map; virtual ramble

0 引言

當代旅游業(yè)已經(jīng)成為世界上產(chǎn)業(yè)規(guī)模最大和發(fā)展最強勁的產(chǎn)業(yè)。導游員作為旅游業(yè)中的一個十分重要的元素,存在如下問題:導游員素質參差不齊、導游講解內容難以規(guī)范、導游講解工作繁重等。針對這一現(xiàn)狀,本文以廈門市某旅游景區(qū)為例,基于Android平臺設計并實現(xiàn)了導覽軟件,該軟件用三維立體地圖為游客提供景區(qū)導覽;用多媒體技術從視頻、聲音、圖片、文字等多方面對旅游景點進行講解[1]。該導覽軟件可以幫助導游員在景點講解方面提高服務質量,減輕導游員工作負擔,還能更加規(guī)范地宣傳旅游景區(qū),讓游客體驗高標準的旅游服務,可謂一舉多得。

隨著Android平板電腦出貨量的迅猛增長,平板電腦的價格不斷下降。目前市場上,500元以下、大觸摸屏、支持Android 4.0的平板電腦就多達100多種,這使得基于平板電腦開發(fā)導覽軟件具有實際可行性。

1 軟件設計

1.1 架構設計

該導覽軟件架構如圖1所示,分界面層、邏輯層、數(shù)據(jù)層三層設計。界面層主要由WebView、HTML、DIV、Openlayers組成,在HTML中用DIV設計軟件界面布局,Openlayers用于在網(wǎng)頁中展現(xiàn)景區(qū)地圖[2];設計好的界面通過Android WebView組件加載[3-6]。邏輯層主要由Android API、JavaScript、Java組成:Android API用于整個Android應用程序的編寫,JavaScript用于實現(xiàn)前臺網(wǎng)頁中的業(yè)務邏輯,Java用于在后臺實現(xiàn)可供前臺復用的業(yè)務邏輯[7]。數(shù)據(jù)層主要由SQLite數(shù)據(jù)庫和XML組成,SQLite數(shù)據(jù)庫用于存儲景區(qū)景點相關數(shù)據(jù)[8];XML用于存儲Android應用程序的相關配置數(shù)據(jù)[9]。

[HTML][DIV][Openlayers][Webview] [界面層] [Java][JavaScript][Android API][邏輯層] [XML][SQLite Database][數(shù)據(jù)層]

圖1 ?;導覽軟件架構設計圖

1.2 功能設計

如圖2所示,該導覽軟件能為游客提供景區(qū)導覽服務和景點講解服務。景區(qū)導覽服務可代替導游為游客帶路,與該服務對應的軟件界面是景區(qū)整體頁面;景點講解服務可代替導游為游客講解旅游景點,與該服務對應的軟件界面是景點講解頁面和補充知識講解頁面。打開軟件后,首先加載景區(qū)整體頁面,點擊景點進入相應的景點講解頁面,在景點講解頁面點擊補充知識標題進入補充知識講解頁面;補充知識講解頁面可返回到相應的景點講解頁面,景點講解頁面也可返回到相應的景區(qū)整體頁面。

圖2 ?;導覽軟件功能示意圖

1.3 數(shù)據(jù)庫設計

支撐該導覽軟件的數(shù)據(jù)庫由景點表和補充知識表兩張表格構成。如圖3所示,景點表由景點編號、景點標題、景點簡介、視頻鏈接、錄音鏈接等屬性組成,景點編號為主鍵;補充知識表由補充知識編號、補充知識標題、補充知識簡介、圖片鏈接、錄音鏈接、景點編號等屬性組成,補充知識編號為主鍵,景點編號為外鍵。本軟件運行在Android平板電腦,應當盡量減輕平板電腦的負擔,出于這方面的考慮,采用SQLite數(shù)據(jù)庫。SQLite的設計目標是嵌入式,而且目前已經(jīng)有很多嵌入式產(chǎn)品使用了它,它占用資源非常低,在嵌入式設備中,可能只需要幾百K內存。

圖3 ?;數(shù)據(jù)庫模型圖

2 軟件實現(xiàn)

2.1 景區(qū)導覽功能實現(xiàn)

景區(qū)整體頁面通過Openlayers加載景區(qū)地圖,展示景區(qū)內各景點分布情況,通過OpenLayers的Vector類在各景點上方添加一個半透明的控制層,確保游客能將嘉庚公園內的景點區(qū)域與非景點區(qū)域區(qū)別開來,點擊景點上方的控制層可打開相應的景點講解頁面[10]。具體實現(xiàn)代碼如下:

var map=new OpenLayers.Map('Map',{controls: []});

//新建Openlayers地圖

var graphic=new OpenLayers.Layer.Image('basic','Map/pic.png',);

//加載三維立體地圖

var styleMap=new OpenLayers.Style({ fillColor: 'yellow',

fillOpacity: 0.35})

var clickLayer=new OpenLayers.Layer.Vector('Feature', styleMap);

//創(chuàng)建控制層

clickControl=new OpenLayers.Control.SelectFeature

(clickLayer, { onUnselect: UnShow, onSelect: Show});

//添加控制事件

map.addControl(clickControl);

考慮到所選景區(qū)面積相對較小,各景點之間距離過近,采用GPS定位方式定位游客所在位置,不能滿足實際需求[11]。在景區(qū)整體頁面中,按照景區(qū)的真實布局和結構制作三維立體地圖,用于定位游客所在位置。景區(qū)三維立體地圖真實形象地展示旅游景區(qū)中各景點布局,能讓游客身臨其境地找到自己所在的位置[12-13]。三維地圖提供的地理信息能夠幫助游客依照自己所在位置安排景點游覽順序,游覽過程中在地圖上選擇相應的景點打開景點講解頁面完成導覽。景區(qū)整體頁面運行效果如4所示。

圖4 ?;景區(qū)整體頁面運行效果

2.2 景點講解功能實現(xiàn)

景點講解頁面從視頻、文字、錄音等三方面介紹景點。視頻方面,利用虛擬漫游技術將景點的三維實景制作成360度全景視頻向游客展示,再現(xiàn)景點給人的第一印象;游客可用手隨意在該視頻上,上下左右滑動觀看該景點的720度全景展示效果[14]。文字方面,用精煉的文字簡單概括景點,使得游客對景點有初步和整體的認識。錄音方面,通過播放講解錄音,為游客詳細講解景點;錄音講解過程中,游客可以觸摸按鈕暫停播放講解錄音和繼續(xù)播放講解錄音[15-16]。聽完/看完所有景點介紹后,觸摸返回按鈕回到景區(qū)整體頁面,選擇下一個景點進行導覽。景點講解頁面實際運行效果如圖5所示。

圖5 ?;景點講解頁面運行效果

每個景點不僅包含其本身的講解內容,還包括與景點相關的補充知識。補充知識講解頁面通過加載圖片、錄音、文字等介紹補充知識,該頁面功能與景點講解頁面功能大同小異,在此不再贅述。

2.3 動態(tài)加載景點講解頁面功能實現(xiàn)

所選景區(qū)需要講解的景點一共有13個,為了減少軟件內容冗余,保證導覽軟件在平板電腦上的運行速度。應當實現(xiàn)動態(tài)加載景點講解頁面的功能。也就是說,景點講解頁面只有一個;但景點不同,景點講解頁面所加載的內容也會不同。

在景區(qū)整體頁面給每個景點編號,SQLite數(shù)據(jù)庫儲存每個景點編號對應的景點名稱、景點簡介、講解錄音路徑、展示視頻路徑。景點被選中后,打開景點講解頁面并根據(jù)景點編號查詢數(shù)據(jù)庫。通過查詢數(shù)據(jù)庫獲得每個景點編號對應的景點名稱、景點簡介、講解錄音路徑、展示視頻路徑等資源。景點講解頁面布局已經(jīng)固定,只需將獲得的資源加載到指定位置并根據(jù)錄音路徑播放講解錄音,從而實現(xiàn)景點講解頁面的動態(tài)加載。景點講解頁面加載相關資源代碼如下:

document.getElementById("text").value=wt.getTourname();

//設置介紹文本的標題

document.getElementById("detil").value=wt.getTourdetails();

//設置介紹文本的內容

musicplayer.playMusic(wt. getTouraudioSrc());

//播放景點講解錄音

var videoId=wt.getTourflashSrc(); //獲得景點視頻路徑

2.4 輪播景點補充知識功能實現(xiàn)

景點講解頁面實現(xiàn)動態(tài)加載,在景點講解頁面指定一個區(qū)域專門用于顯示補充知識標題。不同的景點所包含景點補充知識情況各不相同,有些景點不包含補充知識,有些景點則包含多個補充知識。SQLite數(shù)據(jù)庫儲存每個景點編號對應的補充知識編號、補充知識標題、補充知識簡介、補充知識圖片、講解錄音路徑。在不包含補充知識的景點講解頁面中,不顯示補充知識標題;在包含多個補充知識的景點講解頁面中,動態(tài)加載并輪流顯示補充知識標題。

選中景點進入景點講解頁面后,根據(jù)景點編號查詢數(shù)據(jù)庫。通過查詢數(shù)據(jù)庫獲得每個景點所包含的補充知識標題;如果該景點不包含補充知識,則在指定區(qū)域不顯示任何文字;如果該景點僅包含一個補充知識,則在指定區(qū)域顯示該補充知識的標題;如果該景點包含多個補充知識,則在指定區(qū)域每3秒顯示一個補充知識標題。景點講解頁面輪播多個補充知識標題代碼如下:

window.wt2.getRecord(parseInt(markerId)); //獲得補充知識標題

function changeTitle() {

document.getElementById("title").value=wt2.getName();

//顯示補充知識標題

}

window.setInterval(changeTitle,3000);

//設置每3秒顯示一個補充知識標題

2.5 語音播放及暫停實現(xiàn)

語音講解是導覽軟件的重要功能之一,由于WebView對JavaScript的支持非常有限,要在WebView中實現(xiàn)錄音播放,需要在后臺Java代碼中實現(xiàn)語音播放器的相關功能,并實例化一個語音播放器對象,通過addJavascriptInterface方法供前臺JavaScript代碼調用。并且,要保證本導覽軟件中語音播放器對象的惟一性,使得不論在前臺JavaScript代碼還是后臺Java代碼中調用的語音播放器對象有且只有一個,以免多個語音講解同時混合播放的情況出現(xiàn)[17]。Java代碼中語音播放器類的主要實現(xiàn)代碼如下所示:

public class MyApplication extends Application {

//Android工程中的全局類

private PlayMusicInterface mp;

public void onCreate() {

super.onCreate();

mp=new PlayMusicInterface();

}

public void playMusic(String url) {

mp.playMusic(url);

}

public void stopMusic() {

mp.stopMusic();

}

public void pauseMusic() {

mp.pauseMusic();

}

}

3 結束語

本文結合廈門市某旅游景區(qū)的具體情況,介紹了基于Android平臺的景區(qū)導覽軟件設計和實現(xiàn)過程。該導覽軟件在所選平板電腦上運行流暢,各個功能都能實現(xiàn)。該導覽軟件的應用減輕了導游員工作負擔,提高了旅游景區(qū)景點講解質量,更加規(guī)范地宣傳了旅游景區(qū),讓游客體驗了高標準的旅游服務??偨Y軟件開發(fā)整個過程,本軟件仍有不足之處:受平板電腦性能影響,在較低性能的平板電腦上運行本導覽軟件,存在反應遲緩、卡頓現(xiàn)象。因此后期仍需對本導覽軟件進行優(yōu)化,使得本導覽軟件能更少地依賴硬件資源,提高用戶體驗。

參考文獻:

[1] 沈文瑞,曾連蓀,楊臻.基于Android平臺的校園導覽軟件設計[J].電

子設計工程,2012.20(9):26-28

[2] 陳德鑫.基于OpenLayers客戶端的網(wǎng)絡地圖實現(xiàn)技術框架[J].現(xiàn)代

測繪,2010.33(3):48-49

[3] 汪永松.Android平臺開發(fā)之旅[M].機械工業(yè)出版社,2012.

[4] 張利國,代聞,龔海平.Android移動開發(fā)案例詳解[M].人民郵電出版

社,2010.

[5] 張波.基于對象視圖模型WebView的Web應用框架[J].軟件學報,

2002.13(10):1987-1988

[6] 李增輝.Android瀏覽器應用開發(fā)平臺的研究[D].北京郵電大學,

2011.

[7] 明日科技.Java從入門到精通[M].清華大學出版社,2012.

[8] 彭艷.基于嵌入式數(shù)據(jù)庫SQLite的智能導游系統(tǒng)[J].計算機系統(tǒng)應

用,2011.20(4):254-256

[9] 白文江.基于Android平臺的移動應用開發(fā)研究[J].太原大學學報,

2011.12(3):117-120

[10] 耿勝恩.面向移動設備的園林導游平臺的設計與實現(xiàn)[D].蘇州大學,

2010.

[11] 施竟成,方志剛,湯益軍.便攜式智能導游系統(tǒng)的設計與實現(xiàn)[J].計算

機工程,2010.36(3):269-271

[12] 張永梅,陳立潮等.三維數(shù)字地圖的研究與設計[J].華北工學院學報,

2002.23(2):95-99

[13] 吳肖,彭璇,朱明磊.基于Google Map API的校園電子地圖開發(fā)[J].

測繪工程,2010.19(3):35-36

[14] 周演,陳天滋.三維虛擬漫游技術的研究[J].計算機工程與設計,

2009.30(5):1208-1210

[15] 張仕成.基于Google Android平臺的應用程序開發(fā)與研究[J].電腦

知識與技術,2009.5(10):7959-7962

[16] 葉達峰.Eclipse編程技術與實例[M].人民郵電出版社,2006.

[17] 周巍,何濤,林嘉宇.Android系統(tǒng)智能手機語音應用開發(fā)環(huán)境構架[J].

微處理機,2011.32(6):28-32

猜你喜歡
平板電腦
starC教學平臺在初中英語教學中的創(chuàng)新實踐
基于平板電腦的智慧移動學習課堂構建研究
平板電腦輔助英語教學研究
基于新技術環(huán)境下的自主學習
平板電腦在幼兒數(shù)學教育中的應用分析
利用平板電腦進行 “班改” 的探索與實踐