色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁 > 手機與無線通信 > 設計應用 > 基于web架構Android城市導游系統(tǒng)

          基于web架構Android城市導游系統(tǒng)

          作者: 時間:2017-06-12 來源:網(wǎng)絡 收藏

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

          本文引用地址:http://cafeforensic.com/article/201706/352948.htm

            1 引言

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

            本文中,將手機軟件開發(fā)與Internet 相結合,將 三層架構移植到手機軟件的開發(fā)中,設計并實現(xiàn)了基于Android 操作系統(tǒng)的手機應用軟件--城市導游系統(tǒng),可以實現(xiàn)對城市主要景區(qū)、酒店、旅店的分類查詢,以及通過使用者的手機定位功能實現(xiàn)對其周邊景區(qū)、酒店、旅店的信息查詢,實現(xiàn)了城市導游中的游玩、飲食、住宿等的查詢需求。

            2 Android 操作系統(tǒng)介紹

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

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

            3 系統(tǒng)框架設計

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

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

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

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

            

            圖1 系統(tǒng)架構圖

            4 系統(tǒng)的模塊圖

            城市導游系統(tǒng)主要實現(xiàn)對城市景區(qū)、購物、食宿等信息的查詢,以及通過手機定位查詢周邊的相關信息。系統(tǒng)的模塊圖如圖2 所示。其中,在景區(qū)、購物、食宿的各個模塊中,還可以具體按照城市的分區(qū)查詢、精確查詢、按照排行等進行進一步細致的查詢。

            

            圖2 系統(tǒng)模塊圖

          5 系統(tǒng)的設計實現(xiàn)

            5.1 數(shù)據(jù)服務器的實現(xiàn)

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

           ?。?) Scenery:負責記錄景點的信息。

            

            圖3 scenery

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

            

            圖4 market.

            (3)restaurant:負責記錄餐飲場所的信息。

            

            圖5 restaurant.

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

            

            圖6 restaurant.

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

          5.2 邏輯業(yè)務處理

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

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

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

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

            5.3 客戶端的設計

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

            6 設計結果與分析

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

            

            圖7 景點查詢界面

            

            圖8 地圖定位界面。

            7 結束語

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




          評論


          相關推薦

          技術專區(qū)

          關閉