• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > Android城市導游系統的設計與實現

    Android城市導游系統的設計與實現

    作者: 時間:2012-08-20 來源:網絡 收藏

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

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

      1 引言

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

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

      2 Android 操作系統介紹

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

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

      3 系統框架

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

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

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

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

    圖1 系統架構圖

    圖1 系統架構圖

      4 系統的模塊圖

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

    圖2 系統模塊圖

    圖2 系統模塊圖

    5 系統的實現

    5.2 邏輯業務處理

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

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

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

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

      5.3 客戶端的設計

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

      6 設計結果與分析

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

    圖7 景點查詢界面

    圖7 景點查詢界面

    圖8 地圖定位界面。

    圖8 地圖定位界面。

      7 結束語

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

      5.1 數據服務器的實現

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

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

    圖3 scenery

    圖3 scenery

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

    圖4 market.

    圖4 market.

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

    圖5 restaurant.

    圖5 restaurant.

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

    圖6 restaurant.

    圖6 restaurant.

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



    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 贡嘎县| 嘉祥县| 大庆市| 金乡县| 蒙阴县| 祁阳县| 连州市| 古田县| 连州市| 赞皇县| 青阳县| 罗城| 广西| 眉山市| 博野县| 思茅市| 于都县| 东安县| 通榆县| 阳新县| 大厂| 辽中县| 锡林郭勒盟| 英超| 兴仁县| 安泽县| 赤壁市| 沅江市| 通渭县| 红河县| 建始县| 吉安县| 通海县| 永胜县| 赤城县| 晴隆县| 河南省| 独山县| 澜沧| 永登县| 哈尔滨市|