<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > Android城市導游系統的設計與實(shí)現

Android城市導游系統的設計與實(shí)現

作者: 時(shí)間:2012-08-20 來(lái)源:網(wǎng)絡(luò ) 收藏

摘 要: 智能手機與Internet 服務(wù)的結合是未來(lái)信息發(fā)展和軟件應用的趨勢。 手機操作是Google 公司于2007 年11 月宣布的基于Linux? V2.6 內核的開(kāi)源的手機操作,具有廣泛的應用和發(fā)展前景。本文中將Web 開(kāi)發(fā)中的三層架構移植改進(jìn)為數據服務(wù)器、應用服務(wù)器和手機客戶(hù)端三層的架構,提出了基于web services 的一種軟件開(kāi)發(fā)框架,并依據這種框架開(kāi)發(fā)了 系統,可以主要景點(diǎn)、住宿、飲食、購物等基礎信息的在線(xiàn)查詢(xún)。

本文引用地址:http://dyxdggzs.com/article/148571.htm

  1 引言

  手機是人們可以隨身攜帶的便利的通訊工具,隨著(zhù)智能手機的出現,它也成為人們快速方便的獲得信息的一種重要途徑。而越來(lái)越多的手機軟件更是迅速的改變著(zhù)人們的生活。但是,由于硬件及存儲空間的限制,手機中存儲的信息也受到了限制。

  本文中,將手機軟件開(kāi)發(fā)與Internet 相結合,將Web 三層架構移植到手機軟件的開(kāi)發(fā)中,了基于 操作系統的手機應用軟件--系統,可以對城市主要景區、酒店、旅店的分類(lèi)查詢(xún),以及通過(guò)使用者的手機定位功能實(shí)現對其周邊景區、酒店、旅店的信息查詢(xún),實(shí)現了城市中的游玩、飲食、住宿等的查詢(xún)需求。

  2 Android 操作系統介紹

  Android 是Google 于2007 年11 月宣布的基于Linux? V2.6 內核的開(kāi)源的手機操作系統。最初,Android 的部署目標是移動(dòng)電話(huà)領(lǐng)域,包括智能電話(huà)和更廉價(jià)的翻蓋手機。但是,Android 全面的計算服務(wù)和豐富的功能支持完全有能力擴展到移動(dòng)電話(huà)市場(chǎng)以外。因此 Android 也可以用于其他的平臺和應用程序,發(fā)展前景非常廣闊。

  Android 系統采用了分層的架構,從高層到低層分別是應用程序層、應用程序框架層、系統運行庫和Linux 核心層。在應用程序層中,提供了豐富的核心應用程序,包括email 客戶(hù)端,SMS 短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應用程序都是使用JAVA 語(yǔ)言編寫(xiě)的。應用程序框架層簡(jiǎn)化了組件的重用,任何一個(gè)應用程序都可以發(fā)布或使用其他應用程序發(fā)布的功能塊。系統運行庫包含一組核心庫和Dalvik 虛擬機。應用程序框架層。Linux 核心層用來(lái)提供系統的底層服務(wù),位于硬件和其它軟件層之間,采用 YAFFS2 文件系統。

  3 系統框架

  在基于Web 的軟件開(kāi)發(fā)中,常用到Web 三層架構,即用戶(hù)接口層,業(yè)務(wù)邏輯層,數據訪(fǎng)問(wèn)層。用戶(hù)接口層,即客戶(hù)端或瀏覽器端,主要負責數據的顯示。業(yè)務(wù)邏輯層,即應用服務(wù)器,主要負責數據的業(yè)務(wù)邏輯處理。數據訪(fǎng)問(wèn)層,即數據服務(wù)器,主要負責對數據庫的存取操作。

  Web 三層架構可以移植到手機應用程序的開(kāi)發(fā)中,將手機的應用程序作為客戶(hù)端,負責用戶(hù)接口層的工作,而大量的數據存儲在Internet 數據服務(wù)器中,邏輯業(yè)務(wù)的處理由應用服務(wù)器負責,從而實(shí)現智能手機與Internet 的結合,可以使手機輕松方便的訪(fǎng)問(wèn)Internet 上的大量數據。

  在基于A(yíng)ndroid 的城市導游系統中,采用了客戶(hù)端、應用服務(wù)器和數據服務(wù)器三層架構。本系統整體架構如圖1 所示??蛻?hù)端是基于A(yíng)ndroid 操作系統的手機應用程序,負責數據的輸入、解析和顯示。應用服務(wù)器主要以Web Services 的方式提供服務(wù),并在數據處理中使用了Lucene 索引和中文切詞技術(shù)。數據服務(wù)器主要負責數據的存儲,數據庫采用MySQL.

  將系統的整體架構分成三個(gè)部分,各個(gè)部分相對獨立,將數據的存儲、處理和顯示分開(kāi),有利于系統的開(kāi)發(fā)和維護;各個(gè)部分之間的聯(lián)系通過(guò)軟件來(lái)連接,也有利于系統的變遷和升級。

圖1 系統架構圖

圖1 系統架構圖

  4 系統的模塊圖

  城市導游系統主要實(shí)現對城市景區、購物、食宿等信息的查詢(xún),以及通過(guò)手機定位查詢(xún)周邊的相關(guān)信息。系統的模塊圖如圖2 所示。其中,在景區、購物、食宿的各個(gè)模塊中,還可以具體按照城市的分區查詢(xún)、精確查詢(xún)、按照排行等進(jìn)行進(jìn)一步細致的查詢(xún)。

圖2 系統模塊圖

圖2 系統模塊圖

5 系統的實(shí)現

