基于Android的旅游app的設(shè)計(jì)與實(shí)現(xiàn)_第1頁
基于Android的旅游app的設(shè)計(jì)與實(shí)現(xiàn)_第2頁
基于Android的旅游app的設(shè)計(jì)與實(shí)現(xiàn)_第3頁
基于Android的旅游app的設(shè)計(jì)與實(shí)現(xiàn)_第4頁
基于Android的旅游app的設(shè)計(jì)與實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩62頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、 齊 齊 哈 爾 大 學(xué)畢業(yè)設(shè)計(jì)論文 題 目 基于Android的旅游app的設(shè)計(jì)與實(shí)現(xiàn) 學(xué) 院 通信與電子信息工程 專業(yè)班級(jí) 電子XXX 學(xué)生姓名 XXXX 指導(dǎo)教師 XXXX 成 績 2016年 6 月 15 日摘 要 旅游業(yè)的發(fā)展前景是優(yōu)于很多行業(yè)的,它在讓人放松身心的同時(shí)體會(huì)到自然神奇的力量。 本設(shè)計(jì)的主要內(nèi)容是制作一擁有網(wǎng)上預(yù)訂票務(wù),預(yù)訂酒店,語音播報(bào)景點(diǎn)信息,觀看他人旅游攻略,分享自己旅游攻略,評定美食的一款旅游應(yīng)用。它可以幫助想要出行的人們解決一些繁瑣的小事,讓人們出行更加方便。這是一款在Android平臺(tái)上運(yùn)行的旅游app,本文將具體介紹語音模塊,評論模塊,預(yù)訂模塊的設(shè)計(jì)與實(shí)現(xiàn)

2、過程,按照軟件開發(fā)的流程,從客戶端系統(tǒng)的架構(gòu)、相關(guān)模塊的功能進(jìn)行描述。旅游行業(yè)的快速發(fā)展將帶動(dòng)經(jīng)濟(jì)的發(fā)展,本設(shè)計(jì)可以滿足用戶在旅游時(shí)的部分需求,幫助用戶擁有更好的旅游體驗(yàn)。關(guān)鍵詞:旅游;預(yù)訂票務(wù);語音播報(bào);旅游攻略;Android Abstract Tourism development foreground is better than that of many industries,it is to let a person loosen body and mind at the same time feel the natural magic power. The main conten

3、t of this design is to make a online booking ticket,hotel reservation,speec h attractions,travel guides,watching others to share their travel guides,assess food a travel app lication.It can help the people want to travel to solve some complicated things,make people a travel more convenient.This is a

4、 travel app to run on the android platform,this paper will intro duce the specific voice module,comments module,booking module design and implem entati on process,according to the software development process,from the client system architecture e,the function of the related module is described.The r

5、apied development of tourism industry will drive the development of economy,this design can meet the demand of users in the travel part,help the user to have a better travel experience.Key word: Travel; Voice broadcast; Booking tickets; Travel strategy; Android目 錄摘要IAbstractII第1章 緒論11.1 課題選擇的意義及背景11

6、.2 課題國內(nèi)外研究水平21.3 本論文研究內(nèi)容3第2章 相關(guān)技術(shù)概述42.1 相關(guān)概念介紹42.1.1 旅游信息系統(tǒng)42.1.2 導(dǎo)游服務(wù)42.1.3 預(yù)定服務(wù)42.1.4 攻略服務(wù)52.2 Android技術(shù)52.2.1 Android 平臺(tái)52.2.2 Android 體系結(jié)構(gòu)62.2.3 Android 的類介紹6第3章 系統(tǒng)需求分析與總體實(shí)現(xiàn)93.1 系統(tǒng)需求分析93.1.1 系統(tǒng)功能需求分析93.1.2 系統(tǒng)性能需求分析93.1.3 經(jīng)濟(jì)可行性103.1.4 技術(shù)可行性103.2 系統(tǒng)總體實(shí)現(xiàn)103.3 總體設(shè)計(jì)103.4 各模塊設(shè)計(jì)123.5 本章小結(jié)16第4章 軟件詳細(xì)設(shè)計(jì)17

7、4.1 系統(tǒng)整體設(shè)計(jì)174.1.1 服務(wù)器端174.1.2 數(shù)據(jù)庫174.1.3 手機(jī)客戶端設(shè)計(jì)184.2 模塊實(shí)現(xiàn)194.2.1 登錄界面模塊194.2.2 語音導(dǎo)游模塊204.2.3 票務(wù)預(yù)訂模塊224.2.4 酒店預(yù)訂模塊234.2.5 旅游攻略模塊254.2.6 美食點(diǎn)評模塊26第5章 系統(tǒng)的測試285.1 系統(tǒng)測試285.2 測試結(jié)果28結(jié)論31參考文獻(xiàn)32附錄34致謝44 第1章 緒論1.1課題選擇的意義及背景 國家逐年的發(fā)展,公民的經(jīng)濟(jì)越來越好,旅游出行已經(jīng)在越來越多人的年中計(jì)劃里。國家旅游部門預(yù)計(jì)2016年或是旅游人數(shù)最多的一年,大部分居民將出門游玩,其中還有很多人將多次游玩不

8、同的地方;游客的預(yù)期花費(fèi)一般是會(huì)有超出的,三分之一的人將花費(fèi)萬元以上,在2016年全世界的財(cái)政成長趨勢看,旅游業(yè)或許將成為財(cái)政增長最快的行業(yè)之一。 現(xiàn)在旅游行業(yè)不同往日,逐年的高速發(fā)展人們已經(jīng)離不開網(wǎng)絡(luò)了。以前旅游的方法和現(xiàn)在旅游已經(jīng)有很大的不同,互聯(lián)網(wǎng)可以讓人們更好的生活,在想要旅游點(diǎn)擊網(wǎng)絡(luò)就可以獲得大量的旅游攻略、景點(diǎn)介紹、辦理票務(wù)、預(yù)訂酒店等信息,利用網(wǎng)絡(luò)的方便來旅行已經(jīng)是大勢所趨,利用互聯(lián)網(wǎng)對于旅游愛好者來說方便了很多,也節(jié)省了很多的時(shí)間來做一些排隊(duì)買票這類的事,有關(guān)旅游這方面的服務(wù)都得到了經(jīng)濟(jì)上的增長,現(xiàn)在旅游的趨勢是旅游的主要競爭手段轉(zhuǎn)移到了手機(jī)應(yīng)用上,利用手機(jī)的便捷及手機(jī)應(yīng)用的全

