當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]基于A(yíng)ndroid平臺(tái)的智能導(dǎo)游系統(tǒng)設(shè)計(jì)方案

摘要:為了提高旅游業(yè)信息化水平,提出了一種基于A(yíng)ndroid 平臺(tái)的智能導(dǎo)游系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)方案。首先介紹了Android 系統(tǒng)的層次框架并研究了智能導(dǎo)游系統(tǒng)的硬件平臺(tái),給出了系統(tǒng)整體硬件平臺(tái)框架和模塊設(shè)計(jì)。在此基礎(chǔ)上,基于A(yíng)ndroid SDK2. 1 開(kāi)發(fā)了該系統(tǒng)的應(yīng)用軟件。該軟件功能模塊主要分為游客信息管理、多媒體應(yīng)用、電子地圖,并對(duì)各個(gè)模塊的功能和界面的實(shí)現(xiàn)進(jìn)行了詳細(xì)地分析和設(shè)計(jì)。測(cè)試結(jié)果表明該系統(tǒng)操作簡(jiǎn)便,界面友好,并具有良好的可擴(kuò)展性和維護(hù)性。

0 引言

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

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

本研究提出一種基于A(yíng)ndroid 平臺(tái)的智能導(dǎo)游系統(tǒng)。

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

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

圖1 Android 軟件層次結(jié)構(gòu)

最底層為L(zhǎng)inux2. 6 內(nèi)核,Android 系統(tǒng)依賴(lài)其提供核心服務(wù),如: 進(jìn)程管理、內(nèi)存管理、網(wǎng)絡(luò)協(xié)議棧實(shí)現(xiàn)、硬件驅(qū)動(dòng)和安全服務(wù)等。

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

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

2 智能導(dǎo)游系統(tǒng)平臺(tái)框架設(shè)計(jì)

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

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

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

圖2 智能導(dǎo)游系統(tǒng)平臺(tái)框架設(shè)計(jì)。

智能導(dǎo)游系統(tǒng)通過(guò)Wifi 方式接入互聯(lián)網(wǎng),通過(guò)Google maps 提供的數(shù)據(jù)實(shí)現(xiàn)電子地圖的功能。Wifi模塊采用Marvell 8686,通過(guò)SDIO 接口與S3C6410 連接使用。

[!--empirenews.page--]

3 智能導(dǎo)游系統(tǒng)應(yīng)用功能模塊設(shè)計(jì)

智能導(dǎo)游系統(tǒng)的應(yīng)用程序通過(guò)Android 2. 1 SDK來(lái)開(kāi)發(fā),數(shù)據(jù)存儲(chǔ)采用嵌入式數(shù)據(jù)庫(kù)SQLite.智能導(dǎo)游系統(tǒng)具有游客信息管理、多媒體應(yīng)用、電子地圖功能。智能導(dǎo)游系統(tǒng)功能模塊框架設(shè)計(jì)如圖3 所示。

圖3 智能導(dǎo)游系統(tǒng)應(yīng)用功能模塊設(shè)計(jì)

3. 1 游客信息管理模塊

游客信息管理模塊負(fù)責(zé)對(duì)團(tuán)隊(duì)游客的信息進(jìn)行管理,支持?jǐn)?shù)據(jù)存儲(chǔ)、查詢(xún)、修改等功能,以隨時(shí)記錄游客信息,方便對(duì)旅游團(tuán)隊(duì)進(jìn)行管理。

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

SharedPreferences、文件存儲(chǔ)、SQLite 數(shù)據(jù)庫(kù)存儲(chǔ)、內(nèi)容提供器( CONtent provider) 和網(wǎng)絡(luò)存儲(chǔ)。在該系統(tǒng)中,游客信息數(shù)據(jù)存儲(chǔ)采用SQLite 數(shù)據(jù)庫(kù)進(jìn)行存儲(chǔ)。

SQLite 是Android 系統(tǒng)所帶的一個(gè)輕量級(jí)嵌入式數(shù)據(jù)庫(kù),支持SQL 語(yǔ)句,實(shí)現(xiàn)了事務(wù)的原子性、一致性、獨(dú)立性及持久性( ACID) ,最大支持2 TB 的數(shù)據(jù)存儲(chǔ)。

SQLite 存儲(chǔ)數(shù)據(jù)實(shí)現(xiàn)方式: 首先實(shí)例化一個(gè)SQLiteDatabase 類(lèi),即得到一個(gè)SQLite 數(shù)據(jù)庫(kù)。SQLite數(shù)據(jù)庫(kù)對(duì)象有3 個(gè)方法: ①onCreat( ) : 在數(shù)據(jù)庫(kù)第一次生成的時(shí)候,系統(tǒng)調(diào)用這個(gè)方法用來(lái)生成數(shù)據(jù)庫(kù)表;②onUpgrade( ) : 當(dāng)數(shù)據(jù)庫(kù)更新的時(shí)候,系統(tǒng)會(huì)調(diào)用這個(gè)方法將數(shù)據(jù)庫(kù)從舊版本跟新到新版本; ③onOpen( ) : 打開(kāi)數(shù)據(jù)庫(kù)時(shí)的回調(diào)函數(shù)。通過(guò)在onOpen( ) 方法中調(diào)用數(shù)據(jù)庫(kù)實(shí)例的execSQL( ) 方法,就可以在打開(kāi)該數(shù)據(jù)庫(kù)的時(shí)候執(zhí)行一條SQL 語(yǔ)句,從而完成相應(yīng)數(shù)據(jù)庫(kù)操作功能。