5.2 邏輯業(yè)務(wù)處理

  對數據的邏輯處理是連接數據服務(wù)器和客戶(hù)端的重要組成部分。將數據的處理部分獨立出來(lái),將數據的存儲和顯示分開(kāi),真正實(shí)現了系統的邏輯獨立性和物理獨立性。對于數據的邏輯處理, 采用基于A(yíng)pache Axis2 引擎來(lái)建立Web Services 服務(wù)的方法來(lái)實(shí)現。將所需要的數據以服務(wù)的方式提供,便于客戶(hù)端對數據的訪(fǎng)問(wèn),也有利于服務(wù)的更新與維護。

  Apache Axis2 是新一代的SOAP 引擎,采用名為AXIOM(AXIs Object Model)的新核心 XML 處理模型,利用新的XML 解析器提供的靈活性按需構造對象模型。

  客戶(hù)端對數據的需求往往是批量的數據,即從數據庫或索引中查詢(xún)出的數據是多條記錄集的形式。而對于這些記錄集的處理是相當復雜的,為了簡(jiǎn)化WebServices 的處理和客戶(hù)端的解析,將結果集封裝在自圖7 景點(diǎn)查詢(xún)界面定義的類(lèi)中。

  如在景區模塊中,定義了類(lèi)SceneryArray 存放景點(diǎn)列表信息的記錄集。定義了函數public SceneryArraygetService1(String area),主要功能是根據用戶(hù)輸入的信息,查詢(xún)并返回查詢(xún)到的景點(diǎn)列表,把結果集封裝到自定義類(lèi)SceneryArray 的對象中, 返回SceneryArray 的對象。對于函數getSercice1(Stringarea)將發(fā)布成Web Services 服務(wù)。

  5.3 客戶(hù)端的設計

  客戶(hù)端,也就是用戶(hù)所使用的智能手機,本系統基于A(yíng)ndroid 操作系統開(kāi)發(fā)。用戶(hù)可以通過(guò)智能手機提供的輸入界面輸入要查詢(xún)的信息,然后連接服務(wù)器,最后將所需數據在客戶(hù)端顯示。由于Web Services提供的數據是自定義類(lèi)的形式,客戶(hù)端還要負責對數據的部分解析處理。在客戶(hù)端, 采用了KSoap2 Android 來(lái)實(shí)現連接服務(wù)器和數據的解析等工作。KSoap2 Android 是 Android 平臺上一個(gè)高效、輕量級的 SOAP 開(kāi)發(fā)包。等同于 Android 上的KSoap2 的移植版本。是一個(gè)SOAPwebservice客戶(hù)端包。主要用于資源受限制的Java 環(huán)境如Applets 或J2ME 應用程序(CLDC/CDC/MIDP)。

  6 設計結果與分析

  城市導游系統使用戶(hù)可以便捷的通過(guò)智能手機終端連接和訪(fǎng)問(wèn)Internet 服務(wù)器,獲得數據和信息服務(wù)。將手機的方便快捷與Internet 服務(wù)器的大數據容量和高性能服務(wù)支持有效的結合起來(lái),發(fā)揮二者之優(yōu)勢。圖7 是系統的景點(diǎn)查詢(xún)界面,圖8 是通過(guò)手機定位以便查詢(xún)周邊信息的界面。

圖7 景點(diǎn)查詢(xún)界面

圖7 景點(diǎn)查詢(xún)界面

圖8 地圖定位界面。

圖8 地圖定位界面。

  7 結束語(yǔ)

  本系統中將Web 開(kāi)發(fā)中的三層架構移植改進(jìn)為數據服務(wù)器、應用服務(wù)器和手機客戶(hù)端三層的系統架構,便于系統各部分的獨立開(kāi)發(fā),有利于系統的更新和維護,并可以方便的將本系統升級以適用于不同手機操作平臺,從而實(shí)現本系統的跨平臺應用。智能手機與Internet 服務(wù)的結合必將成為未來(lái)信息發(fā)展的趨勢,而基于智能手機和Internet 服務(wù)的軟件應用也必將有著(zhù)廣泛的應用前景。

  5.1 數據服務(wù)器的實(shí)現

  數據服務(wù)器主要負責數據的存儲,包括數據庫和文件兩種形式。數據庫采用MySQL 數據庫。MySQL是一個(gè)小型關(guān)系型數據庫管理系統,它被廣泛地應用在Internet 上的中小型網(wǎng)站中。其體積小、速度快、總體擁有成本低,既能夠作為一個(gè)單獨的應用程序應用在客戶(hù)端服務(wù)器網(wǎng)絡(luò )環(huán)境中,也能夠作為一個(gè)庫而嵌入到其他的軟件中提供多語(yǔ)言支持,非常靈活。城市導游系統的數據庫結構如下。

 ?。?) Scenery:負責記錄景點(diǎn)的信息。

圖3 scenery

圖3 scenery

 ?。?) Market:負責記錄消費場(chǎng)所的信息。

圖4 market.

圖4 market.

 ?。?)restaurant:負責記錄餐飲場(chǎng)所的信息。

圖5 restaurant.

圖5 restaurant.

 ?。?)hotel:負責記錄住宿信息。

圖6 restaurant.

圖6 restaurant.

  對于數據庫中的大量數據,根據用戶(hù)對這些數據的敏感度不同,數據的查詢(xún)概率也不同,對于經(jīng)常查詢(xún)的數據,可以通過(guò)建立索引的方式來(lái)提高查詢(xún)的速度。本系統采用Lucene 檢索引擎和中文切詞技術(shù),針對數據庫中,查詢(xún)概率較大的數據建立索引文件,將對數據庫中大量數據的查詢(xún)轉化為對索引文件的查詢(xún),從而大大的提高了查詢(xún)效率。而索引文件的建立和查詢(xún)都是通過(guò)軟件實(shí)現,有利于數據的更新和維護。



評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>