9、面性取得了廣大旅游用戶的喜愛?,F(xiàn)在有關(guān)旅游的應(yīng)用軟件主攻的服務(wù)方向不同,其中一類是包容性的,也就是在一個(gè)應(yīng)用上可以選擇多個(gè)應(yīng)用,另外一類具有專攻性質(zhì),如酒店預(yù)訂功能,票務(wù)預(yù)訂功能、旅游攻略功能等,不論它們傾向哪一種,每一位旅行愛好者的手機(jī)中都會(huì)有一款旅游應(yīng)用。現(xiàn)在是物聯(lián)網(wǎng)大數(shù)據(jù)時(shí)代,各種各樣的信息將向每一個(gè)人襲來,手機(jī)中的旅游應(yīng)用也會(huì)提供游客各種有關(guān)旅游的信息1。 大部分使用者都希望有一種全面的旅游手機(jī)應(yīng)用軟件,所以制作手機(jī)旅游軟件需要有更多的實(shí)用功能,任何一個(gè)使用者都可以在軟件中找到自己想要的服務(wù),這就促成了一體化服務(wù)的產(chǎn)生,這些用戶想要功能在一起,就可以讓用戶更加快捷的去旅游,利用一些零散

10、的時(shí)間,完全足夠旅行者了解想要去的地方。這些年來手機(jī)上的旅游應(yīng)用越來越多,讓人們不再以以前單一的旅游方式活動(dòng),旅游是放松人精神的一種活動(dòng),可以讓人們更加熱愛生活享受生活,旅游應(yīng)用逐年的改進(jìn),方便了廣大的旅行愛好者,只要是用戶有可能需要的服務(wù),手機(jī)旅游應(yīng)用中都會(huì)有,這就讓游客感受到旅游是一種純粹的享受生活的方式,現(xiàn)在人們使用的手機(jī)應(yīng)用有很多。在科技飛速發(fā)展的今天,我們已經(jīng)離不開網(wǎng)絡(luò),手機(jī)旅游應(yīng)用中的各種功能不斷改善,越來越強(qiáng)大,各種旅游軟件公司都想讓自己在旅游業(yè)有更強(qiáng)的競爭力,讓更多的用戶使用它們的產(chǎn)品。網(wǎng)絡(luò)與手機(jī)的結(jié)合使旅行更加方便,因此旅游應(yīng)用軟件也越來越火爆,成為了人們必備的手機(jī)應(yīng)用2。1

11、.2課題國內(nèi)外研究水平 電子商務(wù)可以將信息流、商流、資金流進(jìn)行有效的管理,提高產(chǎn)業(yè)鏈的工作效率并降低成本。旅游業(yè)是最適合開展電子商務(wù)的行業(yè)之一,通過先進(jìn)的網(wǎng)絡(luò)技術(shù)手段提高企業(yè)內(nèi)部、企業(yè)之間、企業(yè)與消費(fèi)者之間的信息交流與溝通,改進(jìn)旅游業(yè)的業(yè)務(wù)工作流程,所以電子商務(wù)對旅游業(yè)的發(fā)展具有深遠(yuǎn)的意義。發(fā)達(dá)國家和地區(qū)在這方面已經(jīng)取得了巨大的成效。歐美發(fā)達(dá)國家,旅游電子商務(wù)已經(jīng)成為整個(gè)電子商務(wù)領(lǐng)域最大、最突出的部分。資料顯示,全球旅游電子商務(wù)連續(xù)5年以35%以上的速度增長,一度占到全球電子商務(wù)總額20%以上。 與國外相比,我國旅游電子商務(wù)起步稍晚,1996年才開始出現(xiàn)專業(yè)的旅游網(wǎng)站,其后旅游電子商務(wù)快速發(fā)展

12、,到2000年進(jìn)入第一個(gè)高潮期,但在2001年由于受世界旅游業(yè)整體負(fù)增長形勢的影響,中國的旅游業(yè)在這一年經(jīng)歷了一定的困境,增長速度有所下降;2002年中國旅游業(yè)又開始整體回升,到2005年Web2.0的刺激下掀起了新的一輪旅游電子商務(wù)熱,自此又進(jìn)入了一個(gè)新的“加速發(fā)展期”。目前,我國具有一定旅游資訊能力的網(wǎng)站已有5000多家。其中專業(yè)旅游300余家,主要包括地區(qū)性網(wǎng)站、專業(yè)網(wǎng)站和門戶網(wǎng)站的旅游頻道3大類。但是,旅游電子商務(wù)還處在初級(jí)階段,與發(fā)達(dá)國家相比還存在較大差距國內(nèi)登錄過旅游網(wǎng)站的網(wǎng)民占網(wǎng)民總數(shù)的比例較小,而進(jìn)行過網(wǎng)上旅游預(yù)訂的網(wǎng)民比例更小。我國旅游業(yè)應(yīng)用電子商務(wù)系統(tǒng)的總體發(fā)展水平很低,信

13、息服務(wù)能力有限,網(wǎng)絡(luò)營銷僅僅是一種時(shí)尚,消費(fèi)者的培育,旅游電子商務(wù)軟、硬件環(huán)境的成熟和政府政策法規(guī)的建設(shè)等等都是急待解決的問題。作為一個(gè)擁有豐富旅游資源的大國,我國有望借助先進(jìn)的信息化手段幫助旅游業(yè)實(shí)現(xiàn)迅猛增長,迎來更大的飛躍。目前,國內(nèi)外對傳統(tǒng)PC網(wǎng)絡(luò)旅游信息搜尋研究已較為充分。國外研究的重點(diǎn)主要集中在網(wǎng)絡(luò)旅游信息需求與搜尋動(dòng)機(jī)、搜尋內(nèi)容偏好、搜尋行為特征、搜尋者特性和網(wǎng)絡(luò)旅游信息源等5個(gè)方面。國內(nèi)在借鑒國外研究的基礎(chǔ)上,進(jìn)行了許多實(shí)證研究。如李君軼、楊敏對西安國內(nèi)游客的網(wǎng)絡(luò)信息搜索行為進(jìn)行了研究;胡興報(bào)和蘇勤研究了黃山游客的網(wǎng)絡(luò)信息搜索行為;岑成德、梁婷則是基于廣州高校大學(xué)生對我國年輕旅游

14、者的網(wǎng)絡(luò)搜索行為進(jìn)行了探討。近些年,國內(nèi)外學(xué)者也對移動(dòng)互聯(lián)網(wǎng)的信息搜索領(lǐng)域的開始關(guān)注。瑞森杰等基于技術(shù)接受理論,發(fā)現(xiàn)用戶對移動(dòng)旅游指南的信息存在偏見。金和帕克的研究發(fā)現(xiàn)旅游經(jīng)驗(yàn)和技術(shù)經(jīng)驗(yàn)與知覺有用性和易用性正相關(guān),并與旅游者對移動(dòng)設(shè)備的使用態(tài)度和在旅游方面使用移動(dòng)設(shè)備的意圖也成正相關(guān)。我國的葉燕芳基于3G時(shí)代的背景,通過比較不同形式的網(wǎng)絡(luò)信息搜索行為,提出3G時(shí)代旅游信息搜索行為的新特點(diǎn),建立了旅游信息搜索的模擬過程3。綜上所述,目前國內(nèi)外鮮有對消費(fèi)者通過旅游app信息檢索的研究。本文在借鑒相關(guān)研究成果的基礎(chǔ)上,構(gòu)建出以利用旅游app信息搜索努力為因變量,以易用性、無處不在性、搜索風(fēng)險(xiǎn)、用戶創(chuàng)

