?

基于Android平臺的五大道語音導游APP

2018-10-21 10:49董昊崔懷天馮曉琳
科技信息·中旬刊 2018年9期
關鍵詞:Java語言旅游

董昊 崔懷天 馮曉琳

摘要;本文基于手機Android系統,研究通過對百度地圖開發者指南中源代碼的分析,使用JAVA語言在 Android Studio平臺下搭建Android 平臺開發環境,并利用手機內置的定位技術,在感應區域內自動語音播報,啟動與位置相關的語音導游信息,實時講解,實現對年均客流量高達三百萬人次,天津的重要旅游景區——五大道內重點區域的語音導游。

關鍵詞:旅游;語音導游APP;JAVA語言;五大道

1.引言

隨著科技的發展,移動互聯網技術已經廣泛地應用到社會生活的方方面面,特別是基于手機定位技術的服務,使得服務的指向性更強,更有效地切合人們外出旅游時對于景點信息的需求。

五大道作為天津的一處重要旅游景區,年均客流量高達三百萬人次,其導游服務至關重要。而景區導游服務費用較高、交互性弱、講解景點數量有限且路線較為固定。且現有的其他導游APP無法針對性的對五大道景點進行詳細講解。研究的目標是開發基于手機定位技術的導游應用,實現實時導游功能。研究的關鍵在于如何在景點內實現精確的導航和定位,并根據位置信息播放語音。

本文研究基于手機Android系統,旨在開發一款專門針對五大道的導游APP,利用手機內置的定位技術,在感應區域內自動語音播報,啟動與位置相關的語音導游信息,實時講解,實現對五大道內重點區域的語音導游。

2.五大道背景及需求分析

五大道位于天津中心城區的南部,東、西向并列著以中國西南名城重慶、大理、常德、睦南及馬場為名的五條街道,是迄今中國保留最為完整的洋樓建筑群。天津人把它稱作“五大道”。五大道地區擁有上世紀二、三十年代建成的具有不同國家建筑風格的花園式房屋2000多所,總建筑面積1.28平方公里。其中最具典型的300余幢風貌建筑中,英式建筑89所、意式建筑41所、法式建筑6所、德式建筑4所、西班牙建筑3所、還有眾多的文藝復興式建筑、古典主義建筑、折衷主義建筑、巴洛克式建筑、庭院式建筑以及中西合璧式建筑等,被稱為“萬國建筑博覽會”,因小洋樓最多、保存最為完整、建筑風格多樣以及體現出中西文化的沖突、交融而著名。

其作為天津的一處重要旅游景區,年均客流量高達三百萬人次,其導游服務至關重要。關于五大道在景區服務及設施等方面的設置:在旅游服務方面,設有五大道游客服務中心,五大道歷史博物館、觀光馬車巡游、自行車租賃,并且對一些故居如先農大院,慶王府進行開發,將餐飲與地區小洋樓文化特色相融合,形成了特色的餐飲文化。除此之外,天津傳統美食——狗不理包子,民園體育場文化中心地下一層的進口商品免稅商場,如家等快捷酒店的引入,為游客的旅行提供便捷。其中五大道在為游客提供向導方面,僅有兩種付費方式:一是選擇乘坐觀光馬車,在觀光同時由講解員進行簡略講解;二是選擇由五大道服務中心開發的導游APP。這兩種方式均存在其弊端:第一種方式,時間短,講解不細致,只能滿足少數游客的需求;第二種方式主要針對五大道游客服務中心中各博物館及復原展覽廳。

3.APP設計及技術實現

經過對項目目的、用戶群體、應有功能進行分析后,對APP進行了功能模塊設計,本文主要介紹該APP的四大功能模塊,分別是“熱門景點”、“便利生活”、“個人中心”、“景點導游”,主要功能是語音導游,先對景點進行導航,再進行語音導游功能,這個功能設置在主界面上,其他三個功能在主界面的底部工具條上進行選擇。

此款APP主要借助于百度地圖API實現定位。百度的定位SDK(Software Development Kit,軟件開發工具包)具有如下基本工作原理,當應用程序向百度定位SDK發起定位請求時,百度定位SDK會把移動端接收到的GPS、基站、Wifi信息轉換成所需的定位信息。通過定位SDK根據產生的這些定位信息進行解算處理,實現定位。根據需求的不同,有時它也會向服務器發送網絡請求,服務器會根據請求的定位信息來推算出對應的坐標位置,并生成定位結果返回給系統,最后通過返回的定位結果中的地理位置信息,就可以調出提前放置好的導游語音信息,進行導游語音詞的播放。