游客信息數(shù)據(jù)庫(kù)字段定義如表1 所示。

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

表1 游客信息數(shù)據(jù)庫(kù)字段

查找事件處理過(guò)程的事件源為查找按鈕findBut-ton.首先程序?qū)⒈O(jiān)聽(tīng)器clickLiSTener 通過(guò)setOnClick-Listener( ) 方法注冊(cè)到findButton.當(dāng)外部動(dòng)作觸摸到findButton 的時(shí)候,系統(tǒng)產(chǎn)生click 事件,并將其傳入到事件監(jiān)聽(tīng)器clickListener.事件監(jiān)聽(tīng)器調(diào)用事件處理器做出相應(yīng)動(dòng)作,即在onClick 方法中調(diào)用系統(tǒng)函數(shù)startActivity,啟動(dòng)一個(gè)intent( 意圖) ,從而實(shí)現(xiàn)界面的跳轉(zhuǎn),再通過(guò)調(diào)用數(shù)據(jù)庫(kù)的execSQL( ) 方法來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)查找操作功能。

[!--empirenews.page--]

3. 2 多媒體應(yīng)用模塊

多媒體應(yīng)用模塊主要完成3 個(gè)功能: 景點(diǎn)音頻解說(shuō)、景點(diǎn)圖片預(yù)覽、景點(diǎn)視頻播放。利用解說(shuō)音頻的播放可以有效降低導(dǎo)游的工作強(qiáng)度,而且通過(guò)景點(diǎn)圖片和視頻的預(yù)覽,可以補(bǔ)充展現(xiàn)景點(diǎn)珍貴的歷史圖片和特定時(shí)間段的景色,從而更加展現(xiàn)出景點(diǎn)的魅力。

3. 2. 1 多媒體應(yīng)用模塊的主界面設(shè)計(jì)

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

圖5 多媒體應(yīng)用主界面。

多媒體應(yīng)用模塊的主界面采用組件ListView,以列表方式來(lái)展現(xiàn)。當(dāng)開(kāi)發(fā)人員進(jìn)入多媒體應(yīng)用模塊的主界面后,在該界面的onCreate( ) 方法中,使用newListView( ) 語(yǔ)句新建一個(gè)ListView,通過(guò)setAdapter( )方法將其與數(shù)組適配器ArrayAdapter 進(jìn)行綁定,從而在ListView 界面對(duì)數(shù)據(jù)進(jìn)行顯示。數(shù)組適配器Array-Adapter 將數(shù)組里定義的數(shù)據(jù)一一對(duì)應(yīng)地顯示在List-View 組件。

本研究在多媒體應(yīng)用主界面需要實(shí)現(xiàn)在不同的選項(xiàng)選擇,并進(jìn)入相應(yīng)的界面功能。通過(guò)創(chuàng)建并綁定一個(gè)選項(xiàng)選擇監(jiān)聽(tīng)器: itemSelectedListener,并通過(guò)setOnItemClickListener() 方法來(lái)將其綁定到Lisview.當(dāng)選中相應(yīng)的景點(diǎn)時(shí),就可以進(jìn)入對(duì)應(yīng)的功能界面。

3. 2. 2 多媒體功能的實(shí)現(xiàn)

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

3. 3 電子地圖功能模塊

該系統(tǒng)的電子地圖功能借助Google maps 的API來(lái)進(jìn)行編程實(shí)現(xiàn)。經(jīng)過(guò)申請(qǐng)Google maps 的API key之后,本研究使用Android 系統(tǒng)提供的map 包( com.google. android. maps) ,從而在顯示界面完成顯示電子地圖及其他應(yīng)用的功能。

電子地圖功能模塊的框圖設(shè)計(jì)如圖6 所示:

圖6 電子地圖功能框圖設(shè)計(jì)

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

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

地點(diǎn)查找功能通過(guò)輸入目的地名稱(chēng),調(diào)用get-FromLocationName( ) 方法來(lái)返回查詢(xún)結(jié)果并在地圖上顯示,可以方便找到目的地的位置。目的地經(jīng)、緯度借助LocationManager 的getLastKnownLocation 方法來(lái)得到: 通過(guò)getLastKnownLocation 方法得到一個(gè)新的Location對(duì)象,那么該點(diǎn)的經(jīng)度和緯度分別由該類(lèi)的get-Latitude( ) 和getLongitude( ) 方法來(lái)得到。

除此之外,景點(diǎn)周?chē)畔⒉樵?xún)功能模塊通過(guò)預(yù)先存儲(chǔ)的內(nèi)容,為游客提供周?chē)慕煌ê褪乘扌畔ⅰ?/font>

4 結(jié)束語(yǔ)

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

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀(guān)點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專(zhuān)欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車(chē)的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車(chē)技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車(chē)工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車(chē)。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車(chē) 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶(hù)希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱(chēng),數(shù)字世界的話(huà)語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱(chēng)"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