




版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
1、 齊 齊 哈 爾 大 學畢業(yè)設計論文 題 目 基于Android的旅游app的設計與實現(xiàn) 學 院 通信與電子信息工程 專業(yè)班級 電子XXX 學生姓名 XXXX 指導教師 XXXX 成 績 2016年 6 月 15 日摘 要 旅游業(yè)的發(fā)展前景是優(yōu)于很多行業(yè)的,它在讓人放松身心的同時體會到自然神奇的力量。 本設計的主要內(nèi)容是制作一擁有網(wǎng)上預訂票務,預訂酒店,語音播報景點信息,觀看他人旅游攻略,分享自己旅游攻略,評定美食的一款旅游應用。它可以幫助想要出行的人們解決一些繁瑣的小事,讓人們出行更加方便。這是一款在Android平臺上運行的旅游app,本文將具體介紹語音模塊,評論模塊,預訂模塊的設計與實現(xiàn)
2、過程,按照軟件開發(fā)的流程,從客戶端系統(tǒng)的架構、相關模塊的功能進行描述。旅游行業(yè)的快速發(fā)展將帶動經(jīng)濟的發(fā)展,本設計可以滿足用戶在旅游時的部分需求,幫助用戶擁有更好的旅游體驗。關鍵詞:旅游;預訂票務;語音播報;旅游攻略;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章 相關技術概述42.1 相關概念介紹42.1.1 旅游信息系統(tǒng)42.1.2 導游服務42.1.3 預定服務42.1.4 攻略服務52.2 Android技術52.2.1 Android 平臺52.2.2 Android 體系結構62.2.3 Android 的類介紹6第3章 系統(tǒng)需求分析與總體實現(xiàn)93.1 系統(tǒng)需求分析93.1.1 系統(tǒng)功能需求分析93.1.2 系統(tǒng)性能需求分析93.1.3 經(jīng)濟可行性103.1.4 技術可行性103.2 系統(tǒng)總體實現(xiàn)103.3 總體設計103.4 各模塊設計123.5 本章小結16第4章 軟件詳細設計17
7、4.1 系統(tǒng)整體設計174.1.1 服務器端174.1.2 數(shù)據(jù)庫174.1.3 手機客戶端設計184.2 模塊實現(xiàn)194.2.1 登錄界面模塊194.2.2 語音導游模塊204.2.3 票務預訂模塊224.2.4 酒店預訂模塊234.2.5 旅游攻略模塊254.2.6 美食點評模塊26第5章 系統(tǒng)的測試285.1 系統(tǒng)測試285.2 測試結果28結論31參考文獻32附錄34致謝44 第1章 緒論1.1課題選擇的意義及背景 國家逐年的發(fā)展,公民的經(jīng)濟越來越好,旅游出行已經(jīng)在越來越多人的年中計劃里。國家旅游部門預計2016年或是旅游人數(shù)最多的一年,大部分居民將出門游玩,其中還有很多人將多次游玩不
8、同的地方;游客的預期花費一般是會有超出的,三分之一的人將花費萬元以上,在2016年全世界的財政成長趨勢看,旅游業(yè)或許將成為財政增長最快的行業(yè)之一。 現(xiàn)在旅游行業(yè)不同往日,逐年的高速發(fā)展人們已經(jīng)離不開網(wǎng)絡了。以前旅游的方法和現(xiàn)在旅游已經(jīng)有很大的不同,互聯(lián)網(wǎng)可以讓人們更好的生活,在想要旅游點擊網(wǎng)絡就可以獲得大量的旅游攻略、景點介紹、辦理票務、預訂酒店等信息,利用網(wǎng)絡的方便來旅行已經(jīng)是大勢所趨,利用互聯(lián)網(wǎng)對于旅游愛好者來說方便了很多,也節(jié)省了很多的時間來做一些排隊買票這類的事,有關旅游這方面的服務都得到了經(jīng)濟上的增長,現(xiàn)在旅游的趨勢是旅游的主要競爭手段轉移到了手機應用上,利用手機的便捷及手機應用的全
9、面性取得了廣大旅游用戶的喜愛?,F(xiàn)在有關旅游的應用軟件主攻的服務方向不同,其中一類是包容性的,也就是在一個應用上可以選擇多個應用,另外一類具有專攻性質,如酒店預訂功能,票務預訂功能、旅游攻略功能等,不論它們傾向哪一種,每一位旅行愛好者的手機中都會有一款旅游應用。現(xiàn)在是物聯(lián)網(wǎng)大數(shù)據(jù)時代,各種各樣的信息將向每一個人襲來,手機中的旅游應用也會提供游客各種有關旅游的信息1。 大部分使用者都希望有一種全面的旅游手機應用軟件,所以制作手機旅游軟件需要有更多的實用功能,任何一個使用者都可以在軟件中找到自己想要的服務,這就促成了一體化服務的產(chǎn)生,這些用戶想要功能在一起,就可以讓用戶更加快捷的去旅游,利用一些零散
10、的時間,完全足夠旅行者了解想要去的地方。這些年來手機上的旅游應用越來越多,讓人們不再以以前單一的旅游方式活動,旅游是放松人精神的一種活動,可以讓人們更加熱愛生活享受生活,旅游應用逐年的改進,方便了廣大的旅行愛好者,只要是用戶有可能需要的服務,手機旅游應用中都會有,這就讓游客感受到旅游是一種純粹的享受生活的方式,現(xiàn)在人們使用的手機應用有很多。在科技飛速發(fā)展的今天,我們已經(jīng)離不開網(wǎng)絡,手機旅游應用中的各種功能不斷改善,越來越強大,各種旅游軟件公司都想讓自己在旅游業(yè)有更強的競爭力,讓更多的用戶使用它們的產(chǎn)品。網(wǎng)絡與手機的結合使旅行更加方便,因此旅游應用軟件也越來越火爆,成為了人們必備的手機應用2。1
11、.2課題國內(nèi)外研究水平 電子商務可以將信息流、商流、資金流進行有效的管理,提高產(chǎn)業(yè)鏈的工作效率并降低成本。旅游業(yè)是最適合開展電子商務的行業(yè)之一,通過先進的網(wǎng)絡技術手段提高企業(yè)內(nèi)部、企業(yè)之間、企業(yè)與消費者之間的信息交流與溝通,改進旅游業(yè)的業(yè)務工作流程,所以電子商務對旅游業(yè)的發(fā)展具有深遠的意義。發(fā)達國家和地區(qū)在這方面已經(jīng)取得了巨大的成效。歐美發(fā)達國家,旅游電子商務已經(jīng)成為整個電子商務領域最大、最突出的部分。資料顯示,全球旅游電子商務連續(xù)5年以35%以上的速度增長,一度占到全球電子商務總額20%以上。 與國外相比,我國旅游電子商務起步稍晚,1996年才開始出現(xiàn)專業(yè)的旅游網(wǎng)站,其后旅游電子商務快速發(fā)展
12、,到2000年進入第一個高潮期,但在2001年由于受世界旅游業(yè)整體負增長形勢的影響,中國的旅游業(yè)在這一年經(jīng)歷了一定的困境,增長速度有所下降;2002年中國旅游業(yè)又開始整體回升,到2005年Web2.0的刺激下掀起了新的一輪旅游電子商務熱,自此又進入了一個新的“加速發(fā)展期”。目前,我國具有一定旅游資訊能力的網(wǎng)站已有5000多家。其中專業(yè)旅游300余家,主要包括地區(qū)性網(wǎng)站、專業(yè)網(wǎng)站和門戶網(wǎng)站的旅游頻道3大類。但是,旅游電子商務還處在初級階段,與發(fā)達國家相比還存在較大差距國內(nèi)登錄過旅游網(wǎng)站的網(wǎng)民占網(wǎng)民總數(shù)的比例較小,而進行過網(wǎng)上旅游預訂的網(wǎng)民比例更小。我國旅游業(yè)應用電子商務系統(tǒng)的總體發(fā)展水平很低,信
13、息服務能力有限,網(wǎng)絡營銷僅僅是一種時尚,消費者的培育,旅游電子商務軟、硬件環(huán)境的成熟和政府政策法規(guī)的建設等等都是急待解決的問題。作為一個擁有豐富旅游資源的大國,我國有望借助先進的信息化手段幫助旅游業(yè)實現(xiàn)迅猛增長,迎來更大的飛躍。目前,國內(nèi)外對傳統(tǒng)PC網(wǎng)絡旅游信息搜尋研究已較為充分。國外研究的重點主要集中在網(wǎng)絡旅游信息需求與搜尋動機、搜尋內(nèi)容偏好、搜尋行為特征、搜尋者特性和網(wǎng)絡旅游信息源等5個方面。國內(nèi)在借鑒國外研究的基礎上,進行了許多實證研究。如李君軼、楊敏對西安國內(nèi)游客的網(wǎng)絡信息搜索行為進行了研究;胡興報和蘇勤研究了黃山游客的網(wǎng)絡信息搜索行為;岑成德、梁婷則是基于廣州高校大學生對我國年輕旅游
14、者的網(wǎng)絡搜索行為進行了探討。近些年,國內(nèi)外學者也對移動互聯(lián)網(wǎng)的信息搜索領域的開始關注。瑞森杰等基于技術接受理論,發(fā)現(xiàn)用戶對移動旅游指南的信息存在偏見。金和帕克的研究發(fā)現(xiàn)旅游經(jīng)驗和技術經(jīng)驗與知覺有用性和易用性正相關,并與旅游者對移動設備的使用態(tài)度和在旅游方面使用移動設備的意圖也成正相關。我國的葉燕芳基于3G時代的背景,通過比較不同形式的網(wǎng)絡信息搜索行為,提出3G時代旅游信息搜索行為的新特點,建立了旅游信息搜索的模擬過程3。綜上所述,目前國內(nèi)外鮮有對消費者通過旅游app信息檢索的研究。本文在借鑒相關研究成果的基礎上,構建出以利用旅游app信息搜索努力為因變量,以易用性、無處不在性、搜索風險、用戶創(chuàng)
15、新意識、產(chǎn)品知識、網(wǎng)絡信任、智能手機涉入為自變量的理論模型并提出假設。通過抽樣問卷調(diào)查的方式,探究各因素的影響原因,從而發(fā)現(xiàn)消費者使用旅游app信息搜尋行為的影響因素之間的關系,希望對消費者提供一些啟示并對我國旅游app的定位與開發(fā)提出一些想法。1.3本論文研究內(nèi)容 本設計共分5個章節(jié)來進行敘述,各章的主要內(nèi)容如下:第1章介紹了課題的意義及背景還有國內(nèi)外研究水平,并敘述了旅游業(yè)的發(fā)展前景。第2章介紹了本設計使用的相關技術,在理論上對本設計是否可以完成做出了預想。第3章介紹了設計的需求分析和總體設計如何實現(xiàn),考慮到了設計的需求關系與大體上怎么實現(xiàn)功能。第4章介紹了模塊功能的實現(xiàn),本章展示了模塊所
16、要實現(xiàn)的功能。第5章介紹了軟件的測試結果,通過真機運行實現(xiàn)了想要達到的功能。 第2章 相關技術概述2.1 相關概念介紹 2.1.1 旅游信息系統(tǒng) 隨著信息化在國內(nèi)外旅游業(yè)的廣泛應用,旅游信息系統(tǒng) TIS(Tourism InformationsSystem)應運而生。它是以人為主導,利用計算機硬件、軟件、網(wǎng)絡通信設備以及其他辦公設備,進行各種旅游資源數(shù)據(jù)的收集、傳輸、分析、模擬、處理及應用的信息系統(tǒng)。按照旅游服務對象的不同,TIS可分為:MIS(Manage Information System)和DIS (D-estination Information System)兩類4。MIS是來進行
17、各行業(yè)之間的信息更新和傳遞,主要是旅游管理部門和旅游供應商;DIS主要是為游客和旅行商提供基于目的地旅游信息查詢的相關服務。根據(jù)網(wǎng)絡方式旅游目的地信息系統(tǒng)DIS又可分為旅游目的地網(wǎng)絡營銷系統(tǒng)和非網(wǎng)絡環(huán)境下的自助電子導游系統(tǒng)、旅游地理信息系統(tǒng)等。隨著電子商務技術的不斷發(fā)展,非網(wǎng)絡環(huán)境的DIS逐漸被網(wǎng)絡網(wǎng)絡拓展功能所替代,如游客利用網(wǎng)絡進行網(wǎng)上預訂的電子導游系統(tǒng)等。 2.1.2 導游服務 到有這類服務主要是指專業(yè)人員對需要旅行的游客進行對景點的講解,讓游客更加了解旅游景區(qū),并且不讓游客在景點迷失方向,提供的向導類服務。 我國逐年的快速成長體現(xiàn)在個個方面,在科技方面尤為突出,導游的形勢也變得更加高大
18、上。需要導游的人群逐年增加,但有一些喜歡獨自旅行,為了解決這個問題,語音導游功能應運而生,它可以幫助人們了解景點的背景,讓游客了解到景點背后的故事,能更好的享受旅行。利用網(wǎng)絡,游客還可以得到地圖功能,游客也不用擔心走失,不知道自己確切的方位。 2.1.3 預定服務 現(xiàn)在預訂已經(jīng)是一個被大部分人所接受的一個功能,相信大部分人都用過預訂這個功能,從我們的日常出發(fā),預訂已經(jīng)無處不在,如果你想去一家非常火爆的飯店或者其他火爆的地方,你不預定位置,那么你或許要等待很長一段時間,因為火爆的服務單位不缺少顧客,但是特定時間也許會有空閑位置,大部分人不了解這個時間段有空缺,所以大家都擠到一個時間段,這樣造成的
19、結果就是,少數(shù)人如愿以償?shù)牡玫搅朔?,大部分人只能等待,浪費大量的時間與精力,很不科學也很不高效,但是如果應用預訂功能那就可以讓人們的生活更加高效,用戶可以預先定好,讓提供服務的地方有準備,讓更多的用戶能合理的安排時間,這類預訂服務有很多,比如預訂火車票,如果用戶進行了預訂,那么就不用排隊去購票窗口買票務,直接到取票機器那里付款取票,方便快捷,因為在取票之前公民就已經(jīng)挑選好了票務,不需要再進行選取票務,只需要完成最后的步驟付款取票,這樣就算很多人都來取票,那也可以很快的完成用戶的需求。由此可見預訂功能可以幫助用戶節(jié)約時間,大大的提升了用戶的生活節(jié)奏。 2.1.4 攻略服務 現(xiàn)在生活中各種各樣的
20、攻略已經(jīng)是非常多,攻略就是其他人的經(jīng)驗之談,可以是筆者的想法,也可以是一段有價值的客觀描述。比如你想要出游,那么你可以查看其他人的攻略,攻略之中可以讓你了解到你想去的景點的旅游風景是怎樣的,也可以了解到目的地哪些風景是最值得看的,幫助你了解到你不知道的網(wǎng)絡上也查不到的一些潛在旅游時遇到的情況,幫助你更快更好的旅游,少走一些彎路,這些攻略將幫助你做好提前準備。2.2 Android技術 2.2.1 Android平臺 Android手機操作系統(tǒng)是由谷歌公司于2007年正式推出的,最大的特點是平臺的真正開放性。到目前為止,Android手機操作系統(tǒng)的最新版本為4.0,具有廣泛的應用和發(fā)展前景。An
21、droid系統(tǒng)的使用率占據(jù)全球智能手機系統(tǒng)將近80%的份額,尤其在中國市場的占有率更高,接近90%,與其他手機操作系統(tǒng)相比,Android具有最大的優(yōu)點就在于它的開放性和平臺開發(fā)的便捷性,不同的廠商可以根據(jù)自己的需求對平臺進行擴展開發(fā),而且無需支付任何費用。采用Android操作系統(tǒng)的智能手機越來越受到人們的青睞。Android是以Linux系統(tǒng)為基礎,能更好地滿足電腦愛好者的需求。另外Android的安全性也比較完善5。 以Android為開發(fā)平臺,Android以Java為編程語言,使接口到功能,都有層出不窮的變化,其中Activity等同于MIDlet,一個Activity負責創(chuàng)建視窗,
22、一個活動中的Ac -tivity就是在 foreground模式,背景運行的程序叫做Service6。兩者之間通過由Service和AIDL連結,達到復數(shù)程序同時運行的效果。如果運行中的Activity全部畫面被其他 Activity 取代時,該Activity便被停止,甚至被系統(tǒng)清除。View等同于Displayable,程序人員可以通過 View 類與“XML layout”檔將UI放置在視窗上,Android 1.5的版本可以利用 View 打造出所謂的 Widgets,其實Widget只是View的一種,所以可以使用xml來設計layout,HTC的Android Hero手機即含有大
23、量的widget。至于ViewGroup 是各種layout 的基礎抽象類(abstract class),ViewGroup之內(nèi)還可以有ViewGroup。View的構造函數(shù)不需要再Activity中調(diào)用,但是Displayable的是必須的,在Activity中,要通過findViewById()來從XML中取得View,Android的View類的顯示很大程度上是從XML中讀取的7。View與事件息息相關,兩者之間通過Listener結合在一起,每一個View都可以注冊一個event listener,例如:當View要處理用戶觸碰的事件時,就要向Android框架注冊View.OnCl
24、ickListener。 (1)一次編寫,到處運行。在這一點上Java比PHP更出色,在不同的軟件平臺上運行,代碼不用做任何更改。 (2)軟件的多平臺支持?;旧峡梢栽谒衅脚_上的任意環(huán)境中開發(fā),在任意環(huán)境中進行軟件不是和運行。相比ASP/PHP的局限性是顯而易見的。 (3)強大的可伸縮性。從只有一個小的Jar文件就可以運行Servlet/JSP,到由多臺服務器進行集群和負載均衡,到多臺Application進行事務處理,消息處理,一臺服務器到無數(shù)臺服務器,Java顯示了一個巨大的生命力。 (4)多樣化和功能強大的開發(fā)工具支持。這一點與ASP很像,Java已經(jīng)有了許多非常優(yōu)秀的開發(fā)工具,而且許
25、多可以免費得到,并且其中許多已經(jīng)可以順利的運行于多種平臺之下。2.2.2 Android 體系結構 Android手機操作系統(tǒng)平臺整合了操作系統(tǒng)、中間件和應用程序三大塊。Android操作系統(tǒng)之所以會受到各廠家的青睞,真是因為它的真正開放的優(yōu)越性。Android的架構軟件層次結構自上而下共分為以下4個層。 應用程序(Application)主要是用來設計用戶操作界面的,用Java語言來編寫,主要是被用戶訪問。Android自身提供了一些核心的應用程序,如主屏幕、聯(lián)系人、電話、瀏覽器等,因為Android是開放式的操作系統(tǒng),所以用戶可以根據(jù)自己的要求,利用已有的框架來編譯、開發(fā)程序。Androi
26、d應用程序中UI組件所需的控件首先由本層提供。如View,包括了列表、文本框、按鈕等,這些組件構成了程序的視圖部分8。 應用程序框架(Application Framework),開發(fā)者接觸最多的就是應用程序框架,它給開發(fā)者提供了應用程序層的API,開發(fā)者在開發(fā)時都是基于框架的。其上層的應用程序基本都是以Java語言來編譯的,應用程序框架提供所有用戶界面設計所需的控件。終端界面能夠顯示出來讓用戶看到的的所有圖形都是些文本框、按鈕和列表等控件,它們組成了應用程序的界面系統(tǒng)。開發(fā)者在開發(fā)時可以完全通過應用程序框架的視圖系統(tǒng)、電話管理器等各個部分來進行軟件的開發(fā)9。操作系統(tǒng)層(OS)Android
27、SDK是運行于Linux上的,它只是以Linux內(nèi)核來管理硬 件資源的,不同于Linux。Linux內(nèi)核同時作為軟、硬件棧間的抽象層,進行相互溝通 的工作10。 庫和Android運行環(huán)境,通過Android平臺來開發(fā)程序的過程,是由各類組件來調(diào)用Android的后臺庫來實現(xiàn)系統(tǒng)開發(fā)的。2.2.3 Android 的類介紹 Android手機區(qū)別于其它一些智能手機就在于它有自己的組件。本段內(nèi)容就會對于Android的部分組件作詳細的介紹。 Activity是進行Android平臺開發(fā)時所有程序的根本,它在Android應用中主要是用來創(chuàng)建和顯示窗口的。系統(tǒng)的用戶界面就是一個Activity對象
28、,作一個很形象的比喻,在手機游覽器中一個網(wǎng)頁就是一個Activity。一般,一個Android應用會包含很多個Ac -tivity,它們之間是可以自由地進行相互跳轉的,就像網(wǎng)頁的跳轉一樣。但和網(wǎng)頁跳轉之間的不同之處就是,Activity之間的跳轉是可能有返回值的11。 系統(tǒng)中的Activity可以通過一個activity棧來進行管理。當一個新的activity啟動的時候,它首先會被放置在activity棧頂部并成為running狀態(tài)的activity,之前的activity也在activity棧中,但總是被保存在它的下邊,只有當這個新的activity退出以后之前的activity才能重新回到
29、前景界面12。Android中每個activity都是一個用戶界面,要想實現(xiàn)各界面之間的轉換就需用到A ndroid的Intent類。Intent類運行時包含兩個部分,動作和動作對應的數(shù)據(jù)。Activity有兩個方面,既可以調(diào)用其他請求,也可以被其它請求調(diào)用。在設計開發(fā)系統(tǒng)時,Activity主要負責窗口的創(chuàng)建工作,其次利用Set Content View方法將窗口顯示出來,實現(xiàn)與用戶的交互。 Intent Receiver,Activity是不可以直接用來接收系統(tǒng)的廣播消息的,這時可以在系統(tǒng)中注冊一個Intent Receiver對象。當有滿足條件的Intent事件到來時,將激活Intent
30、 Receiver,不管這個進程是運行還是沒有運行,都能正常接收到其他應用發(fā)來的Intent 或者廣播消息。如果系統(tǒng)正處于一個運行狀態(tài)中,當有Intent請求時,系統(tǒng)會自動在適當?shù)臅r候啟動被觸發(fā)的請求。一個Intentreceiver廣播可以被反復通過Context.broadcast In tent()廣播給其他的一些應用。 Service級別和Activity差不多,都是Android的四大組件之一,一般使用Service實現(xiàn)后臺的一些長期運行的應用程序的服務工作。雖然是用戶看不見的,但在系統(tǒng)運行中的作用卻是非常重要的。Service不能自己運行而只能在后臺運行,它可以和其它組件進行交互。
31、Service的啟動有兩種方式:第一種是通過調(diào)用Context.Start Service( )啟動與調(diào)用Context.Stop Service()結束,第二種是調(diào)用Context.Bind Service()啟動,調(diào)用和Con text Unbind Service()結束,這二種方法可以混合使用13。 Map Activity類是專門用來管理和顯示地圖視圖的。Map Activity中兩個類Get Point類和Map Controller類。Get Point類是用來存儲經(jīng)度和緯度信息的。Map Controller類,顧名思義就是地圖控制的一個工具,用來管理地圖的縮放。 Conten
32、t Provider,在Android中,所有的數(shù)據(jù)都是私有的,要想實現(xiàn)在各個應用程序中自由地使用各類數(shù)據(jù),Android中的Content Provider則可以實現(xiàn),它通過統(tǒng)一的標準的接口進行每個應用中各類數(shù)據(jù)的共享。外界可根據(jù)權限級別利用一套標準統(tǒng)一的接口和程序對數(shù)據(jù)進行共享。Map View類是只能通過Map Activity組件來創(chuàng)建的,其作用是用來顯示地圖界面的。當游客用手指在手機屏幕上觸摸時,可以以縮放和移動的方式來調(diào)整地圖,也可以在地圖上做標識。移動設備上電子地圖可以是衛(wèi)星、交通、街景三種模式來顯示,并且Map View要想連接網(wǎng)絡必須通過由Map Activity管理的后臺線
33、程來控制。 一般來說一個完整的Android應用程序應該包含Activity、Intent Receiver、Service、Content Provider和每個Android應用所相應的配置文件XML14。 第3章 系統(tǒng)需求分析與總體實現(xiàn) 3.1 系統(tǒng)需求分析 需求分析是設計一個系統(tǒng)的起點,要實現(xiàn)一個系統(tǒng),應首先進行需求分析,分析結果是否正確地反映出了用戶的實際需求。需求分析不但直接影響后面各階段的設計,更影響到設計成果的合理性、實用性。在本階段,主要任務就是解決“系統(tǒng)必須做什么”的問題,該階段的工作是確定系統(tǒng)的使用對象、范圍、系統(tǒng)應具備哪些功能的前提,也就是對系統(tǒng)提出準確性、完整性的目標
34、要求。這篇論文介紹了旅游體系的手機軟件,能夠對使用者在旅行的期間提供景點提供語音介紹、預訂票務、預訂酒店、查看旅游攻略和美食點評這些功能。 3.1.1 系統(tǒng)功能需求分析 (1)想要實現(xiàn)安卓地圖插孔功能,可以實現(xiàn)對地圖的界面控制。 (2)安卓體系能夠自己擁有定位功能,使用者發(fā)出請求,將發(fā)回數(shù)據(jù),來幫助使用者確定自己的位置。 (3)安卓體系與互聯(lián)網(wǎng)相結合,可以連接使用者端與管理者端,讓兩者相互之間可以連接互傳數(shù)據(jù)。(4) 安卓體系與互聯(lián)網(wǎng)結合,可以進行票務預訂及酒店預訂功能,通過管理者端可以對這些功能結果進行查看。 (5)安卓體系通過服務模塊對旅游攻略和美食評定進行設計,用戶端可以對其編寫和查看。
35、 3.1.2 系統(tǒng)性能需求分析 實用性需求:系統(tǒng)設計要充分考慮到系統(tǒng)的實用性,系統(tǒng)開發(fā)周期要短,要盡量降低開發(fā)投資成本,操作起來應簡單易學,具有一定的實用性。 運行時間需求:整個系統(tǒng)采用的是B/S模式,為保證系統(tǒng)的運行速度,在單個操作運行時間上有所規(guī)定。本地單個操作運行時間要少于100ms,網(wǎng)絡正常時與服務器通信的操作時間要少于200ms,地圖更新時間不得超過5s15。 可靠性需求:本系統(tǒng)對服務器有嚴格的要求,服務器一直要處于工作運行狀態(tài),不能出現(xiàn)死機的情況,而手機客戶端軟件工作要實現(xiàn)連續(xù)工作7天不出錯。在有單個用戶請求出現(xiàn)錯誤時不能影響整個服務器的其他工作??梢浦残院涂蓴U充性需求:系統(tǒng)在設計
36、上要充分考慮到系統(tǒng)的功能和業(yè)務的擴展性支持二次開發(fā)16。 并發(fā)性需求:服務器端處理作業(yè)并發(fā)度10以下的作業(yè)時不會造成業(yè)務動作的丟失情況,運行并發(fā)度大于10的作業(yè)時不能造成系統(tǒng)出錯的情況。3.1.3 經(jīng)濟可行性個人制作安卓體系是免費的,不需要使用者花費任何金錢。如果是投資方想要制作安卓體系,那么他們需要支付電腦的費用和服務器的費用等,然而他們是以盈利為目的,所以這些花銷他們完全可以承受,因為他們的利潤是巨大的。3.1.4 技術可行性 完成此安卓體系需要技術支持,這決定了安卓體系是否能夠成功設計并完成。我所用的編譯代碼是Java,它主要的特點就是方便進行測試,它可以在多種平臺中得到廣泛應用,因此本
37、設計可以完成。3.2 系統(tǒng)總體實現(xiàn) 下面是本系統(tǒng)主要完成的功能: (1)登錄功能:游客首先要進行身份驗證,在登錄界面輸入自己的用戶名和密碼,向系統(tǒng)進行提交,如果登錄成功,則會進行入系統(tǒng)功能界面,若登錄不成功則繼續(xù)顯示登錄界面。 (2)景點介紹功能:系統(tǒng)首先要設置好景點位置坐標的一個數(shù)據(jù)范圍,當用戶點擊景點后,將發(fā)出請求來獲取語音資源,獲得語音資源后將播放景點介紹。 (3)辦理票務功能:用戶選擇模塊,輸入想要去的目的地,系統(tǒng)將會篩選出有關目的地的所有票務,用戶選擇自己想要的票務即可預訂成功。 (4)預訂酒店功能:用戶選擇模塊,輸入想要酒店,系統(tǒng)將會篩選出有關酒店的所有信息,用戶選擇自己想要的酒店
38、即可預訂成功。 (5)旅游攻略功能:用戶選擇模塊,即可看到所有攻略,點擊想要觀看的攻略就可以成功進入觀看,用戶也可以自己添加自己的攻略。 (6)美食評論功能:用戶選擇模塊,即可看到所有美食,點擊想要觀看的美食就可以成功進入觀看,用戶也可以自己添加自己的美食攻略。3.3 總體設計 (1)用戶功能模塊:系統(tǒng)提供下面的功能見下圖3-1所示:用戶登錄 語音導游辦理票務酒店預訂旅游攻略美食點評火車票門票飛機票 圖3-1 用戶功能模塊圖 (2) 管理員功能模塊:系統(tǒng)提供下面功能見下圖3-2所示: 管理員添加票務添加酒店票務訂單酒店訂單圖3-2 管理員功能模塊圖 主界面的模塊是所有模塊的交集,通過主界面可以
39、查看任意模塊的功能詳情,預訂票務、預訂酒店、語音導游、旅游攻略和美食點評五個模塊作為客戶端的主要功能模塊,滿足了客戶在景點時對景點的背景了解,對其他用戶旅游體會的了解,以及預訂票務酒店的快捷功能。預訂票務模塊提供了預訂火車票、門票和飛機票的功能,讓你的旅途不必浪費在無聊的辦票環(huán)節(jié)上,預訂酒店模塊同預訂票務模塊的目的一樣,讓用戶快捷的辦理預訂,節(jié)約時間。語音導游模塊提供地圖功能并且具有語音介紹功能,用戶到達景點,只需輕輕點擊屏幕景點位置,即可得到景點的語音介紹功能,用戶在觀看景點風景之余就可以了解景點背景,旅游攻略模塊提供了用戶自由言論的空間,在這里,用戶可以說自己旅游時的心得體會,讓其他游客感
40、受到自己旅游時的心境,也可以觀看他人攻略,感受其他人的想法,對于沒有出行的用戶也可以起到提前了解目的地的功能。美食點評模塊提供了用戶對于美食的評價,去旅游,吃當?shù)靥厣澄锸遣豢扇鄙俚沫h(huán)節(jié),用戶可以自己發(fā)表對食物的看法,同時也可以看別人的點評,來選擇自己想要吃的食物。3.4 各模塊設計 登錄模塊:打開應用,用戶輸入賬號密碼,若賬號密碼都正確,則用戶登錄成功,進入主界面,若賬號密碼有誤,則登錄失敗,還留在登錄界面,此時用戶需要重新注冊賬號密碼,用新的正確賬號密碼登錄即可,下圖3-3是登錄模塊流程圖。開始 N登錄界面驗證賬號密碼Y注冊登錄成功主界面結束 圖3-3 登錄模塊流程圖 語音導游模塊:點擊進
41、入語音導游模塊,可以看到百度地圖,在旅游的過程中,用戶可以選擇語音播報旅游景點的信息,以便用戶更輕松的了解景點背景,但有一些游客不喜歡語音播報,而喜歡自己來觀看景點信息,這樣會讓他們享受旅游過程的樂趣。圖3-4是語音導游模塊的流程圖。 開始確定用戶所在位置點擊語音按鈕 讀取語音數(shù)據(jù)進行語音介紹結束圖3-4 語音導游流程圖 票務預訂模塊:點擊進入票務預訂模塊,可以選擇想要購買的票務,共三種選擇,即火車票、飛機票和門票,選擇完畢后,用戶打出所需票務關鍵詞即可得到想要票務的信息,提交所選票務就可以成功預訂票務。圖3-5是票務預訂模塊的流程圖。 開始N火車票源飛機票源YNY輸入關鍵字門票Y結束車次信息
42、顯示 提交所選票務 圖3-5 票務預訂流程圖 酒店預訂:點擊進入酒店預訂模塊,用戶打出所需酒店關鍵詞即可得到想要酒店的信息,提交所選酒店就可以成功預訂酒店。圖3-6是酒店預訂模塊的流程圖。 開始輸入酒店名選擇酒店提交訂單結束 圖3-6 酒店預訂 旅游攻略:點擊進入旅游攻略界面,可以選擇觀看他人攻略,也可以分享自己的攻略。圖3-7是旅游攻略模塊的流程圖。開始 進入旅游攻略N子程序Y添加旅游攻略查看攻略結束圖3-7 旅游攻略 美食點評:點擊進入美食點評界面,可以選擇觀看美食攻略也可以分享自己的美食攻略。圖3-8是美食點評模塊的流程圖。開始 進入美食點評N子程序Y分享美食點評查看美食點評結束圖3-8
43、 美食點評3.5 本章小結 本章主要對系統(tǒng)設計的功能需求和性能需求兩方面進行了描述,并介紹了本系統(tǒng)的總體功能,對系統(tǒng)功能進行了詳細的描述,在系統(tǒng)性能需求分析部分,主要從運行時間、可靠性、并發(fā)性需求三方面進行了描述。 第4章 軟件詳細設計4.1 系統(tǒng)整體設計 本安卓系統(tǒng)有三個最主要的模塊,客戶端模塊、服務器端模塊和數(shù)據(jù)庫模塊。其中 Android手機端承擔客戶端和用戶界面的體現(xiàn),服務器建立在計算機上,而數(shù)據(jù)類和傳輸協(xié)議類則是連接服務器和手機客戶端的橋梁,負責數(shù)據(jù)的傳輸部分。系統(tǒng)的數(shù)據(jù)流是垂直傳遞的,數(shù)據(jù)從服務器端發(fā)送到用戶界必須要經(jīng)過手機客戶端這一層,反之從用戶界面發(fā)送請求到服務器同樣要經(jīng)過手機
44、客戶端,本系統(tǒng)共分為服務器端、手機客戶端、數(shù)據(jù)庫三部分17。4.1.1 服務器端服務器存儲了本系統(tǒng)運行過程中的所有數(shù)據(jù)以及數(shù)據(jù)的更新,必須由專業(yè)的工作人員對服務器進行操作和維護,如果一般非專業(yè)人員需要對服務器進行一些常規(guī)的維護,可以設置其操作權限,并借助某種管理軟件對服務器進行管理。服務器可以通過數(shù)據(jù)庫同步,為客戶端數(shù)據(jù)庫提供數(shù)據(jù)18。服務器端存放了全部的數(shù)據(jù)模型,并向手機客戶端提供了統(tǒng)一的開放接口。通常情況下手機客戶端是通過開放式的接口向服務端發(fā)出請求,服務器端接收到請求后利用的MVC設計模型來實現(xiàn)對所有數(shù)據(jù)的分析和處理。手機客戶端則通過統(tǒng) 一的訪問接口來訪問服務器端的數(shù)據(jù)模型。手機客戶端與
45、服務器端是通過網(wǎng)絡方式進行互訪。數(shù)據(jù)庫要始終保持服務器和手機客戶端對數(shù)據(jù)操作的同步性。 服務器端主要包括兩個功能:接收執(zhí)行手機客戶端請求、數(shù)據(jù)庫訪問功能19。 服務器端接收執(zhí)行手機端請求的實現(xiàn)主要包括4個類:System Server、End Socket Thread、End Socket Thread List和Login List。System Server類主要是接收手機客戶端的連接請求,建立服務器與客戶端之間的Socket連接;End Socket Thread類是一個線程類,主要任務就是接受手機客戶端的請求并進行執(zhí)行處理,處理后將執(zhí)行結果反饋給手機客戶端,這個類在服務器端是獨立運行
46、的;End Socket Thread List類和Login List類都是容器類,Thread List是用來存放End Socket Thread對象,而Login List是用戶登錄服務器系統(tǒng)后就被作為User對象存放Login List中20。4.1.2 數(shù)據(jù)庫能實現(xiàn)數(shù)據(jù)庫訪問功能的類是Database的這個類,其中這個類還有一個非常主要的作用是能夠實現(xiàn)數(shù)據(jù)庫和JDBC鏈接的功能,通過他的鏈接可以實現(xiàn)獲得數(shù)據(jù)庫的狀態(tài)和信息的數(shù)據(jù),常見的在用戶端口他是不支持直接訪問數(shù)據(jù)庫這以特殊的功能的,所以必須需要Database的這個類實現(xiàn)訪問數(shù)據(jù)庫的。其中有兩個數(shù)據(jù)庫的操作性質的語句,Execu
47、te Query的語句主要是實現(xiàn)對SQL查詢到主要的意思,Execute Update語句的主要用意是對SQL更新現(xiàn)有的數(shù)據(jù)庫21。在服務的語音導游的整個系統(tǒng)當中所完成的數(shù)據(jù)通信的功能都是基于HTTP機制的一項技術來實現(xiàn)的基本功能,在手機端上必須首先發(fā)送信息打包的請求,將相應的包請求發(fā)往服務器的端口實現(xiàn)請求,當服務器的端口接收到數(shù)據(jù)包后進行解碼處理的過程和執(zhí)行處理的過程,在最中的操作就是處理好數(shù)據(jù)申請的包發(fā)送給手機的客戶端口實現(xiàn)手機端口的顯示22。4.1.3 手機客戶端設計 手機端的運行和設計主要的目的是對游客和管理的相關人員來使用的。在客戶的手機上主要實現(xiàn)的是與服務器功能的鏈接和管理的功能:
48、在系統(tǒng)被啟動的時候客戶端能夠最短的時間的登陸系統(tǒng)當中需要和服務器創(chuàng)建一個鏈接端口,是由Server Connector的對象數(shù)據(jù)實現(xiàn)的,通過登陸的個人信息來創(chuàng)建一個User對象,通過使用人所輸入的個人信息密碼個人賬戶來匹配相關的信息、校對信息,將會利用Server Connector類中的Socket方法實現(xiàn)對客戶端請求的信息的發(fā)布到服務器當中,對客戶進行信息的驗證和識別通過已有的數(shù)據(jù)并且將反饋的結果發(fā)送給客戶端口實現(xiàn)對客戶的反饋顯示在界面上。下圖4-1是客戶端、服務器和數(shù)據(jù)庫之間的訪問過程圖。服務器請求客戶端數(shù)據(jù)庫同步管理端更新數(shù)據(jù)庫 圖4-1 訪問過程圖 4.2模塊實現(xiàn)4.2.1 登錄界面
49、模塊 用戶可以通過登錄界面進入到主界面,圖4-2是登錄界面。 圖4-2 登錄界面 進入主界面,主界面由MainActivity類控制,本課題的主界面有五部分,包括語音導航、票務預訂、酒店預訂、美食評論和旅游攻略,用戶可以進入相應的界面查看信息或辦理業(yè)務。在主界面初始化模塊,用到的類主要有4個,MainActivity是主界面Activity,它繼承BaseActivity是所有Activity的基類,其中包含了發(fā)送網(wǎng)絡請求的接口和回調(diào)、發(fā)送登錄請求的接口和回調(diào)等等,RequestController是發(fā)送請求的控制器,用于發(fā)送網(wǎng)絡請求。其內(nèi)部提供DataRequestTask這個數(shù)據(jù)請求的基類
50、,用以處理主界面(整個客戶端)所有數(shù)據(jù)的網(wǎng)絡請求、異步加載工作。HandleDataRequestTaskMessage()是網(wǎng)絡數(shù)據(jù)對界面層的回調(diào)器,AppModelItem用于存儲發(fā)送請求后返回的數(shù)據(jù),并將格式解析成類的形式,獲取數(shù)據(jù),更新界面層23。下圖4-3所示。 圖4-3 用戶界面4.2.2 語音導游模塊 語音導游屬于前臺管理,這個模塊包括兩部分,一部分是地圖功能,另外一部分是語音播放功能。用戶點擊語音導游進入語音導游界面后,可以看到地圖,查看用戶想要旅游的目的地,可以看到景點上存在綠色圓點,這些圓點是景點所在位置,當用戶點擊圓點時,表示用戶向服務器發(fā)出語音請求,服務器同意請求后將把
51、允許語音介紹,此時用戶手機端將播報景點語音介紹,這樣即可以讓用戶在欣賞旅游景點之余,了解景點的背景等信息,讓用戶充分體會到旅游時的樂趣。在用戶游覽景點時也可以隨時拿出手機,打開語音導游功能,隨時隨地了解自己所在的位置,也可以確定將要去的旅游景點。下圖4-4所示。通信服務,語音導游系統(tǒng)所有的數(shù)據(jù)通信都是基于HTTP機制的,Android客戶端首先將要發(fā)送的請求信息進行打包,再將HTTP請求包發(fā)往服務器端,服務器端接收到數(shù)據(jù)包后對其進行解碼和執(zhí)行處理,最后將處理好的HTTP數(shù)據(jù)包發(fā)送給Android手機客戶端并顯示出來,Android的定位接口:當移動終端設備集成GPS接收機這個功能模塊時,它就具
52、有定位功能。定位接口主要包括一些類,主要提供位置服務,并且能夠提供實現(xiàn)定位與定向API的Location Manager服務。Location Manager服務在實際應用中不能被用戶直接用來獲取位置,而是要通過Get System Service這個服務來獲得一個指向它的Handle24。一個Handle的作用,對于Location Providers的位置信息列表可以進行查詢;當Location Provider提供某一點位置的實時數(shù)據(jù)時,Handle可以進行實時更新。系統(tǒng)在進行景點數(shù)據(jù)匹配時,首先要將所有的景點數(shù)據(jù)調(diào)到內(nèi)存中,為提高景點范圍匹配速度,高效率地運行程序,定義一個存放景點的數(shù)據(jù)信息的結構體Scenery Buffer,定義一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年低碳經(jīng)濟發(fā)展考試試題及答案動態(tài)分析
- 校園運動會的一天記事文章(5篇)
- 難忘的班級集體活動事件作文11篇
- 高中英語語法復習課教案:時態(tài)辨析與實踐運用
- 2025年泡騰劑項目立項申請報告模板
- 我們一起游泳難忘的夏日時光作文(12篇)
- 2025年成人高考《語文》古詩詞文學性與藝術性試題庫
- 2025年春季小學五年級數(shù)學期末沖刺卷:數(shù)學思維拓展與訓練
- 2025年電子商務師(中級)職業(yè)技能鑒定試卷:電商短視頻電商數(shù)據(jù)分析
- 2025年專升本藝術概論考試模擬卷(藝術審美心理與藝術史研究前沿課題)
- GB∕T 11344-2021 無損檢測 超聲測厚
- 滬教牛津版小學一至六年級英語單詞匯總(最新)
- 《云南省建筑工程資料管理規(guī)程應用指南)(上下冊)
- 數(shù)列求和中常見放縮方法和技巧(含答案)
- 寶興縣中藥材生產(chǎn)現(xiàn)狀及發(fā)展思路
- 臺州市幼兒園教師考核表.
- 小兒霧化吸入課件.ppt
- TM92成品鞋彎折測試
- 鎖骨骨折幻燈片
- 高填方、深挖路塹邊坡和軟基監(jiān)測方案
- DB42∕T 1124-2015 城市園林綠化養(yǎng)護管理質量標準
評論
0/150
提交評論