新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Android平臺的智能導游系統(tǒng)的設計與實現

基于Android平臺的智能導游系統(tǒng)的設計與實現

作者: 時間:2015-03-11 來源:網絡 收藏

  0 引言

本文引用地址:http://www.butianyuan.cn/article/270834.htm

  隨著全面建設小康社會的推進和人民生活水平的不斷提高,旅游業(yè)成為一項極富發(fā)展?jié)摿Φ漠a業(yè)。然而我國旅游業(yè)現階段信息化水平低,旅游產品開發(fā)水平低,導游對旅游團游客的管理還停留在依靠團旗和喊話器來帶領旅游團員,景點旅游團交叉重疊,環(huán)境嘈雜。在智能嵌入式系統(tǒng)得到廣泛應用的背景下,開發(fā)具有良好用戶體驗、方便文件管理并且支持各種多媒體功能和網絡應用的智能導游系統(tǒng)成為現實,并且國外出現了與人工智能技術結合,基于地理位置自動播放多媒體的導游系統(tǒng)。

  現有的智能導游系統(tǒng)平臺多種多樣,主要有和Linux.的使用需要微軟公司授權,實現成本很高; 系統(tǒng)本身是開源項目,源代碼可以免費獲取,比起WinCE,選用 平臺來實現智能導游系統(tǒng)可以大大降低系統(tǒng)成本。另外操作系統(tǒng)基于Linux2. 6 內核,具備高穩(wěn)定性和良好的移植性。應用程序開發(fā)語言為Java,具備良好的可擴展性,便于軟件升級和維護,加之系統(tǒng)本身提供了非常豐富的UI 組件,故可以設計出交互性好的系統(tǒng)應用。此外,Google 公司提供了Google API 來支持Android系統(tǒng)運行如Google maps 等應用,極大地方便了應用程序開發(fā)。

  本研究提出一種基于Android 平臺的智能導游系統(tǒng)。

  1 Android 操作系統(tǒng)簡介

  Android 操作系統(tǒng)在2007 年由Google 公司發(fā)布,是一款專門面向移動平臺的智能操作系統(tǒng)。Android系統(tǒng)軟件層次結構包括操作系統(tǒng)、中間件、用戶界面和應用程序,其層次結構框圖如圖1 所示。

  

 

  圖1 Android 軟件層次結構

  最底層為Linux2. 6 內核,Android 系統(tǒng)依賴其提供核心服務,如: 進程管理、內存管理、網絡協議棧實現、硬件驅動和安全服務等。

  庫和運行環(huán)境包含一些C /C + + 庫,這些庫能被Android 系統(tǒng)中不同的組件使用。核心庫有: 系統(tǒng)C庫、媒體庫、圖形庫( SGL,3D Libraries ) 、數據庫( SQLite) .核心庫都針對嵌入式應用進行了優(yōu)化。

  應用層框架提供了各種視圖組件、內容提供器、資源管理器、活動管理器等一系列的系統(tǒng)服務,方便開發(fā)交互性好的應用程序。

  2 智能導游系統(tǒng)平臺框架設計

  該系統(tǒng)硬件平臺選用ARM 平臺,CPU 選用三星公司的S3C6410A.S3C6410A 為ARM11 內核,具備智能能量管理器,功耗低并且采用ARM Jazelle( R) 技術用以有效支持嵌入式Java 執(zhí)行。此外,S3C6410A主頻為533 MHz,可以流暢地運行Android 系統(tǒng)。

  液晶觸摸顯示屏采用NEC 公司的4. 3″的觸摸液晶屏,分辨率為480 × 272,完全滿足導游系統(tǒng)要求。

  系統(tǒng)移植的Android 內核版本為Android2. 1.

  

 

  圖2 智能導游系統(tǒng)平臺框架設計。

  智能導游系統(tǒng)通過Wifi 方式接入互聯網,通過Google maps 提供的數據實現電子地圖的功能。Wifi模塊采用Marvell 8686,通過SDIO 接口與S3C6410 連接使用。

  3 智能導游系統(tǒng)應用功能模塊設計

  智能導游系統(tǒng)的應用程序通過Android 2. 1 SDK來開發(fā),數據存儲采用嵌入式數據庫SQLite.智能導游系統(tǒng)具有游客信息管理、多媒體應用、電子地圖功能。智能導游系統(tǒng)功能模塊框架設計如圖3 所示。

  

 

  圖3 智能導游系統(tǒng)應用功能模塊設計

  3. 1 游客信息管理模塊

  游客信息管理模塊負責對團隊游客的信息進行管理,支持數據存儲、查詢、修改等功能,以隨時記錄游客信息,方便對旅游團隊進行管理。

  Android 系統(tǒng)中可供選擇的存儲方式有如下幾種:

  SharedPreferences、文件存儲、SQLite 數據庫存儲、內容提供器( CONtent provider) 和網絡存儲。在該系統(tǒng)中,游客信息數據存儲采用SQLite 數據庫進行存儲。

  SQLite 是Android 系統(tǒng)所帶的一個輕量級嵌入式數據庫,支持SQL 語句,實現了事務的原子性、一致性、獨立性及持久性( ACID) ,最大支持2 TB 的數據存儲。

  SQLite 存儲數據實現方式: 首先實例化一個SQLiteDatabase 類,即得到一個SQLite 數據庫。SQLite數據庫對象有3 個方法: ①onCreat( ) : 在數據庫第一次生成的時候,系統(tǒng)調用這個方法用來生成數據庫表;

  ②onUpgrade( ) : 當數據庫更新的時候,系統(tǒng)會調用這個方法將數據庫從舊版本跟新到新版本;③onOpen( ) : 打開數據庫時的回調函數。通過在onOpen( ) 方法中調用數據庫實例的execSQL( ) 方法,就可以在打開該數據庫的時候執(zhí)行一條SQL 語句,從而完成相應數據庫操作功能。

  游客信息數據庫字段定義如表1 所示。

  在數據庫中對游客信息進行增加、修改、刪除等操作的設計方案,通過采用事件監(jiān)聽模型來完成,從而使應用程序具有良好的交互性。筆者以查找功能的實現為例,來闡述智能導游系統(tǒng)對游客信息管理的查找事件處理的流程。

  

 

  表1 游客信息數據庫字段

  查找事件處理過程的事件源為查找按鈕findBut-ton.首先程序將監(jiān)聽器clickLiSTener 通過setOnClick-Listener( ) 方法注冊到findButton.當外部動作觸摸到findButton 的時候,系統(tǒng)產生click 事件,并將其傳入到事件監(jiān)聽器clickListener.事件監(jiān)聽器調用事件處理器做出相應動作,即在onClick 方法中調用系統(tǒng)函數startActivity,啟動一個intent( 意圖) ,從而實現界面的跳轉,再通過調用數據庫的execSQL( ) 方法來實現數據庫查找操作功能。

  3. 2 多媒體應用模塊

  多媒體應用模塊主要完成3 個功能: 景點音頻解說、景點圖片預覽、景點視頻播放。利用解說音頻的播放可以有效降低導游的工作強度,而且通過景點圖片和視頻的預覽,可以補充展現景點珍貴的歷史圖片和特定時間段的景色,從而更加展現出景點的魅力。

  3. 2. 1 多媒體應用模塊的主界面設計

  本研究以景點為"西湖十景"為例,多媒體功能主界面如圖5 所示。

  

 

  圖5 多媒體應用主界面。

  多媒體應用模塊的主界面采用組件ListView,以列表方式來展現。當開發(fā)人員進入多媒體應用模塊的主界面后,在該界面的onCreate( ) 方法中,使用newListView( ) 語句新建一個ListView,通過setAdapter( )方法將其與數組適配器ArrayAdapter 進行綁定,從而在ListView 界面對數據進行顯示。數組適配器Array-Adapter 將數組里定義的數據一一對應地顯示在List-View 組件。

  本研究在多媒體應用主界面需要實現在不同的選項選擇,并進入相應的界面功能。通過創(chuàng)建并綁定一個選項選擇監(jiān)聽器: itemSelectedListener,并通過setOnItemClickListener() 方法來將其綁定到Lisview.當選中相應的景點時,就可以進入對應的功能界面。

  3. 2. 2 多媒體功能的實現

  Andriod 系統(tǒng)提供了常見的媒體編碼、解碼機制,如MP3, JPG,MPEG4,h. 264 等編碼格式,因此可以非常容易地集成音頻、視頻和圖片等多媒體到應用程序中。播放音頻功能的實現需要實例化一個MediaPlayer類,然后調用setDataSource( ) 方法來設置音頻文件的路徑,再調用start( ) 實現音頻的播放。視頻播放的實現方法類似于音頻播放,借助VideoView 和Media-Controller 組件即可以實現。圖片預覽的實現采用網格視圖GridView,本研究通過調用網格視圖的setAdapter方法將待預覽的圖片的引用和該視圖對象進行綁定,可以將很多圖片以一定的大小同時顯示出來,適合圖片預覽的應用。

  3. 3 電子地圖功能模塊

  該系統(tǒng)的電子地圖功能借助Google maps 的API來進行編程實現。經過申請Google maps 的API key之后,本研究使用Android 系統(tǒng)提供的map 包( com.google. android. maps) ,從而在顯示界面完成顯示電子地圖及其他應用的功能。

  電子地圖功能模塊的框圖設計如圖6 所示:

  

 

  圖6 電子地圖功能框圖設計

  視圖模式功能模塊根據選擇來分別顯示衛(wèi)星圖、街景圖、交通圖,并對地圖進行放大和縮小操作。視圖功能的實現通過采用MapView 類來實現。MapView類是一個展示地圖的視圖,它可以獲取鍵盤事件( on-KeyDown 和onKeyUp) 來支持地圖移動和縮放功能。

  本研究通過使用mapView. toggleSatellite ( ) 和map-View. toggletraffic( ) 的兩個方法可以分別選擇顯示衛(wèi)星圖或者路況圖。電子地圖的設置大小的功能通過MapController 的setZoom( ) 方法來實現。

  地點查找功能通過輸入目的地名稱,調用get-FromLocationName( ) 方法來返回查詢結果并在地圖上顯示,可以方便找到目的地的位置。目的地經、緯度借助LocationManager 的getLastKnownLocation 方法來得到: 通過getLastKnownLocation 方法得到一個新的Location對象,那么該點的經度和緯度分別由該類的get-Latitude( ) 和getLongitude( ) 方法來得到。

  除此之外,景點周圍信息查詢功能模塊通過預先存儲的內容,為游客提供周圍的交通和食宿信息。

  4 結束語

  Android 平臺因其優(yōu)異的性能和開放性,日益在智能手機、平板電腦、車載導航儀、數字電視等嵌入式終端系統(tǒng)獲得廣泛應用。本研究提出了一種基于Android平臺的智能導游系統(tǒng)的設計和實現方案,分析了各個功能模塊的設計和實現方法,測試結果表明,該系統(tǒng)運行穩(wěn)定,操作簡單,能提供豐富的多媒體應用并具有良好的人機交互界面,在旅游業(yè)中有廣泛的應用前景。另外,該系統(tǒng)還可以結合地理位置信息,實現自動選擇相應的多媒體應用的文件,該功能有待進一步研究和實現。



關鍵詞: Android WinCE

評論


相關推薦

技術專區(qū)

關閉