15、新意識(shí)、產(chǎn)品知識(shí)、網(wǎng)絡(luò)信任、智能手機(jī)涉入為自變量的理論模型并提出假設(shè)。通過抽樣問卷調(diào)查的方式,探究各因素的影響原因,從而發(fā)現(xiàn)消費(fèi)者使用旅游app信息搜尋行為的影響因素之間的關(guān)系,希望對消費(fèi)者提供一些啟示并對我國旅游app的定位與開發(fā)提出一些想法。1.3本論文研究內(nèi)容 本設(shè)計(jì)共分5個(gè)章節(jié)來進(jìn)行敘述,各章的主要內(nèi)容如下:第1章介紹了課題的意義及背景還有國內(nèi)外研究水平,并敘述了旅游業(yè)的發(fā)展前景。第2章介紹了本設(shè)計(jì)使用的相關(guān)技術(shù),在理論上對本設(shè)計(jì)是否可以完成做出了預(yù)想。第3章介紹了設(shè)計(jì)的需求分析和總體設(shè)計(jì)如何實(shí)現(xiàn),考慮到了設(shè)計(jì)的需求關(guān)系與大體上怎么實(shí)現(xiàn)功能。第4章介紹了模塊功能的實(shí)現(xiàn),本章展示了模塊所

16、要實(shí)現(xiàn)的功能。第5章介紹了軟件的測試結(jié)果,通過真機(jī)運(yùn)行實(shí)現(xiàn)了想要達(dá)到的功能。 第2章 相關(guān)技術(shù)概述2.1 相關(guān)概念介紹 2.1.1 旅游信息系統(tǒng) 隨著信息化在國內(nèi)外旅游業(yè)的廣泛應(yīng)用,旅游信息系統(tǒng) TIS(Tourism InformationsSystem)應(yīng)運(yùn)而生。它是以人為主導(dǎo),利用計(jì)算機(jī)硬件、軟件、網(wǎng)絡(luò)通信設(shè)備以及其他辦公設(shè)備,進(jìn)行各種旅游資源數(shù)據(jù)的收集、傳輸、分析、模擬、處理及應(yīng)用的信息系統(tǒng)。按照旅游服務(wù)對象的不同,TIS可分為:MIS(Manage Information System)和DIS (D-estination Information System)兩類4。MIS是來進(jìn)行

17、各行業(yè)之間的信息更新和傳遞,主要是旅游管理部門和旅游供應(yīng)商;DIS主要是為游客和旅行商提供基于目的地旅游信息查詢的相關(guān)服務(wù)。根據(jù)網(wǎng)絡(luò)方式旅游目的地信息系統(tǒng)DIS又可分為旅游目的地網(wǎng)絡(luò)營銷系統(tǒng)和非網(wǎng)絡(luò)環(huán)境下的自助電子導(dǎo)游系統(tǒng)、旅游地理信息系統(tǒng)等。隨著電子商務(wù)技術(shù)的不斷發(fā)展,非網(wǎng)絡(luò)環(huán)境的DIS逐漸被網(wǎng)絡(luò)網(wǎng)絡(luò)拓展功能所替代,如游客利用網(wǎng)絡(luò)進(jìn)行網(wǎng)上預(yù)訂的電子導(dǎo)游系統(tǒng)等。 2.1.2 導(dǎo)游服務(wù) 到有這類服務(wù)主要是指專業(yè)人員對需要旅行的游客進(jìn)行對景點(diǎn)的講解,讓游客更加了解旅游景區(qū),并且不讓游客在景點(diǎn)迷失方向,提供的向?qū)ь惙?wù)。 我國逐年的快速成長體現(xiàn)在個(gè)個(gè)方面,在科技方面尤為突出,導(dǎo)游的形勢也變得更加高大

18、上。需要導(dǎo)游的人群逐年增加,但有一些喜歡獨(dú)自旅行,為了解決這個(gè)問題,語音導(dǎo)游功能應(yīng)運(yùn)而生,它可以幫助人們了解景點(diǎn)的背景,讓游客了解到景點(diǎn)背后的故事,能更好的享受旅行。利用網(wǎng)絡(luò),游客還可以得到地圖功能,游客也不用擔(dān)心走失,不知道自己確切的方位。 2.1.3 預(yù)定服務(wù) 現(xiàn)在預(yù)訂已經(jīng)是一個(gè)被大部分人所接受的一個(gè)功能,相信大部分人都用過預(yù)訂這個(gè)功能,從我們的日常出發(fā),預(yù)訂已經(jīng)無處不在,如果你想去一家非常火爆的飯店或者其他火爆的地方,你不預(yù)定位置,那么你或許要等待很長一段時(shí)間,因?yàn)榛鸨姆?wù)單位不缺少顧客,但是特定時(shí)間也許會(huì)有空閑位置,大部分人不了解這個(gè)時(shí)間段有空缺,所以大家都擠到一個(gè)時(shí)間段,這樣造成的

19、結(jié)果就是,少數(shù)人如愿以償?shù)牡玫搅朔?wù),大部分人只能等待,浪費(fèi)大量的時(shí)間與精力,很不科學(xué)也很不高效,但是如果應(yīng)用預(yù)訂功能那就可以讓人們的生活更加高效,用戶可以預(yù)先定好,讓提供服務(wù)的地方有準(zhǔn)備,讓更多的用戶能合理的安排時(shí)間,這類預(yù)訂服務(wù)有很多,比如預(yù)訂火車票,如果用戶進(jìn)行了預(yù)訂,那么就不用排隊(duì)去購票窗口買票務(wù),直接到取票機(jī)器那里付款取票,方便快捷,因?yàn)樵谌∑敝肮窬鸵呀?jīng)挑選好了票務(wù),不需要再進(jìn)行選取票務(wù),只需要完成最后的步驟付款取票,這樣就算很多人都來取票,那也可以很快的完成用戶的需求。由此可見預(yù)訂功能可以幫助用戶節(jié)約時(shí)間,大大的提升了用戶的生活節(jié)奏。 2.1.4 攻略服務(wù) 現(xiàn)在生活中各種各樣的

20、攻略已經(jīng)是非常多,攻略就是其他人的經(jīng)驗(yàn)之談,可以是筆者的想法,也可以是一段有價(jià)值的客觀描述。比如你想要出游,那么你可以查看其他人的攻略,攻略之中可以讓你了解到你想去的景點(diǎn)的旅游風(fēng)景是怎樣的,也可以了解到目的地哪些風(fēng)景是最值得看的,幫助你了解到你不知道的網(wǎng)絡(luò)上也查不到的一些潛在旅游時(shí)遇到的情況,幫助你更快更好的旅游,少走一些彎路,這些攻略將幫助你做好提前準(zhǔn)備。2.2 Android技術(shù) 2.2.1 Android平臺(tái) Android手機(jī)操作系統(tǒng)是由谷歌公司于2007年正式推出的,最大的特點(diǎn)是平臺(tái)的真正開放性。到目前為止,Android手機(jī)操作系統(tǒng)的最新版本為4.0,具有廣泛的應(yīng)用和發(fā)展前景。An