在使用百度地圖的功能前,需要將百度地圖的API(Application Program Interface,應用程序接口)添加到已經建立的Android項目中來。添加百度地圖API的步驟大致為:首先申請百度地圖API Key,之后下載百度地圖SDK開發包,并將其添加到對應工程中,最后編輯Android應用工程的AndroidManifest.xml與Build.gradle 文件,之后便可以將百度地圖API的對應功能在應用中進行引用。

定位中一般首選的定位方式是GPS定位,但如果我們的APP一直在定位的話,用戶的手機將會消耗大量電量。我們可以在上面已經寫好的地圖管理周期中添加對定位聲明,在on start中開啟定位,在on stop中關閉定位,這樣應用最小化時,就不會一直GPS請求定位。進而,當用戶不想使用定位這個功能時,就選擇讓應用最小化即可。

接下來需要在Java程序中實現定位到當前位置,采用If語句來進行判斷,是否是第一次啟用定位,如果是第一次就定位到當前位置,這樣在后續的使用過程中,用戶的手機就不會一直定位到當前位置,給用戶使用帶來不便。

在實際使用中,為了解決導航的過程中因為方向問題而走了相反的道路,設計了讓用戶看到自己所處的方向的功能。這一功能可以通過方向傳感器來實現。百度地圖SDK的庫中封裝好的Jar包中有MyOrientationListener這個類,而方向傳感器是和定位結合在一起的,在實現時只需要在定位的程序中調用即可。

根據位置信息觸發導游音頻的功能我們同樣借助百度地圖中提供的接口來實現。百度地圖中存在這樣一個接口,它可以直接來判斷點與圓的位置關系,幫助我們計算用戶的當前位置與景點之間的距離:

//判斷點pt是否在,以pCenter為中心點,radius為半徑的圓內。

SpatialRelationUtil.isCircleContainsPoint(pCenter,radius,pt);

把景點的經緯度作為中心點,以5米為半徑,就可以判斷用戶的當前位置是否處于該圓內,如果處于該圓內則打開語音導游界面,反之則繼續定位、判斷。

4.結論

本文主要研究了基于手機定位方式的導游APP開發,為了實現APP的導游功能,通過Android手機的幾種不同定位方式,結合項目的實際情況找出最適合的定位方式,根據APP的目標用戶所需要的功能完成APP的功能架構,搭建Android平臺,給出導入百度API后實現定位和導航的方法,并對景區內導航進行優化。研究Android Activity的實現方法,完成APP的設計。同時還對五大道景區相關信息進行調研學習,并撰寫導游詞、錄制導游音頻。與同類APP相比,此APP的導游詞更具趣味性,涉及到不同人物的生平經歷,幫助游客在游覽的同時了解景點背后的故事;實現了語音數據包在本地保存,達到離線講解的目的。

參考文獻:

[1]李維立,賈建東,馬利安.《手繪津門洋樓》.天津:天津大學出版社,2010.96

[2]天津市檔案館 天津市和平區檔案館.《天津五大道名人軼事》.天津:天津人民出版社,2008.4-268

[3]鄭銳洪 楊蕾 張妞.《城市歷史街區復雜顧客體驗價值認知的實證研究》.河北經貿大學學報(綜合版),2018(1):71-76

[4]鄭銳洪 張妞 成陽超.《天津市五大道歷史街區旅游價值的整合開發》.城市問題,2018(271):41-48

[5]王新玲.《悠悠百年五大道》.中國報道,2009(7):97-99

[6]譚汝為.《天津五大道與租界文化》.天津社會主義學院學報,2015(47)

[7]田瞳.《馬車走過五大道》.絲綢之路,2015(21)

[8]王軒.《天津五大道_萬國建筑博覽會》.民主,2011(8):39-40

[9]夏青 毛羽 王小莉.《天津五大道多元建筑文化的魅力》.中國文化遺產,2008(03)

[10] 楊新慶.《基于Android平臺的無限旅游導航系統的設計與實現》(碩士).2011

[11] 郭奇青 李偉. 《基于Android手機的智能導游系統設計》. 計算機與現代化,2017(09):111-119

猜你喜歡
Java語言旅游
我們一起“云旅游”
小A去旅游
旅游
基于Android平臺的健康醫療APP設計與開發
計算機軟件開發中的JAVA編程語言分析
用戶隱私保護之手機密碼保險箱
基于Java語言的手機軟件開發技術分析
出國旅游的42個表達
戶外旅游十件貼身帶
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合