編者按:由中國石油大學(華東)萬劍華教授主講的《時空信息與智慧城市》課程已結課,學生們結合自己的興趣點,,通過查閱資料,,積極思考,撰寫了短文,,陸續(xù)在【慧天地】“學生視角”欄目刊發(fā),。刊發(fā)這些短文的目的是鼓勵在校大學生,、研究生們不要拘泥于書本和課堂,,要有獨立思考的能力,寫出自己的所思所想,。盡管這些文章在專家們看來顯得稚嫩,,甚至或多或少存在一些問題,但考慮他們的身份是學生,,還望以育人的初心對他們的文章進行批評指正,,謝謝大家?!净厶斓亍恳矚g迎全國各高校的同學們向本欄目投稿(點擊文末“閱讀原文”查看投稿指南),。 一、背景 中國作為一個人口大國,,根據2021年5月11日上午公布的第七次人口普查數據,,我國總人口為14.1億,人口總量慣性增長,,人口增速有所放緩,。同時也作為一個旅游大國,旅游是提升公民幸福感的一種方式,而且旅游可以緩解生活,、學習上的壓力,,調節(jié)自己的狀態(tài)和心態(tài);開拓你的眼界,,對自己有正確的定位,;擴大自己的交友圈,我們處于科技極度發(fā)達的時代,,旅游會讓人感受到人情味,;欣賞美景、品嘗美食,,享受世間的美好,;使自己成為一個有規(guī)劃、有想法的人,。 智能手機作為我們的出行必備,,Android手機占據了市場大部分份額,在2016年5月舉行的Google I/O會議上,,Google宣布,,開發(fā)者可以使用運行Android 7.0操作系統(tǒng)的智能手機和平板電腦獲取GNSS原始觀測數據,,可以使用偽距,、多普勒和載波相位等數據計算出更精確的位置。而這些為智能手機應用于智慧旅游提供了強有力的支撐,。 智慧旅游,,就是利用云計算、物聯網等新技術,,通過互聯網/移動互聯網,,借助便攜的終端上網設備,主動感知旅游資源,、旅游經濟,、旅游活動、旅游者等方面的信息,,及時發(fā)布,,讓人們能夠及時了解這些信息,及時安排和調整工作與旅游計劃,,從而達到對各類旅游信息的智能感知,、方便利用的效果。旅游中會遇到各種問題:訂什么票比較方便,?在哪住宿,、在哪吃飯?出行路線怎么才最佳,?不知道要去玩的地方人流量如何,?同伴走散了如何會面,?周邊交通情況如何? 圖1.旅游所需軟件 如圖1所示,,已有很多軟件會提供解決一些問題,,比如攜程,去哪兒網,,可以預定酒店,、車票、景點門票,,定制路線,,旅游方式等;還有小豬,、途家,、木鳥等軟件主要針對民宿出租;美團,、口碑上可以根據口味,、評分選擇自己想吃的東西;在某些城市旅游時,,也有一些乘車的定制軟件,,比如蘇州的蘇e行,上海的Metro大都會,,大大提高了地鐵出行的便利性……這些軟件能針對性地解決一些問題,,但是沒有一個軟件可以滿足游客的所有的個性化需求。所以我們需要一個綜合性的軟件解決上述問題,,本文利用Android手機的系統(tǒng)優(yōu)勢提供了一個設計方案,。 二、Android系統(tǒng)優(yōu)勢 Android平臺手機具備一些獨特優(yōu)勢:Android系統(tǒng)的開放性使得各種軟件百花齊放,,我們可以利用已有軟件作為開發(fā)軟件的依托,,節(jié)約了開發(fā)成本、開發(fā)時間,,提高了工作效率,,防止了資源的反復使用與替換;具有優(yōu)化的圖形系統(tǒng),,可以提供豐富的2D,、3D圖形庫;其內部瀏覽器基于WebKit開發(fā),,具有強大的網絡支持功能,;具有強大的網絡功能,支持3G網絡、手機藍牙,、WIFI,、4G網絡等多種網絡通訊手段。 Android平臺架構自底向上可為分為四個層次,,包括Linux內核層,、Android類庫層、應用框架層,、應用程序層,。如圖2。 圖2.Android系統(tǒng)架構 Linux內核層作為連接操作系統(tǒng)和嵌入式平臺硬件之間的抽象層,,Android可以基于該系統(tǒng)提供豐富的核心系統(tǒng)服務,。庫函數層是指Android包含一個標準的C/C++庫,主要包括:標準C系統(tǒng)庫,,以及用于支持各種多媒體格式文件解碼音頻接口庫,、視頻接口,解碼各種圖片數據的庫函數接口等,。應用框架層是指Android平臺的應用開發(fā)者,,通過對平臺提供的各類接口函數實現軟件功能,基于這種便捷的開發(fā)方式,,可以極大地提高軟件模塊的復用性,,開發(fā)者可以根據需求替換應用的內部組件,也可以促進軟件之間的資源共享,,為軟件間高效協(xié)作提供技術基礎,。應用層是指在Android操作系統(tǒng)提供豐富平臺庫接口函數的條件下,,軟件開發(fā)者快速實現應用層代碼開發(fā),,極大提高開發(fā)效率。 三,、系統(tǒng)設計 3.1設計系統(tǒng)界面 編寫用戶界面部分的XML布局文件,,確定用戶界面的組成部分以及擺放位置,樣式風格等,;通過用戶界面的活動事件的監(jiān)聽模塊,,觸發(fā)和調用編寫好的各個界面的功能代碼。當用戶點擊界面中的活動按鈕時,,會觸發(fā)按鈕活動事件,,相應功能界面Activity被加載到XML文件中顯示,系統(tǒng)調用相關功能代碼并運行,。 本文提出了基于Android手機定位的智慧旅游,,旨在推出一類軟件解決我們在旅游中的問題,提高旅游管理效率,提升游客體驗,。在設計系統(tǒng)界面方面:編寫用戶界面部分的XML布局文件,,確定用戶界面的組成部分以及擺放位置,樣式風格等,;通過用戶界面的活動事件的監(jiān)聽模塊,,觸發(fā)和調用編寫好的各個界面的功能代碼。當用戶點擊界面中的活動按鈕時,,會觸發(fā)按鈕活動事件,,相應功能界面Activity被加載到XML文件中顯示,系統(tǒng)調用相關功能代碼并運行[3],。 3.2系統(tǒng)功能設計 初步設想軟件分為四部分:地圖定位功能,、旅游信息查詢功能、周邊信息查詢功能,、交通路線查詢功能,、分享功能。如圖3,。 圖3.智慧旅游軟件結構 (1)地圖定位功能就是在地圖上實時標注位置信息,,幫助游客實時了解所處位置,有助于規(guī)劃行程,。用戶也可對地圖進行縮放擴大,,方便從宏觀或微觀上了解自己位置;實現交通,、衛(wèi)星模式切換,,滿足不同的需求。由于地圖數據量太大,,可以提前對所需區(qū)域進行緩存,,也能盡可能節(jié)約流量。對于結伴同行的伙伴來說,,由于興趣點不一樣,,可能面臨迷路的問題,該系統(tǒng)可以對二者位置進行實時定位,,通過路線引導可以快速找到對方,。 實現步驟:將百度地圖控件添加到系統(tǒng)的XML布局文件中;重寫地圖瀏覽界面的Activity生命周期函數,;將百度地圖Android SDK API導入到系統(tǒng)中,;實現地圖定位功能的顯示[3]。 (2)旅游信息查詢功能向下細分,,分為:地圖導航,、門票信息,、景點特色、語音視頻講解,、天氣預報模塊,、景區(qū)動態(tài)資訊實時推送模塊。其中地圖導航指的是從出發(fā)地到景點的路線導航,,門票信息主要包含票價,、購票、退票,、售票時間,、優(yōu)惠活動等;景點特色指的是該景區(qū)聞名的故事背景介紹,,美麗的打卡地點,、美味的特色小吃、有意義的特產等,,有助于游客把想玩的地方走遍,,不虛此行;語音視頻講解從語音和視頻兩方面出發(fā),,考慮到部分人聽普通話比較費力,,分為方言語音導航和普通話語音導航,該語音導航可以通過掃碼的方式聽,,在視頻講解這方面,,則是在景區(qū)比較醒目的地方安置大屏幕循環(huán)播放短視頻,該短視頻要簡明扼要,,突出重點,、(隨著文化氛圍或旅游環(huán)境的變化)實時更新[2];天氣預報模塊負責實時提供天氣情況[4],,方便旅客及時規(guī)劃合適的游玩路線,,避免壞天氣的影響;景區(qū)動態(tài)資訊實時推送模塊可以讓游客及時了解景區(qū)的活動,,合理安排時間,,不錯過每個想看的節(jié)目,。 實現步驟:分別建好各個模塊對應的類,,添加滾動視圖控件ScrollView,圖片控制Image View和文本操控文件TextView,,分別用于實現界面滾動瀏覽,、顯示查詢景點圖片信息、輸入查詢內容以及展示查詢到文件結果內容,。當游客在旅游界面點擊相應信息內容時,,信息查詢類被喚醒,,對SQLite數據庫中相關信息內容進行檢索,并顯示給用戶相關信息和圖片資源,。 (3)周邊信息查詢功能主要分為住宿,、飲食、興趣點方面,。住宿方面是為你就近提供房源,,可以根據人數、距離,、價錢等因素選擇心儀的房源,;飲食方面則是為您提供附近的水吧、飯店,、小吃街等地方,,可以根據距離、食物種類等方面來選擇,;你可以把你感興趣的地點輸入檢索條進行搜索,,比如銀行、KTV,、商場等,,這些地點都會顯示在地圖的對應位置,你可以根據需求進行選擇,。 首先在SQLite數據庫中保存待查目標位置經緯度信息,,通過對比用戶的經緯度,算出目標位置和用戶之間的距離差,,將這些目標位置按照從近及遠的順序依次顯示到結果文件控件中,,有助于我們對所需信息一目了然。 (4)交通路線查詢功能分為最優(yōu)路線規(guī)劃,。最優(yōu)路線規(guī)劃根據你的起始點規(guī)劃一條既節(jié)省時間,,又順暢的路線。分為三種交通方式:公交,、自駕,、步行。如果是自駕游的話,,還要考慮停車的問題,。在景區(qū)附近停車可能會面臨停車位不足的問題,對于停車費用也要有所了解,,所以建立一個停車場數據庫,,利用數據庫查找功能選擇合適的停車位[1]。 實現步驟:在檢索條件中輸入檢索條件,,系統(tǒng)會快速檢索數據庫內容,,根據最短路徑的計算算法提供給用戶出行方式,。對于停車位的問題,在停車數據庫中進行檢索,,根據停車場到我們的距離,,由遠及近將停車場的信息顯示在結果文件控件中,并附有停車費用等信息,。 |
|