21、droid系統(tǒng)的使用率占據(jù)全球智能手機(jī)系統(tǒng)將近80%的份額,尤其在中國市場的占有率更高,接近90%,與其他手機(jī)操作系統(tǒng)相比,Android具有最大的優(yōu)點(diǎn)就在于它的開放性和平臺(tái)開發(fā)的便捷性,不同的廠商可以根據(jù)自己的需求對平臺(tái)進(jìn)行擴(kuò)展開發(fā),而且無需支付任何費(fèi)用。采用Android操作系統(tǒng)的智能手機(jī)越來越受到人們的青睞。Android是以Linux系統(tǒng)為基礎(chǔ),能更好地滿足電腦愛好者的需求。另外Android的安全性也比較完善5。 以Android為開發(fā)平臺(tái),Android以Java為編程語言,使接口到功能,都有層出不窮的變化,其中Activity等同于MIDlet,一個(gè)Activity負(fù)責(zé)創(chuàng)建視窗,

22、一個(gè)活動(dòng)中的Ac -tivity就是在 foreground模式,背景運(yùn)行的程序叫做Service6。兩者之間通過由Service和AIDL連結(jié),達(dá)到復(fù)數(shù)程序同時(shí)運(yùn)行的效果。如果運(yùn)行中的Activity全部畫面被其他 Activity 取代時(shí),該Activity便被停止,甚至被系統(tǒng)清除。View等同于Displayable,程序人員可以通過 View 類與“XML layout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實(shí)Widget只是View的一種,所以可以使用xml來設(shè)計(jì)layout,HTC的Android Hero手機(jī)即含有大

23、量的widget。至于ViewGroup 是各種layout 的基礎(chǔ)抽象類(abstract class),ViewGroup之內(nèi)還可以有ViewGroup。View的構(gòu)造函數(shù)不需要再Activity中調(diào)用,但是Displayable的是必須的,在Activity中,要通過findViewById()來從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的7。View與事件息息相關(guān),兩者之間通過Listener結(jié)合在一起,每一個(gè)View都可以注冊一個(gè)event listener,例如:當(dāng)View要處理用戶觸碰的事件時(shí),就要向Android框架注冊View.OnCl

24、ickListener。 (1)一次編寫,到處運(yùn)行。在這一點(diǎn)上Java比PHP更出色,在不同的軟件平臺(tái)上運(yùn)行,代碼不用做任何更改。 (2)軟件的多平臺(tái)支持。基本上可以在所有平臺(tái)上的任意環(huán)境中開發(fā),在任意環(huán)境中進(jìn)行軟件不是和運(yùn)行。相比ASP/PHP的局限性是顯而易見的。 (3)強(qiáng)大的可伸縮性。從只有一個(gè)小的Jar文件就可以運(yùn)行Servlet/JSP,到由多臺(tái)服務(wù)器進(jìn)行集群和負(fù)載均衡,到多臺(tái)Application進(jìn)行事務(wù)處理,消息處理,一臺(tái)服務(wù)器到無數(shù)臺(tái)服務(wù)器,Java顯示了一個(gè)巨大的生命力。 (4)多樣化和功能強(qiáng)大的開發(fā)工具支持。這一點(diǎn)與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許

25、多可以免費(fèi)得到,并且其中許多已經(jīng)可以順利的運(yùn)行于多種平臺(tái)之下。2.2.2 Android 體系結(jié)構(gòu) Android手機(jī)操作系統(tǒng)平臺(tái)整合了操作系統(tǒng)、中間件和應(yīng)用程序三大塊。Android操作系統(tǒng)之所以會(huì)受到各廠家的青睞,真是因?yàn)樗恼嬲_放的優(yōu)越性。Android的架構(gòu)軟件層次結(jié)構(gòu)自上而下共分為以下4個(gè)層。 應(yīng)用程序(Application)主要是用來設(shè)計(jì)用戶操作界面的,用Java語言來編寫,主要是被用戶訪問。Android自身提供了一些核心的應(yīng)用程序,如主屏幕、聯(lián)系人、電話、瀏覽器等,因?yàn)锳ndroid是開放式的操作系統(tǒng),所以用戶可以根據(jù)自己的要求,利用已有的框架來編譯、開發(fā)程序。Androi

26、d應(yīng)用程序中UI組件所需的控件首先由本層提供。如View,包括了列表、文本框、按鈕等,這些組件構(gòu)成了程序的視圖部分8。 應(yīng)用程序框架(Application Framework),開發(fā)者接觸最多的就是應(yīng)用程序框架,它給開發(fā)者提供了應(yīng)用程序?qū)拥腁PI,開發(fā)者在開發(fā)時(shí)都是基于框架的。其上層的應(yīng)用程序基本都是以Java語言來編譯的,應(yīng)用程序框架提供所有用戶界面設(shè)計(jì)所需的控件。終端界面能夠顯示出來讓用戶看到的的所有圖形都是些文本框、按鈕和列表等控件,它們組成了應(yīng)用程序的界面系統(tǒng)。開發(fā)者在開發(fā)時(shí)可以完全通過應(yīng)用程序框架的視圖系統(tǒng)、電話管理器等各個(gè)部分來進(jìn)行軟件的開發(fā)9。操作系統(tǒng)層(OS)Android

27、SDK是運(yùn)行于Linux上的,它只是以Linux內(nèi)核來管理硬 件資源的,不同于Linux。Linux內(nèi)核同時(shí)作為軟、硬件棧間的抽象層,進(jìn)行相互溝通 的工作10。 庫和Android運(yùn)行環(huán)境,通過Android平臺(tái)來開發(fā)程序的過程,是由各類組件來調(diào)用Android的后臺(tái)庫來實(shí)現(xiàn)系統(tǒng)開發(fā)的。2.2.3 Android 的類介紹 Android手機(jī)區(qū)別于其它一些智能手機(jī)就在于它有自己的組件。本段內(nèi)容就會(huì)對于Android的部分組件作詳細(xì)的介紹。 Activity是進(jìn)行Android平臺(tái)開發(fā)時(shí)所有程序的根本,它在Android應(yīng)用中主要是用來創(chuàng)建和顯示窗口的。系統(tǒng)的用戶界面就是一個(gè)Activity對象

28、,作一個(gè)很形象的比喻,在手機(jī)游覽器中一個(gè)網(wǎng)頁就是一個(gè)Activity。一般,一個(gè)Android應(yīng)用會(huì)包含很多個(gè)Ac -tivity,它們之間是可以自由地進(jìn)行相互跳轉(zhuǎn)的,就像網(wǎng)頁的跳轉(zhuǎn)一樣。但和網(wǎng)頁跳轉(zhuǎn)之間的不同之處就是,Activity之間的跳轉(zhuǎn)是可能有返回值的11。 系統(tǒng)中的Activity可以通過一個(gè)activity棧來進(jìn)行管理。當(dāng)一個(gè)新的activity啟動(dòng)的時(shí)候,它首先會(huì)被放置在activity棧頂部并成為running狀態(tài)的activity,之前的activity也在activity棧中,但總是被保存在它的下邊,只有當(dāng)這個(gè)新的activity退出以后之前的activity才能重新回到

