亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于安卓系統(tǒng)的西北地區(qū)旅游信息查詢系統(tǒng)

        2014-04-29 16:08:42陳德武等
        計算機時代 2014年1期
        關鍵詞:S模式

        陳德武等

        摘 要: 為了方便快捷地為旅客提供旅游信息,設計并開發(fā)了一個基于安卓操作系統(tǒng)的西北地區(qū)旅游信息查詢系統(tǒng)。該系統(tǒng)基于C/S模式,服務器端使用JSP語言和Struts2+Spring+Hibernate開源框架編寫,實現(xiàn)旅游景點信息的瀏覽、添加、修改和刪除,同時為客戶端提供下載和更新數(shù)據(jù)的接口;客戶端為基于Android平臺的智能手機,可以瀏覽、搜索旅游景點信息,也可以通過無線網(wǎng)絡從服務器端下載和更新旅游景點信息。實際應用表明,該系統(tǒng)穩(wěn)定可靠,操作方便,應用前景很廣。

        關鍵詞: Android操作系統(tǒng); 旅游信息查詢; C/S模式; Web Services; JSON

        中圖分類號:TP315 文獻標志碼:A 文章編號:1006-8228(2014)01-74-04

        0 引言

        現(xiàn)在人們生活水平普遍提高,外出旅游成為日常生活的一部分。目前,游客獲取旅游信息的主要方式是咨詢旅行社或者上網(wǎng)查詢,這種方式獲取的旅游信息比較粗略,不直觀,不靈活。隨著3G移動網(wǎng)絡的飛速發(fā)展和安卓智能手機的普及,使游客在安卓智能手機上實現(xiàn)旅游信息方便快捷地查詢成為可能性。本文設計了一種基于安卓系統(tǒng)的西北地區(qū)旅游信息查詢系統(tǒng),并且進行了編碼實現(xiàn),使用該系統(tǒng),只要在無線網(wǎng)絡覆蓋的范圍內(nèi),人們就可以通過安卓手機快捷實時地查詢旅游信息,從而為制定旅游計劃提供決策支持。

        1 Android操作系統(tǒng)

        Android一詞的本義指“機器人”,同時也是Google于2007年11月5日宣布的基于Linux平臺的開源手機操作系統(tǒng)的名稱[1]。Android操作系統(tǒng)采用了分層的架構,它分為四個層,從高層到低層分別是應用程序?qū)?、應用程序框架層、系統(tǒng)運行庫層和Linux內(nèi)核層。

        應用程序?qū)佑梢幌盗蠥ndroid系統(tǒng)內(nèi)置的核心應用程序和用戶開發(fā)的應用程序組成,這些應用程序是開發(fā)人員調(diào)用應用程序框架層的API函數(shù)使用Java語言來開發(fā)的。應用程序框架層包含開發(fā)應用程序所使用的API框架,這些框架包括豐富而又可擴展的視圖、內(nèi)容提供器、資源管理器、通知管理器和活動管理器等,可以開發(fā)出各式各樣的應用。系統(tǒng)運行庫層包含一些C/C++庫,包括音頻視頻庫、2D和3D圖形庫、Web瀏覽器引擎等,這些庫能被Android系統(tǒng)中不同的組件使用,它們通過Android應用程序框架為開發(fā)者提供服務[1]。Linux內(nèi)核層只用來提供基本功能,也就是系統(tǒng)的底層服務,它添加了一個名為Goldfish的虛擬CPU以及Android 運行所需的特定驅(qū)動代碼,包括安全機制、內(nèi)存管理、進程管理、網(wǎng)絡堆棧及一系列的驅(qū)動模塊[2]。

        Android平臺的開放性允許任何移動終端廠商加入到Android聯(lián)盟中來,從而不存在以往任何阻礙移動產(chǎn)業(yè)創(chuàng)新的專有權障礙[2]。Android系統(tǒng)是一個對第三方軟件完全開放的平臺,其代碼完全開源免費,并且開發(fā)其應用程序的Java語言也是開源免費的。

        2 系統(tǒng)架構設計

        該系統(tǒng)采用C/S模式:客戶端為基于Android系統(tǒng)的智能手機,支持無線上網(wǎng),用來從服務器端下載和更新旅游信息;服務器端為1臺PC,所使用的服務器軟件為Apache基金會的Tomcat,可以添加、刪除、修改、查詢旅游信息,并且為手機客戶端提供下載和更新旅游信息的服務。系統(tǒng)整體架構如圖1所示。

        為了減少手機上網(wǎng)次數(shù),節(jié)省移動數(shù)據(jù)流量,使用手機客戶端Android系統(tǒng)自帶的SQLite數(shù)據(jù)庫,存儲旅游信息。用戶使用系統(tǒng)時,首先通過無線網(wǎng)絡和Internet向服務器發(fā)出下載請求,服務器從MySQL數(shù)據(jù)庫中查詢到所要下載的旅游信息,發(fā)送到手機客戶端,手機客戶端將這些旅游信息存儲到SQLite數(shù)據(jù)庫中;當用戶瀏覽旅游信息時,手機客戶端就可以從SQLite數(shù)據(jù)庫中讀取旅游信息,顯示在界面上;當服務器端的旅游信息被修改時,用戶也可以同步更新手機客戶端SQLite數(shù)據(jù)庫中所存儲的旅游信息。

        3 系統(tǒng)軟件設計

        3.1 服務器端軟件設計

        服務器端主要實現(xiàn)旅游景點信息的瀏覽、添加、修改、刪除,同時為客戶端提供下載和更新數(shù)據(jù)的接口,服務器端主界面如圖2所示。服務器端軟件使用MyEclipse集成開發(fā)工具,基于JSP語言和目前流行的Struts2+Spring+Hibernate開源框架編寫,采用MVC開發(fā)模式,分為DAO、Service和Action三層,如圖3所示。DAO層類包含一些對數(shù)據(jù)庫進行增刪改查的細粒度的方法,Service層類的方法調(diào)用DAO層的方法實現(xiàn)業(yè)務邏輯的功能,Action層類的方法調(diào)用Service層類的業(yè)務邏輯方法對客戶端的請求進行處理和響應[3]。

        存儲旅游景點信息的服務器端數(shù)據(jù)庫表結構如圖4所示,手機客戶端數(shù)據(jù)表結構中沒有更新標記字段,其他字段與服務器端相同。其中,所在城市字段是通過省市聯(lián)動的選擇方式獲取,圖片字段存儲的是十幅旅游景點圖片名稱(相鄰兩幅圖片名稱用#隔開),經(jīng)緯度是通過在GoogleMap上點擊旅游景點所在的位置自動獲取的(緯度和經(jīng)度用#分隔)。當添加或修改旅游景點信息時,圖片名稱和其他字段數(shù)據(jù)保存到MySQL數(shù)據(jù)表里,圖片數(shù)據(jù)使用Struts2框架的多文件上傳方式保存到服務器應用目錄的upload文件夾,供手機客戶端下載。更新標記字段標記旅游景點信息是否被修改,如果被修改,設置為1,否則設置為0。

        服務器端為客戶端提供的下載和更新旅游信息的接口為InterestsAction類的一些方法,手機客戶端通過訪問這些方法便可得到所需要的旅游景點信息。

        3.2 手機客戶端軟件設計

        本系統(tǒng)手機客戶端的主要功能是用戶可以瀏覽、下載、更新和搜索旅游景點信息,如圖5所示。本系統(tǒng)客戶端采用Eclipse集成開發(fā)工具下的Android 2.3模擬器插件進行開發(fā),調(diào)用了Android API的GUI組件類庫。

        當用戶進入主界面時,手機客戶端從SQLite數(shù)據(jù)庫中將所有的旅游景點信息查詢出來,用ExpendableListView組件分類顯示,如圖6所示。當用戶瀏覽某個旅游景點信息時,客戶端根據(jù)該旅游景點的名稱從SQLite數(shù)據(jù)庫中查詢到其詳細信息,將一些基本信息顯示到界面上,其他更詳細的信息可通過點擊用GridView組件實現(xiàn)的菜單按鈕來瀏覽,如圖7所示。其中天氣信息查詢使用Web Services技術從中國氣象局的天氣預報Web服務網(wǎng)站http://www.webxml.com.cn/上獲取,如圖8所示。景點地圖瀏覽使用的是GoogleMap API,可以以普通地圖視圖、衛(wèi)星視圖和混合視圖的形式顯示,如圖9所示。顯示景點圖片時,客戶端根據(jù)旅游信息中的圖片名稱字段從SDCard中動態(tài)獲取圖片數(shù)據(jù),以畫廊的形式顯示出來,用戶可以很方便地拖動瀏覽。

        用戶下載旅游景點信息的流程如圖10所示。

        當服務器端的旅游景點信息被修改時,更新標記字段updated被設置為1。用戶更新手機客戶端的旅游景點信息與服務器同步的流程如圖11所示。

        3.3 技術難點

        在用戶瀏覽旅游景點的天氣信息時,使用的是Web Services技術。Web Services是基于網(wǎng)絡的、分布式的模塊化組件,它執(zhí)行特定的任務,遵守具體的技術規(guī)范,這些規(guī)范使得Web Services能與其他兼容的組件進行互操作[4]。使用該技術可以進行天氣預報、股票行情、火車飛機時刻表、郵政編碼以及IP地址等查詢。本系統(tǒng)調(diào)用Web Services使用的是ksoap2庫,ksoap2是JAVA環(huán)境下的一個輕量級Web Services客戶端庫,被設計用在Applets和J2ME中。KSOAP2-Android是其在Android平臺下的移植,它提供了一個高效的SOAP庫,借助于ksoap2我們就能夠訪問Web Services服務[5],本系統(tǒng)使用ksoap2庫查詢天氣信息的具體步驟如下(具體代碼略):

        ⑴ 導入ksoap2-Android的jar包ksoap2-android-assembly-

        2.4-jar-with-dependencies.jar及其依賴庫到工程;

        ⑵ 指定WebService的命名空間和調(diào)用的方法名,然后設置調(diào)用方法的參數(shù)值;

        ⑶ 生成調(diào)用WebService方法的SOAP請求信息,該消息由SoapSerializationEnvelop對象描述;

        ⑷ 創(chuàng)建AndroidHttpTransport對象,并發(fā)送請求給服務器;

        ⑸ 接受服務器相應,并序列化SOAP消息,最后使用getResponse方法獲得WebService方法的返回結果;

        ⑹ 對返回結果進行解析,得到詳細的天氣信息。

        手機客戶端下載和更新每個旅游景點的信息,需要從服務器端下載十幅圖片的數(shù)據(jù),為了提高下載速度,節(jié)約下載時間,本系統(tǒng)采用多線程并行下載的方式。每次下載時,運行五個線程,每個線程下載兩幅圖片。下載線程使用HttpURLConnection連接對象獲得服務器端圖片數(shù)據(jù)的InputStream輸入流,然后從該輸入流中讀取字節(jié)數(shù)據(jù)以RandomAccessFile對象的方式寫到SDCard的文件中。

        當下載旅游景點的詳細信息時,從服務器端向客戶端傳輸?shù)氖锹糜尉包c信息表的一些記錄組成的字符串。為了減少這些字符串所占用的字節(jié)數(shù),并且便于生成和解析,這里使用目前最流行的JSON數(shù)據(jù)格式來表示。JSON(JavaScript Object Notation)是一種輕量級的完全獨立于語言的數(shù)據(jù)交換格式,易于人閱讀和編寫,同時也易于機器解析和生成。它有兩種基礎結構:對象結構和數(shù)組結構。對象結構表示為將一些鍵值對用逗號隔開并將它們用“{}”括起來,數(shù)組結構是將一些字段值用“[]”括起來的表示形式,使用對象、數(shù)組這兩種基礎結構就可以組合成復雜的數(shù)據(jù)結構了。本系統(tǒng)傳輸旅游景點詳細信息所使用的JSON數(shù)據(jù)格式表示為:{"旅游景點信息": [{"旅游景點1": [{"名稱": "名稱1", "類別": "類別1", "所在城市": "所在城市1", …, "圖片名稱": "圖片名稱1", "經(jīng)緯度": "經(jīng)緯度1" }], "旅游景點2": [{ "名稱": "名稱2", "類別": "類別2", "所在城市": "所在城市2", …, "圖片名稱": "圖片名稱2", "經(jīng)緯度": "經(jīng)緯度2"}],... }]}。

        3.4 測試結果

        將本系統(tǒng)客戶端的apk文件安裝到一部某國產(chǎn)安卓手機(雙核1GHz主頻的CPU,512M RAM),服務器端部署到一臺PC的Tomcat服務器軟件上,在無線網(wǎng)絡覆蓋的區(qū)域,用客戶端進行旅游景點信息的瀏覽、下載和更新測試。結果表明,整個系統(tǒng)運行流暢,下載和更新旅游信息的速度也比較快,達到了預期效果。

        4 結束語

        在目前3G移動網(wǎng)絡飛速發(fā)展的條件下,針對普及的安卓智能手機設計并開發(fā)了一款西北地區(qū)旅游信息查詢系統(tǒng)。測試結果表明,該系統(tǒng)運行流暢,操作簡便,具有很高的可用性和可靠性,并且本系統(tǒng)客戶端基于Android平臺開發(fā),還可以移植到裝有安卓操作系統(tǒng)的平板電腦、智能電視等終端上,這種跨平臺的可移植性拓寬了其應用范圍。

        參考文獻:

        [1] 冷威龍.android_百度百科[EB/OL].百度百科.

        [2] 李 琴,陳立定,任志剛.基于Android智能手機遠程視頻監(jiān)控系統(tǒng)的

        設計[J].電視技術,2012.36(7):134

        [3] 符鈺.基于Struts2+Hibemate3+Spring3框架的Web應用研究[J].

        金華職業(yè)技術學院學報,2013.13(3):61

        [4] 張和平.web services_百度百科[EB/OL].百度百科.

        [5] 彭海文.Android Web Services應用研究[J].電腦知識與技術,2011.7

        (12):2851

        猜你喜歡
        S模式
        學生考勤系統(tǒng)開發(fā)
        基于Web的畢業(yè)設計管理系統(tǒng)設計與實現(xiàn)
        軟件導刊(2016年11期)2016-12-22 21:51:04
        以B/S模式為基礎的網(wǎng)絡題庫平臺建設
        明日博客系統(tǒng)的設計與實現(xiàn)
        基于B_S模式的游戲化學習系統(tǒng)研究
        科技視界(2016年25期)2016-11-25 20:45:58
        集團公司OA系統(tǒng)的研究與開發(fā)
        S模式空管二次雷達詢問與監(jiān)視技術研究
        鋁材B2B電子商務系統(tǒng)設計與實現(xiàn) 
        軟件導刊(2016年9期)2016-11-07 21:44:56
        基于ASP.NET的就業(yè)見習管理信息系統(tǒng)設計與實現(xiàn)
        軟件導刊(2016年9期)2016-11-07 18:35:50
        基于B/S模式的數(shù)據(jù)結構實驗平臺設計
        考試周刊(2016年44期)2016-06-21 20:10:03
        亚洲中文字幕高清乱码毛片| 特级毛片a级毛片100免费播放| 色先锋av资源中文字幕| 欧美喷潮久久久xxxxx| 亚洲一区二区精品久久岳| 99视频偷拍视频一区二区三区| 日韩Va亚洲va欧美Ⅴa久久| 亚洲一区二区三区码精品色| 亚洲熟女一区二区三区250p| 国产午夜精品av一区二区麻豆| 久久久久亚洲精品无码网址色欲| 久久久国产精品福利免费| 国产一区二区三区亚洲精品| 国产内射一级一片内射高清视频1 成人av一区二区三区四区 | 丰满少妇又紧又爽视频| 亚洲第一页在线观看视频网站| av黄色在线免费观看| 无码中文亚洲av影音先锋| 老熟妻内射精品一区| 亚洲第一区无码专区| 五月综合丁香婷婷久久| 男人扒开女人下面狂躁小视频 | 在线免费观看毛视频亚洲精品| 日本国产亚洲一区二区| 免费无码中文字幕a级毛片| 久久综合给合久久狠狠狠97色69| 久久精品国产亚洲片| av免费一区二区久久| 久久人人爽av亚洲精品| 天天躁日日躁狠狠躁av| 91久久福利国产成人精品| 久久天堂av综合合色| 国产让女高潮的av毛片| 人妻熟女一区二区三区app下载| 97久久久久人妻精品专区| 97色人阁俺也去人人人人人| 精品极品一区二区三区| 亚洲欧美日韩另类精品一区| 国产精品成人99一区无码| 日韩偷拍视频一区二区三区 | 麻豆精品一区二区综合av|