29、前景界面12。Android中每個(gè)activity都是一個(gè)用戶界面,要想實(shí)現(xiàn)各界面之間的轉(zhuǎn)換就需用到A ndroid的Intent類。Intent類運(yùn)行時(shí)包含兩個(gè)部分,動(dòng)作和動(dòng)作對應(yīng)的數(shù)據(jù)。Activity有兩個(gè)方面,既可以調(diào)用其他請求,也可以被其它請求調(diào)用。在設(shè)計(jì)開發(fā)系統(tǒng)時(shí),Activity主要負(fù)責(zé)窗口的創(chuàng)建工作,其次利用Set Content View方法將窗口顯示出來,實(shí)現(xiàn)與用戶的交互。 Intent Receiver,Activity是不可以直接用來接收系統(tǒng)的廣播消息的,這時(shí)可以在系統(tǒng)中注冊一個(gè)Intent Receiver對象。當(dāng)有滿足條件的Intent事件到來時(shí),將激活I(lǐng)ntent

30、 Receiver,不管這個(gè)進(jìn)程是運(yùn)行還是沒有運(yùn)行,都能正常接收到其他應(yīng)用發(fā)來的Intent 或者廣播消息。如果系統(tǒng)正處于一個(gè)運(yùn)行狀態(tài)中,當(dāng)有Intent請求時(shí),系統(tǒng)會(huì)自動(dòng)在適當(dāng)?shù)臅r(shí)候啟動(dòng)被觸發(fā)的請求。一個(gè)Intentreceiver廣播可以被反復(fù)通過Context.broadcast In tent()廣播給其他的一些應(yīng)用。 Service級(jí)別和Activity差不多,都是Android的四大組件之一,一般使用Service實(shí)現(xiàn)后臺(tái)的一些長期運(yùn)行的應(yīng)用程序的服務(wù)工作。雖然是用戶看不見的,但在系統(tǒng)運(yùn)行中的作用卻是非常重要的。Service不能自己運(yùn)行而只能在后臺(tái)運(yùn)行,它可以和其它組件進(jìn)行交互。

31、Service的啟動(dòng)有兩種方式:第一種是通過調(diào)用Context.Start Service( )啟動(dòng)與調(diào)用Context.Stop Service()結(jié)束,第二種是調(diào)用Context.Bind Service()啟動(dòng),調(diào)用和Con text Unbind Service()結(jié)束,這二種方法可以混合使用13。 Map Activity類是專門用來管理和顯示地圖視圖的。Map Activity中兩個(gè)類Get Point類和Map Controller類。Get Point類是用來存儲(chǔ)經(jīng)度和緯度信息的。Map Controller類,顧名思義就是地圖控制的一個(gè)工具,用來管理地圖的縮放。 Conten

32、t Provider,在Android中,所有的數(shù)據(jù)都是私有的,要想實(shí)現(xiàn)在各個(gè)應(yīng)用程序中自由地使用各類數(shù)據(jù),Android中的Content Provider則可以實(shí)現(xiàn),它通過統(tǒng)一的標(biāo)準(zhǔn)的接口進(jìn)行每個(gè)應(yīng)用中各類數(shù)據(jù)的共享。外界可根據(jù)權(quán)限級(jí)別利用一套標(biāo)準(zhǔn)統(tǒng)一的接口和程序?qū)?shù)據(jù)進(jìn)行共享。Map View類是只能通過Map Activity組件來創(chuàng)建的,其作用是用來顯示地圖界面的。當(dāng)游客用手指在手機(jī)屏幕上觸摸時(shí),可以以縮放和移動(dòng)的方式來調(diào)整地圖,也可以在地圖上做標(biāo)識(shí)。移動(dòng)設(shè)備上電子地圖可以是衛(wèi)星、交通、街景三種模式來顯示,并且Map View要想連接網(wǎng)絡(luò)必須通過由Map Activity管理的后臺(tái)線

33、程來控制。 一般來說一個(gè)完整的Android應(yīng)用程序應(yīng)該包含Activity、Intent Receiver、Service、Content Provider和每個(gè)Android應(yīng)用所相應(yīng)的配置文件XML14。 第3章 系統(tǒng)需求分析與總體實(shí)現(xiàn) 3.1 系統(tǒng)需求分析 需求分析是設(shè)計(jì)一個(gè)系統(tǒng)的起點(diǎn),要實(shí)現(xiàn)一個(gè)系統(tǒng),應(yīng)首先進(jìn)行需求分析,分析結(jié)果是否正確地反映出了用戶的實(shí)際需求。需求分析不但直接影響后面各階段的設(shè)計(jì),更影響到設(shè)計(jì)成果的合理性、實(shí)用性。在本階段,主要任務(wù)就是解決“系統(tǒng)必須做什么”的問題,該階段的工作是確定系統(tǒng)的使用對象、范圍、系統(tǒng)應(yīng)具備哪些功能的前提,也就是對系統(tǒng)提出準(zhǔn)確性、完整性的目標(biāo)

34、要求。這篇論文介紹了旅游體系的手機(jī)軟件,能夠?qū)κ褂谜咴诼眯械钠陂g提供景點(diǎn)提供語音介紹、預(yù)訂票務(wù)、預(yù)訂酒店、查看旅游攻略和美食點(diǎn)評這些功能。 3.1.1 系統(tǒng)功能需求分析 (1)想要實(shí)現(xiàn)安卓地圖插孔功能,可以實(shí)現(xiàn)對地圖的界面控制。 (2)安卓體系能夠自己擁有定位功能,使用者發(fā)出請求,將發(fā)回?cái)?shù)據(jù),來幫助使用者確定自己的位置。 (3)安卓體系與互聯(lián)網(wǎng)相結(jié)合,可以連接使用者端與管理者端,讓兩者相互之間可以連接互傳數(shù)據(jù)。(4) 安卓體系與互聯(lián)網(wǎng)結(jié)合,可以進(jìn)行票務(wù)預(yù)訂及酒店預(yù)訂功能,通過管理者端可以對這些功能結(jié)果進(jìn)行查看。 (5)安卓體系通過服務(wù)模塊對旅游攻略和美食評定進(jìn)行設(shè)計(jì),用戶端可以對其編寫和查看。

35、 3.1.2 系統(tǒng)性能需求分析 實(shí)用性需求:系統(tǒng)設(shè)計(jì)要充分考慮到系統(tǒng)的實(shí)用性,系統(tǒng)開發(fā)周期要短,要盡量降低開發(fā)投資成本,操作起來應(yīng)簡單易學(xué),具有一定的實(shí)用性。 運(yùn)行時(shí)間需求:整個(gè)系統(tǒng)采用的是B/S模式,為保證系統(tǒng)的運(yùn)行速度,在單個(gè)操作運(yùn)行時(shí)間上有所規(guī)定。本地單個(gè)操作運(yùn)行時(shí)間要少于100ms,網(wǎng)絡(luò)正常時(shí)與服務(wù)器通信的操作時(shí)間要少于200ms,地圖更新時(shí)間不得超過5s15。 可靠性需求:本系統(tǒng)對服務(wù)器有嚴(yán)格的要求,服務(wù)器一直要處于工作運(yùn)行狀態(tài),不能出現(xiàn)死機(jī)的情況,而手機(jī)客戶端軟件工作要實(shí)現(xiàn)連續(xù)工作7天不出錯(cuò)。在有單個(gè)用戶請求出現(xiàn)錯(cuò)誤時(shí)不能影響整個(gè)服務(wù)器的其他工作??梢浦残院涂蓴U(kuò)充性需求:系統(tǒng)在設(shè)計(jì)

36、上要充分考慮到系統(tǒng)的功能和業(yè)務(wù)的擴(kuò)展性支持二次開發(fā)16。 并發(fā)性需求:服務(wù)器端處理作業(yè)并發(fā)度10以下的作業(yè)時(shí)不會(huì)造成業(yè)務(wù)動(dòng)作的丟失情況,運(yùn)行并發(fā)度大于10的作業(yè)時(shí)不能造成系統(tǒng)出錯(cuò)的情況。3.1.3 經(jīng)濟(jì)可行性個(gè)人制作安卓體系是免費(fèi)的,不需要使用者花費(fèi)任何金錢。如果是投資方想要制作安卓體系,那么他們需要支付電腦的費(fèi)用和服務(wù)器的費(fèi)用等,然而他們是以盈利為目的,所以這些花銷他們完全可以承受,因?yàn)樗麄兊睦麧櫴蔷薮蟮摹?.1.4 技術(shù)可行性 完成此安卓體系需要技術(shù)支持,這決定了安卓體系是否能夠成功設(shè)計(jì)并完成。我所用的編譯代碼是Java,它主要的特點(diǎn)就是方便進(jìn)行測試,它可以在多種平臺(tái)中得到廣泛應(yīng)用,因此本

37、設(shè)計(jì)可以完成。3.2 系統(tǒng)總體實(shí)現(xiàn) 下面是本系統(tǒng)主要完成的功能: (1)登錄功能:游客首先要進(jìn)行身份驗(yàn)證,在登錄界面輸入自己的用戶名和密碼,向系統(tǒng)進(jìn)行提交,如果登錄成功,則會(huì)進(jìn)行入系統(tǒng)功能界面,若登錄不成功則繼續(xù)顯示登錄界面。 (2)景點(diǎn)介紹功能:系統(tǒng)首先要設(shè)置好景點(diǎn)位置坐標(biāo)的一個(gè)數(shù)據(jù)范圍,當(dāng)用戶點(diǎn)擊景點(diǎn)后,將發(fā)出請求來獲取語音資源,獲得語音資源后將播放景點(diǎn)介紹。 (3)辦理票務(wù)功能:用戶選擇模塊,輸入想要去的目的地,系統(tǒng)將會(huì)篩選出有關(guān)目的地的所有票務(wù),用戶選擇自己想要的票務(wù)即可預(yù)訂成功。 (4)預(yù)訂酒店功能:用戶選擇模塊,輸入想要酒店,系統(tǒng)將會(huì)篩選出有關(guān)酒店的所有信息,用戶選擇自己想要的酒店

38、即可預(yù)訂成功。 (5)旅游攻略功能:用戶選擇模塊,即可看到所有攻略,點(diǎn)擊想要觀看的攻略就可以成功進(jìn)入觀看,用戶也可以自己添加自己的攻略。 (6)美食評論功能:用戶選擇模塊,即可看到所有美食,點(diǎn)擊想要觀看的美食就可以成功進(jìn)入觀看,用戶也可以自己添加自己的美食攻略。3.3 總體設(shè)計(jì) (1)用戶功能模塊:系統(tǒng)提供下面的功能見下圖3-1所示:用戶登錄 語音導(dǎo)游辦理票務(wù)酒店預(yù)訂旅游攻略美食點(diǎn)評火車票門票飛機(jī)票 圖3-1 用戶功能模塊圖 (2) 管理員功能模塊:系統(tǒng)提供下面功能見下圖3-2所示: 管理員添加票務(wù)添加酒店票務(wù)訂單酒店訂單圖3-2 管理員功能模塊圖 主界面的模塊是所有模塊的交集,通過主界面可以

39、查看任意模塊的功能詳情,預(yù)訂票務(wù)、預(yù)訂酒店、語音導(dǎo)游、旅游攻略和美食點(diǎn)評五個(gè)模塊作為客戶端的主要功能模塊,滿足了客戶在景點(diǎn)時(shí)對景點(diǎn)的背景了解,對其他用戶旅游體會(huì)的了解,以及預(yù)訂票務(wù)酒店的快捷功能。預(yù)訂票務(wù)模塊提供了預(yù)訂火車票、門票和飛機(jī)票的功能,讓你的旅途不必浪費(fèi)在無聊的辦票環(huán)節(jié)上,預(yù)訂酒店模塊同預(yù)訂票務(wù)模塊的目的一樣,讓用戶快捷的辦理預(yù)訂,節(jié)約時(shí)間。語音導(dǎo)游模塊提供地圖功能并且具有語音介紹功能,用戶到達(dá)景點(diǎn),只需輕輕點(diǎn)擊屏幕景點(diǎn)位置,即可得到景點(diǎn)的語音介紹功能,用戶在觀看景點(diǎn)風(fēng)景之余就可以了解景點(diǎn)背景,旅游攻略模塊提供了用戶自由言論的空間,在這里,用戶可以說自己旅游時(shí)的心得體會(huì),讓其他游客感

40、受到自己旅游時(shí)的心境,也可以觀看他人攻略,感受其他人的想法,對于沒有出行的用戶也可以起到提前了解目的地的功能。美食點(diǎn)評模塊提供了用戶對于美食的評價(jià),去旅游,吃當(dāng)?shù)靥厣澄锸遣豢扇鄙俚沫h(huán)節(jié),用戶可以自己發(fā)表對食物的看法,同時(shí)也可以看別人的點(diǎn)評,來選擇自己想要吃的食物。3.4 各模塊設(shè)計(jì) 登錄模塊:打開應(yīng)用,用戶輸入賬號(hào)密碼,若賬號(hào)密碼都正確,則用戶登錄成功,進(jìn)入主界面,若賬號(hào)密碼有誤,則登錄失敗,還留在登錄界面,此時(shí)用戶需要重新注冊賬號(hào)密碼,用新的正確賬號(hào)密碼登錄即可,下圖3-3是登錄模塊流程圖。開始 N登錄界面驗(yàn)證賬號(hào)密碼Y注冊登錄成功主界面結(jié)束 圖3-3 登錄模塊流程圖 語音導(dǎo)游模塊:點(diǎn)擊進(jìn)

41、入語音導(dǎo)游模塊,可以看到百度地圖,在旅游的過程中,用戶可以選擇語音播報(bào)旅游景點(diǎn)的信息,以便用戶更輕松的了解景點(diǎn)背景,但有一些游客不喜歡語音播報(bào),而喜歡自己來觀看景點(diǎn)信息,這樣會(huì)讓他們享受旅游過程的樂趣。圖3-4是語音導(dǎo)游模塊的流程圖。 開始確定用戶所在位置點(diǎn)擊語音按鈕 讀取語音數(shù)據(jù)進(jìn)行語音介紹結(jié)束圖3-4 語音導(dǎo)游流程圖 票務(wù)預(yù)訂模塊:點(diǎn)擊進(jìn)入票務(wù)預(yù)訂模塊,可以選擇想要購買的票務(wù),共三種選擇,即火車票、飛機(jī)票和門票,選擇完畢后,用戶打出所需票務(wù)關(guān)鍵詞即可得到想要票務(wù)的信息,提交所選票務(wù)就可以成功預(yù)訂票務(wù)。圖3-5是票務(wù)預(yù)訂模塊的流程圖。 開始N火車票源飛機(jī)票源YNY輸入關(guān)鍵字門票Y結(jié)束車次信息

42、顯示 提交所選票務(wù) 圖3-5 票務(wù)預(yù)訂流程圖 酒店預(yù)訂:點(diǎn)擊進(jìn)入酒店預(yù)訂模塊,用戶打出所需酒店關(guān)鍵詞即可得到想要酒店的信息,提交所選酒店就可以成功預(yù)訂酒店。圖3-6是酒店預(yù)訂模塊的流程圖。 開始輸入酒店名選擇酒店提交訂單結(jié)束 圖3-6 酒店預(yù)訂 旅游攻略:點(diǎn)擊進(jìn)入旅游攻略界面,可以選擇觀看他人攻略,也可以分享自己的攻略。圖3-7是旅游攻略模塊的流程圖。開始 進(jìn)入旅游攻略N子程序Y添加旅游攻略查看攻略結(jié)束圖3-7 旅游攻略 美食點(diǎn)評:點(diǎn)擊進(jìn)入美食點(diǎn)評界面,可以選擇觀看美食攻略也可以分享自己的美食攻略。圖3-8是美食點(diǎn)評模塊的流程圖。開始 進(jìn)入美食點(diǎn)評N子程序Y分享美食點(diǎn)評查看美食點(diǎn)評結(jié)束圖3-8

43、 美食點(diǎn)評3.5 本章小結(jié) 本章主要對系統(tǒng)設(shè)計(jì)的功能需求和性能需求兩方面進(jìn)行了描述,并介紹了本系統(tǒng)的總體功能,對系統(tǒng)功能進(jìn)行了詳細(xì)的描述,在系統(tǒng)性能需求分析部分,主要從運(yùn)行時(shí)間、可靠性、并發(fā)性需求三方面進(jìn)行了描述。 第4章 軟件詳細(xì)設(shè)計(jì)4.1 系統(tǒng)整體設(shè)計(jì) 本安卓系統(tǒng)有三個(gè)最主要的模塊,客戶端模塊、服務(wù)器端模塊和數(shù)據(jù)庫模塊。其中 Android手機(jī)端承擔(dān)客戶端和用戶界面的體現(xiàn),服務(wù)器建立在計(jì)算機(jī)上,而數(shù)據(jù)類和傳輸協(xié)議類則是連接服務(wù)器和手機(jī)客戶端的橋梁,負(fù)責(zé)數(shù)據(jù)的傳輸部分。系統(tǒng)的數(shù)據(jù)流是垂直傳遞的,數(shù)據(jù)從服務(wù)器端發(fā)送到用戶界必須要經(jīng)過手機(jī)客戶端這一層,反之從用戶界面發(fā)送請求到服務(wù)器同樣要經(jīng)過手機(jī)

44、客戶端,本系統(tǒng)共分為服務(wù)器端、手機(jī)客戶端、數(shù)據(jù)庫三部分17。4.1.1 服務(wù)器端服務(wù)器存儲(chǔ)了本系統(tǒng)運(yùn)行過程中的所有數(shù)據(jù)以及數(shù)據(jù)的更新,必須由專業(yè)的工作人員對服務(wù)器進(jìn)行操作和維護(hù),如果一般非專業(yè)人員需要對服務(wù)器進(jìn)行一些常規(guī)的維護(hù),可以設(shè)置其操作權(quán)限,并借助某種管理軟件對服務(wù)器進(jìn)行管理。服務(wù)器可以通過數(shù)據(jù)庫同步,為客戶端數(shù)據(jù)庫提供數(shù)據(jù)18。服務(wù)器端存放了全部的數(shù)據(jù)模型,并向手機(jī)客戶端提供了統(tǒng)一的開放接口。通常情況下手機(jī)客戶端是通過開放式的接口向服務(wù)端發(fā)出請求,服務(wù)器端接收到請求后利用的MVC設(shè)計(jì)模型來實(shí)現(xiàn)對所有數(shù)據(jù)的分析和處理。手機(jī)客戶端則通過統(tǒng) 一的訪問接口來訪問服務(wù)器端的數(shù)據(jù)模型。手機(jī)客戶端與

45、服務(wù)器端是通過網(wǎng)絡(luò)方式進(jìn)行互訪。數(shù)據(jù)庫要始終保持服務(wù)器和手機(jī)客戶端對數(shù)據(jù)操作的同步性。 服務(wù)器端主要包括兩個(gè)功能:接收執(zhí)行手機(jī)客戶端請求、數(shù)據(jù)庫訪問功能19。 服務(wù)器端接收執(zhí)行手機(jī)端請求的實(shí)現(xiàn)主要包括4個(gè)類:System Server、End Socket Thread、End Socket Thread List和Login List。System Server類主要是接收手機(jī)客戶端的連接請求,建立服務(wù)器與客戶端之間的Socket連接;End Socket Thread類是一個(gè)線程類,主要任務(wù)就是接受手機(jī)客戶端的請求并進(jìn)行執(zhí)行處理,處理后將執(zhí)行結(jié)果反饋給手機(jī)客戶端,這個(gè)類在服務(wù)器端是獨(dú)立運(yùn)行

46、的;End Socket Thread List類和Login List類都是容器類,Thread List是用來存放End Socket Thread對象,而Login List是用戶登錄服務(wù)器系統(tǒng)后就被作為User對象存放Login List中20。4.1.2 數(shù)據(jù)庫能實(shí)現(xiàn)數(shù)據(jù)庫訪問功能的類是Database的這個(gè)類,其中這個(gè)類還有一個(gè)非常主要的作用是能夠?qū)崿F(xiàn)數(shù)據(jù)庫和JDBC鏈接的功能,通過他的鏈接可以實(shí)現(xiàn)獲得數(shù)據(jù)庫的狀態(tài)和信息的數(shù)據(jù),常見的在用戶端口他是不支持直接訪問數(shù)據(jù)庫這以特殊的功能的,所以必須需要Database的這個(gè)類實(shí)現(xiàn)訪問數(shù)據(jù)庫的。其中有兩個(gè)數(shù)據(jù)庫的操作性質(zhì)的語句,Execu

47、te Query的語句主要是實(shí)現(xiàn)對SQL查詢到主要的意思,Execute Update語句的主要用意是對SQL更新現(xiàn)有的數(shù)據(jù)庫21。在服務(wù)的語音導(dǎo)游的整個(gè)系統(tǒng)當(dāng)中所完成的數(shù)據(jù)通信的功能都是基于HTTP機(jī)制的一項(xiàng)技術(shù)來實(shí)現(xiàn)的基本功能,在手機(jī)端上必須首先發(fā)送信息打包的請求,將相應(yīng)的包請求發(fā)往服務(wù)器的端口實(shí)現(xiàn)請求,當(dāng)服務(wù)器的端口接收到數(shù)據(jù)包后進(jìn)行解碼處理的過程和執(zhí)行處理的過程,在最中的操作就是處理好數(shù)據(jù)申請的包發(fā)送給手機(jī)的客戶端口實(shí)現(xiàn)手機(jī)端口的顯示22。4.1.3 手機(jī)客戶端設(shè)計(jì) 手機(jī)端的運(yùn)行和設(shè)計(jì)主要的目的是對游客和管理的相關(guān)人員來使用的。在客戶的手機(jī)上主要實(shí)現(xiàn)的是與服務(wù)器功能的鏈接和管理的功能:

48、在系統(tǒng)被啟動(dòng)的時(shí)候客戶端能夠最短的時(shí)間的登陸系統(tǒng)當(dāng)中需要和服務(wù)器創(chuàng)建一個(gè)鏈接端口,是由Server Connector的對象數(shù)據(jù)實(shí)現(xiàn)的,通過登陸的個(gè)人信息來創(chuàng)建一個(gè)User對象,通過使用人所輸入的個(gè)人信息密碼個(gè)人賬戶來匹配相關(guān)的信息、校對信息,將會(huì)利用Server Connector類中的Socket方法實(shí)現(xiàn)對客戶端請求的信息的發(fā)布到服務(wù)器當(dāng)中,對客戶進(jìn)行信息的驗(yàn)證和識(shí)別通過已有的數(shù)據(jù)并且將反饋的結(jié)果發(fā)送給客戶端口實(shí)現(xiàn)對客戶的反饋顯示在界面上。下圖4-1是客戶端、服務(wù)器和數(shù)據(jù)庫之間的訪問過程圖。服務(wù)器請求客戶端數(shù)據(jù)庫同步管理端更新數(shù)據(jù)庫 圖4-1 訪問過程圖 4.2模塊實(shí)現(xiàn)4.2.1 登錄界面

49、模塊 用戶可以通過登錄界面進(jìn)入到主界面,圖4-2是登錄界面。 圖4-2 登錄界面 進(jìn)入主界面,主界面由MainActivity類控制,本課題的主界面有五部分,包括語音導(dǎo)航、票務(wù)預(yù)訂、酒店預(yù)訂、美食評論和旅游攻略,用戶可以進(jìn)入相應(yīng)的界面查看信息或辦理業(yè)務(wù)。在主界面初始化模塊,用到的類主要有4個(gè),MainActivity是主界面Activity,它繼承BaseActivity是所有Activity的基類,其中包含了發(fā)送網(wǎng)絡(luò)請求的接口和回調(diào)、發(fā)送登錄請求的接口和回調(diào)等等,RequestController是發(fā)送請求的控制器,用于發(fā)送網(wǎng)絡(luò)請求。其內(nèi)部提供DataRequestTask這個(gè)數(shù)據(jù)請求的基類

50、,用以處理主界面(整個(gè)客戶端)所有數(shù)據(jù)的網(wǎng)絡(luò)請求、異步加載工作。HandleDataRequestTaskMessage()是網(wǎng)絡(luò)數(shù)據(jù)對界面層的回調(diào)器,AppModelItem用于存儲(chǔ)發(fā)送請求后返回的數(shù)據(jù),并將格式解析成類的形式,獲取數(shù)據(jù),更新界面層23。下圖4-3所示。 圖4-3 用戶界面4.2.2 語音導(dǎo)游模塊 語音導(dǎo)游屬于前臺(tái)管理,這個(gè)模塊包括兩部分,一部分是地圖功能,另外一部分是語音播放功能。用戶點(diǎn)擊語音導(dǎo)游進(jìn)入語音導(dǎo)游界面后,可以看到地圖,查看用戶想要旅游的目的地,可以看到景點(diǎn)上存在綠色圓點(diǎn),這些圓點(diǎn)是景點(diǎn)所在位置,當(dāng)用戶點(diǎn)擊圓點(diǎn)時(shí),表示用戶向服務(wù)器發(fā)出語音請求,服務(wù)器同意請求后將把

51、允許語音介紹,此時(shí)用戶手機(jī)端將播報(bào)景點(diǎn)語音介紹,這樣即可以讓用戶在欣賞旅游景點(diǎn)之余,了解景點(diǎn)的背景等信息,讓用戶充分體會(huì)到旅游時(shí)的樂趣。在用戶游覽景點(diǎn)時(shí)也可以隨時(shí)拿出手機(jī),打開語音導(dǎo)游功能,隨時(shí)隨地了解自己所在的位置,也可以確定將要去的旅游景點(diǎn)。下圖4-4所示。通信服務(wù),語音導(dǎo)游系統(tǒng)所有的數(shù)據(jù)通信都是基于HTTP機(jī)制的,Android客戶端首先將要發(fā)送的請求信息進(jìn)行打包,再將HTTP請求包發(fā)往服務(wù)器端,服務(wù)器端接收到數(shù)據(jù)包后對其進(jìn)行解碼和執(zhí)行處理,最后將處理好的HTTP數(shù)據(jù)包發(fā)送給Android手機(jī)客戶端并顯示出來,Android的定位接口:當(dāng)移動(dòng)終端設(shè)備集成GPS接收機(jī)這個(gè)功能模塊時(shí),它就具

52、有定位功能。定位接口主要包括一些類,主要提供位置服務(wù),并且能夠提供實(shí)現(xiàn)定位與定向API的Location Manager服務(wù)。Location Manager服務(wù)在實(shí)際應(yīng)用中不能被用戶直接用來獲取位置,而是要通過Get System Service這個(gè)服務(wù)來獲得一個(gè)指向它的Handle24。一個(gè)Handle的作用,對于Location Providers的位置信息列表可以進(jìn)行查詢;當(dāng)Location Provider提供某一點(diǎn)位置的實(shí)時(shí)數(shù)據(jù)時(shí),Handle可以進(jìn)行實(shí)時(shí)更新。系統(tǒng)在進(jìn)行景點(diǎn)數(shù)據(jù)匹配時(shí),首先要將所有的景點(diǎn)數(shù)據(jù)調(diào)到內(nèi)存中,為提高景點(diǎn)范圍匹配速度,高效率地運(yùn)行程序,定義一個(gè)存放景點(diǎn)的數(shù)據(jù)信息的結(jié)構(gòu)體Scenery Buffer,定義一個(gè)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論