




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、摘要隨著智能的快速普及和多種智能終端爆發(fā)性增長,以及4G 時(shí)代的到來,讓信息跟著人走已成為現(xiàn)實(shí),不再只是簡單的通話工具,更成為隨身攜帶的工作、信息獲取。通過開發(fā)移動(dòng)應(yīng)用可以為人們解決各式各樣問題,提高人們的生活質(zhì)量。乘坐火車是常用的出行方式,然而在此過程中常常會(huì)遇到,購票難,列車經(jīng)常晚點(diǎn),行李物品的安全沒有保障,以及旅途時(shí)光漫長無聊等諸多問題。這些問題都大大影響了人們出行體驗(yàn)。本設(shè)計(jì)主要針對(duì)上述問題,從開發(fā)一款 Android 移動(dòng)應(yīng)用的角度,實(shí)現(xiàn)移動(dòng)端購票、行李及防盜、車友聊天室等功能,提供列車實(shí)時(shí)狀態(tài)、列車歷史晚點(diǎn)、目的站天氣等信息。讓乘坐列車出行的人不再因?yàn)樯鲜鰡栴}而影響他們的出行。本應(yīng)
2、用 Android 客戶端使用 Java 語言在Eclipse+ADT+SDK+JDK 環(huán)境上開發(fā)。服務(wù)器端使用+Node.js 開發(fā),并部署在BAE 上。:火車票購票;列車實(shí)時(shí)防盜;聊天室;AbstractWith the explosive growth, as well as the arrival of the era of the raspread of mobilephones 4G swith people hasa variety ofelligent terminals, allowing information to go alonge a reality, not jus
3、t a simple phone call tools havee portable worka wide rangeplatform, information Get platform. People can solve the problem by develoof mobile applications to improve the quality of peoples lives.By train is our common way to travel, buthe pros often encounter, tickets difficult,often late trains, b
4、aggage does not guarantee safety, as well as the long boring journey time andmany other ies. These ies have grey affected the people travel experience.This design is written to address the problem from theof an Android mobileapplication development, for mobile terminal ticketing, baggage and mobile
5、security, bikerschat rooms and other functions, providing real-time sus of the train, the trains late history,destination weather and other information. Let people take the trathe above problems affect their travel.o travel longer because ofThe Android cnt applications using the Java language develo
6、pment on Eclipse + ADT+ SDK +JDK environment. Server usingdeployment on the BAE.+ Node.js development andKeywords: buy tickets ; real-time sus of the train; burglar ; chat room ;目錄摘要IAbstractII1緒 論1項(xiàng)目背景1Android 系統(tǒng)簡介1開發(fā) Android 應(yīng)用火車行的意義2火車行與 Android 系統(tǒng)結(jié)合的優(yōu)勢3系統(tǒng)分析42.1 可行性分析422.1.12.1.22.1.3社會(huì)可行性分析4技術(shù)可行
7、性分析4經(jīng)濟(jì)可行性52.1.4 法律可行性5需求分析5市場需求分析5系統(tǒng)需求分析5實(shí)體聯(lián)系模型6本章小結(jié)7相關(guān)技術(shù)8Eclipse 與 ADT8Android 開發(fā)語言Java833.3. 93.4 Node.js93.53.63.7數(shù)據(jù)庫10應(yīng)用引擎(BAE)10云推送103.8 JSON113.7 本章小結(jié)11系統(tǒng)設(shè)計(jì)124系統(tǒng)結(jié)構(gòu)設(shè)計(jì)12系統(tǒng)流程設(shè)計(jì)13系統(tǒng)模塊設(shè)計(jì)134.3.14.3.24.3.34.3.44.3.54.3.64.3.7用戶模塊14車次查詢模塊17添加車次模塊20車次模塊21車友聊天室模塊25安全防盜模塊27信息收集模塊28數(shù)據(jù)庫設(shè)計(jì)29本章小結(jié)33系統(tǒng)實(shí)現(xiàn)34各模塊具
8、體實(shí)現(xiàn)34用戶模塊實(shí)現(xiàn)34車次查詢模塊實(shí)現(xiàn)35添加車次模塊實(shí)現(xiàn)3855.1.4車次模塊實(shí)現(xiàn)39車友聊天室模塊實(shí)現(xiàn)40安全防盜模塊實(shí)現(xiàn)41本章小結(jié)42系統(tǒng)測試4366.16.26.36.46.5系統(tǒng)測試的原則43系統(tǒng)測試的目的43系統(tǒng)測試的步驟43系統(tǒng)測試的結(jié)果43本章小結(jié)44結(jié)致論45謝46參考文獻(xiàn)47附錄481 緒論1.1 項(xiàng)目背景乘坐火車是:常用的一種出行方式,但是在此乘車過程中常常會(huì)遇到各種各樣(1)購票時(shí)往往很難買到想要的車票,如何通過購票,何時(shí)會(huì)有自己想要的車票,哪趟車次晚點(diǎn)的概率最小,(2)火車不定時(shí)的晚點(diǎn)常常會(huì)打亂都無從得知。的行程安排,列車晚點(diǎn)多久就只能在候車廳內(nèi)等待多久。當(dāng)急
9、急忙忙的趕到火車站發(fā)現(xiàn)列車卻晚點(diǎn)了,這種事情會(huì)讓整個(gè)旅行變得很不愉快。(3)在乘車旅行過程中,行李物品安全往往無法保障。無論是在火車站周邊,還是在火車上,熙熙攘攘的人們總會(huì)讓就有可能不翼而飛。(4)長時(shí)間的乘車旅行往往會(huì)讓的行李安全受到。稍稍不注意,的行李或感到特別無聊,無聊又讓感覺旅途更加漫長。上的優(yōu)勢也日與此同時(shí),隨著信息行業(yè)的飛速發(fā)展,Android 系統(tǒng)在各個(gè)系統(tǒng)趨凸顯。與傳統(tǒng)機(jī)系統(tǒng)不同,Android 系統(tǒng)采用開源的模式,使得很多人可以自行開發(fā)并共享,從而也就使得這個(gè)可以使用的用戶;再者,Android系統(tǒng)反應(yīng)速度快,操作更簡單,這也使得該系統(tǒng)的應(yīng)用可以得到更廣泛的推廣。因此開發(fā)一款
10、可以解決上述問題的 Android 應(yīng)用火車行,可以為人們在購票、乘車、候車過程中提供各種各樣的幫助,可以為人們出行時(shí)安全提供保障。1.1.1 Android 系統(tǒng)簡介Android 是一種基于Linux 的及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能名稱,和平板電腦,由公司和開放及開發(fā)。尚未有中文陸地區(qū)較多人使用“安卓”或“安致”。Android 操作系統(tǒng)最初由 Andy Rubin開發(fā),主要支持硬件制造商、。2005 年 8 月由收購注資。2007 年 11 月,與 84 家開發(fā)商及電信營運(yùn)商組建開放共同研發(fā)改良 Android 系統(tǒng)。隨后智能以Apache 開源證的方式,發(fā)布了An
11、droid 的源代碼。第一部Android發(fā)布于 2008 年 10 月。Android 逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)機(jī)等。2011 年第一季度,Android 在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。2013 年的第四季度,Android的全球市場份額已經(jīng)達(dá)到78.1%。2013 年 09 月 24 日谷歌開發(fā)的操作系統(tǒng) Android 在迎來了 5 歲生日,全世界采用這款系統(tǒng)的設(shè)備數(shù)量已經(jīng)達(dá)到 10 億臺(tái)。Android(1) 開放性Android的優(yōu)勢:首先就是其開放性,開放的允許任何移動(dòng)終端廠商加入到 Android中來。顯著的開放性可以使其擁有的開發(fā)者,隨
12、著用戶和應(yīng)用的日益豐富,一成熟。開放性對(duì)于 Android 的發(fā)展而言,有利于積累人氣,個(gè)嶄新的也將很快這里的人氣包括消費(fèi)者和廠商,而對(duì)于消費(fèi)者來講,最大的收益正是豐富的開放的也會(huì)帶來更大競爭,如此一來,消費(fèi)者將可以用更低的價(jià)位購得心意(2) 豐富的硬件選擇資源。機(jī)。這一點(diǎn)還是與 Android的開放性相關(guān),由于 Android 的開放性,眾多的廠商會(huì)推奇百怪,功能特色各具的多種產(chǎn)品。功能上的差異和特色, 卻不會(huì)影響到數(shù)據(jù)同步、甚至的兼容,好比你從諾基亞 Symbian 風(fēng)格一下改用蘋果,同時(shí)還可將 Symbian 中優(yōu)秀的是不是非常方便呢?(3) 開發(fā)的易上手性帶到上使用、聯(lián)系人等資料更是可
13、以方便地轉(zhuǎn)移,Java 是 最 容 易 上 手 的 , 不 像, 需 要 熟 悉 他 的 很 多 框 架 , 以及 objective c。 據(jù)稱,基于 Android 系統(tǒng)的幾大優(yōu)勢,在其推出后的兩個(gè)月內(nèi),的次數(shù)已經(jīng)高達(dá) 250000 多次。程序員這個(gè)開發(fā)1.1.2 開發(fā) Android 應(yīng)用火車行的意義(1)隨著智能的快速普及多種智能終端爆發(fā)性增長,以及4G 時(shí)代的到來,讓信息跟著人走已成為現(xiàn)實(shí),不再只是簡單的通話工具,更成為隨身攜帶的工作、信息獲取,實(shí)現(xiàn)端查詢火車信息,可以為廣大用戶提供的幫助。(2)買票難是乘坐火車出行最大之一,開發(fā)火車行應(yīng)用,為用戶提供端火車票,自動(dòng)搶票、購票功能。省
14、去用戶在電腦前手動(dòng)刷票搶票的時(shí)間。(3)火車晚點(diǎn)是影響人們火車旅行體驗(yàn)的最大動(dòng)應(yīng)用的角度緩解火車晚點(diǎn)對(duì)用戶旅行帶來的麻煩。之一,開發(fā)火車行應(yīng)用,從移(4)火車站、火車上、旅游景區(qū)等都是的高發(fā)地,開發(fā)火車行應(yīng)用,利用移動(dòng)設(shè)備的優(yōu)勢來實(shí)現(xiàn)行李、等貴重物品的防盜功能,讓用戶的出行更加舒心。(5)開發(fā)火車行應(yīng)用,還可以為用戶提供目的地天氣查詢、列車歷史晚點(diǎn)查詢、車友聊天室等功能。1.1.3 火車行與 Android 系統(tǒng)結(jié)合的優(yōu)勢在 Android 系統(tǒng)設(shè)備快速普及的現(xiàn)在,Android 系統(tǒng)的市場份額已經(jīng)超過了 80%。在Android上開發(fā)的應(yīng)用火車行,可以讓的用戶有機(jī)會(huì)使用的應(yīng)用。同時(shí)搭載 An
15、droid 系統(tǒng)的設(shè)備足夠的傳感器可以為實(shí)現(xiàn)防盜功能提供了有利支持。2 系統(tǒng)分析2.1 可行性分析如今智能在人們的生活中已經(jīng)非常普遍,并且在人們的生活,學(xué)習(xí)等日?;顒?dòng)中為人們提供了很多方便。然而在移動(dòng)設(shè)備端服務(wù)于火車出行的應(yīng)用發(fā)展還是相對(duì)緩慢的。因此開發(fā)一款移動(dòng)應(yīng)用,為乘坐火車出行的人提供盡可能多的幫助是非常有必要的??尚行苑治鍪菍?duì)現(xiàn)行系統(tǒng)進(jìn)行初步和研究之后的結(jié)論,它反映了新系統(tǒng)開發(fā)策略。下面分別從社會(huì)可行性、技術(shù)可行性、經(jīng)濟(jì)可行性以及法律可行性分析四方面進(jìn)行可行性分析。2.1.1 社會(huì)可行性分析乘坐火車是人們常用的出行方式,無論是出差、上學(xué)還是旅行,大多數(shù)人都會(huì)選擇乘坐火車出行。然而當(dāng)買票時(shí)
16、,如果沒有自己想要的車票就只能一下一下手動(dòng)刷新12306。每當(dāng)人們乘坐火車之前都要做好列車晚點(diǎn)的準(zhǔn)備,每次都要準(zhǔn)備好消磨時(shí)光的各種東西,同時(shí)整個(gè)旅途中都要對(duì)自己的行李、等貴重物品高度的關(guān)注。這往往讓乘坐火車出行的人剛剛下火車,還沒開始真正的活動(dòng)就感覺筋疲力盡。開發(fā)一款能夠讓用戶隨時(shí)隨地查看列車實(shí)時(shí)信息,能夠在移動(dòng)端自動(dòng)自己想要的車票,能夠與同次列車的人們聊天,能夠?qū)崟r(shí)行李和安全的應(yīng)用可以讓用戶的旅行變得更加的輕松。此外此應(yīng)用還可以通過提供歷史晚點(diǎn)詳情供用戶購票時(shí)參考,提供目的站天氣信息提醒用戶增減衣物,提供己的旅行。旅行功能讓用戶與自己的好友自因此從社會(huì)角度來說,開發(fā)火車行應(yīng)用是勢在必行的。2
17、.1.2 技術(shù)可行性分析本應(yīng)用 Android 客戶端開發(fā)工具使用 Eclipse+ADT,開發(fā)語言為 Java。支持最低版本為 Android2.3,目標(biāo)版本為 Android4.0。服務(wù)器端使用+Node.js 語言開發(fā),數(shù)據(jù)庫采用部署在 BAE 上。對(duì)于技術(shù)方面本應(yīng)用是可行的。2.1.3 經(jīng)濟(jì)可行性本應(yīng)用開發(fā)過程中使用的開發(fā)工具都為免費(fèi)應(yīng)用,可以在網(wǎng)絡(luò)上使用,不需要向公司支用,極大地節(jié)省了開發(fā)的費(fèi)用。服務(wù)器采用BAE,僅需支付低廉的費(fèi)用。本應(yīng)用在有一定用戶量后,可以加入對(duì)于經(jīng)濟(jì)方面本應(yīng)用也是可行的。信息實(shí)現(xiàn)。2.1.4 法律可行性本系統(tǒng)特為普通 Android用戶設(shè)計(jì),在開發(fā)、發(fā)布及使用
18、過程中沒有與法律相抵觸的方面,本系統(tǒng)在法律上是可行的。2.2 需求分析需求分析的成功是一個(gè)系統(tǒng)成功的重要保障,它分為對(duì)市場的需求分析與對(duì)系統(tǒng)本身功能的分析。2.2.1 市場需求分析服務(wù)于火車旅行的應(yīng)用在的火車旅行類應(yīng)用,使用戶可以在應(yīng)用市場內(nèi)是很少見的。開發(fā)一款集多種服務(wù)為一體端自動(dòng)刷票、購票,可以隨時(shí)隨地查看列車的實(shí)時(shí)信息,可以與同一車次的人在聊天室內(nèi)聊天,可以在自己物品丟失時(shí)及時(shí)發(fā)現(xiàn),可以查看目的地天氣還可以之不得的好應(yīng)用。自己的列車狀態(tài)給好友,這對(duì)于廣大火車乘客來說是一款求2.2.2 系統(tǒng)需求分析本應(yīng)用共包含六個(gè)大的模塊,分別為:用戶模塊,車次查詢模塊,購票模塊,車次模塊,聊天室模塊,防
19、盜模塊,車次信息收集模塊。用戶模塊主要實(shí)現(xiàn)了用戶的、登錄、修改、找回、修改個(gè)人信息等功能。車次查詢模塊主要實(shí)現(xiàn)了站站查詢、車次查詢、查看車次詳情、查看歷史晚點(diǎn)信息等功能。購票模塊主要實(shí)現(xiàn)了火車票、車票等功能。車次模塊主要實(shí)現(xiàn)了添加車次、查看車次實(shí)時(shí)信息、查看車次詳情、查看目的列車信息等功能。地天氣、聊天室模塊主要包括公共聊天室與各用戶已添加車次的聊天室。防盜模塊主要實(shí)現(xiàn)了藍(lán)牙行李防盜、耳機(jī)被拔出、充電狀態(tài)被打斷、從口袋中被取出、靜置狀態(tài)被打斷等功能。車次信息收集模塊主要實(shí)現(xiàn)了服務(wù)器對(duì)列車晚點(diǎn)信息的收集與車次詳情的更新。用戶首先需要自己的火車行賬戶,之后便可以登錄火車行應(yīng)用。登錄后可以綁定郵箱,
20、可以對(duì)自己的個(gè)人信息及進(jìn)行修改。還可以查詢車次、查看車次歷史晚點(diǎn)、購票、車票、添加車次到車次、查看車次的實(shí)時(shí)信息、查看目的站天氣、車次實(shí)時(shí)信息、車友聊天室聊天、打開安全防盜等。2.2.3 實(shí)體聯(lián)系模型通過對(duì)系統(tǒng)進(jìn)行需求分析,根據(jù)功能確定系統(tǒng)用到的數(shù)據(jù)信息以及各個(gè)數(shù)據(jù)之間的關(guān)聯(lián)??蛻舳诵枰臄?shù)據(jù)庫表為:聊天信息表,車次表。服務(wù)器端數(shù)據(jù)庫表為:用戶表、用戶車次表、車次表、車站表、車次詳情表、歷史晚點(diǎn)信息表、城市天氣編碼表。圖 2-1 為部分實(shí)體間的ER 圖。車次 ID列車類型站序離站時(shí)間到站到站時(shí)間車站 ID車站名稱圖 2-1 車次與車站的 ER 圖n車站車次m2.3 本章小結(jié)本章主要對(duì)火車行應(yīng)用
21、進(jìn)行了可行性分析、需求分析。介紹了系統(tǒng)的實(shí)體關(guān)系模型。3 相關(guān)技術(shù)開發(fā) Android 客戶端使用的開發(fā)工具為Eclipse,并需要安裝 ADT 插件。基于 AndroidSDK 使用 Java 語言進(jìn)行開發(fā),聊天室消息推送使用云推送實(shí)現(xiàn)。服務(wù)器端使用的開發(fā)工具為Sublime Text2,使用的語言為和 Node.js,使用的數(shù)據(jù)庫為。服務(wù)器端部署在BAE 上。客戶端與服務(wù)啟動(dòng)使用JSON 進(jìn)行。3.1 Eclipse 與 ADT目前 Android 開發(fā)所用的開發(fā)工具是 Eclipse,在 Eclipse 編譯 IDE 環(huán)境中,安裝ADT,為 Android 開發(fā)提供開發(fā)工具的升級(jí)或者變更
22、,簡單理解為在 Eclipse 下開發(fā)工具的升級(jí)工具。在 Eclipse 編譯 IDE 環(huán)境中,需安裝 ADT(Android Developer Tools)Plug-in,這是 Android 在Eclipse 上的開發(fā)工具。雖然大多數(shù)用戶很樂于將 Eclipse 當(dāng)作 Java 集成開發(fā)環(huán)境(IDE)來使用,但Eclipse 的目標(biāo)卻不僅限于此。Eclipse 還包括插件開發(fā)環(huán)境( Plug-in Development1Environment,PDE),這個(gè)組件主要針對(duì)希望擴(kuò)展 Eclipse 的開發(fā),因?yàn)樗试S他們構(gòu)建與 Eclipse 環(huán)境無縫集成的工具。由于 Eclipse 中的
23、每樣?xùn)|西都是插件,對(duì)于給 Eclipse 提供插件,以及給用戶提供一致和都具有同等的發(fā)揮場所。的集成開發(fā)環(huán)境而言,所有工具開發(fā)這種和一致性并不僅限于 Java 開發(fā)工具。盡管 Eclipse 是使用Java 語言開發(fā)的,但它的用途并不限于 Java 語言;例如,支持諸如 C/C+、COBOL、等編程語言的插件已經(jīng)可用,或預(yù)計(jì)將會(huì)推出。Eclipse 框架還可用來作為與應(yīng)用程序類型的基礎(chǔ),比如內(nèi)容管理系統(tǒng)。開發(fā)無關(guān)的其他基于 Eclipse 的應(yīng)用程序的一個(gè)突出例子是 IBM Rational Software Architect,它構(gòu)成了 IBM Java 開發(fā)工具系列的基礎(chǔ)。3.2 Andr
24、oid 開發(fā)語言JavaAndroid 應(yīng)用開發(fā)有很多方式,可以使用很多語言來實(shí)現(xiàn)。但是目前最簡單、最主流的開發(fā)語言為Java。這也是Java 是一種可以撰寫跨的開發(fā)方式。應(yīng)用的面象的程序設(shè)計(jì)語言,是由 SunMicrosystems 公司于 1995 年 5 月推出的 Java 程序設(shè)計(jì)語言和 Java(即 JavaEE,JavaME, JavaSE)的總稱。Java 自面世后就非常流行,發(fā)展迅速,對(duì)C+語言形成了有力沖擊。Java 技術(shù)具有卓越的通用性、高效性、移植性和安全性,廣泛應(yīng)用于個(gè)人和互聯(lián)網(wǎng),同時(shí)擁有全球最大PC、數(shù)據(jù)中心、控制臺(tái)、科學(xué)超級(jí)計(jì)算機(jī)、移動(dòng)的開發(fā)者專業(yè)社群。在全球云計(jì)算
25、和移動(dòng)互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境下,Java 更具備了顯著優(yōu)勢和廣闊前景。Android 系統(tǒng)的迅速發(fā)展也使得Java 語言長期在編程語言榜中排在領(lǐng)先的位置。3.3是一種通用開源語言。語法吸收了 C 語言、Java 和 Perl 的特點(diǎn),入門門檻較低,易于學(xué)習(xí),使用廣泛,主要適用于 Web 開發(fā)領(lǐng)域。它可以比 CGI 或者 Perl 更快速地執(zhí)行頁。用做出的動(dòng)態(tài)頁面與其他的編程語言相比,是將程序嵌入到 HTML 文檔中去執(zhí)行,執(zhí)行效率比完全生成 HTML 標(biāo)記的 CGI 要高許多;還可以執(zhí)行編譯后代碼,編譯可以達(dá)到加密和優(yōu)化代碼運(yùn)行,使代碼運(yùn)行更快。選擇作為服務(wù)器端開發(fā)語言的原因主要是因?yàn)橐子趯W(xué)習(xí),能夠
26、實(shí)現(xiàn)系統(tǒng)需求的大部分功能。并且目前大多數(shù)免費(fèi)或廉價(jià)服務(wù)器空間都支持環(huán)境。3.4 Node.jsNode.js 是一個(gè)可以快速構(gòu)建網(wǎng)絡(luò)服務(wù)及應(yīng)用的JavaScript runtime,也就是說,實(shí)際上它是對(duì)覽器)進(jìn)行了封裝。該的構(gòu)建是基于ChromesV8 引擎(應(yīng)用于Chrome 瀏V8 引擎執(zhí)行 Javascript 的速度非???,性能非常好。Node 對(duì)一些特殊用例進(jìn)行了優(yōu)化,提供了替代的 API,使得 V8 在非瀏覽器環(huán)境下運(yùn)行得更好。V8 引擎本身使用了一些來的代碼運(yùn)行速度獲得了極大的編譯技術(shù)。這使得用 Javascript 這類語言編寫出,卻節(jié)省了開發(fā)成本。對(duì)性能的苛求是 Node
27、的一個(gè)關(guān)鍵。 Javascript 是一個(gè)事件驅(qū)動(dòng)語言,Node 利用了這個(gè)優(yōu)點(diǎn),編寫出可擴(kuò)展性高的服務(wù)器。Node 采用了一個(gè)稱為“事件循環(huán)(event loop)”的架構(gòu),使得編寫可擴(kuò)展性高的服務(wù)器變得既容易又安全。提高服務(wù)器性能的技巧有多種多樣。Node 選擇了一種既能提高性能,又能減低開發(fā)復(fù)雜度的架構(gòu)。這是一個(gè)非常重要的特性。并發(fā)編程通常很復(fù)雜且布滿 。Node 繞過了這些,但仍提供很好的性能2。Node 采用一系列“非阻塞”支持事件循環(huán)的方式。本質(zhì)上就是為文件系統(tǒng)、數(shù)據(jù)庫之類的資源提供接口。向文件系統(tǒng)發(fā)送一個(gè)請求時(shí),無需等待硬盤(尋址并檢索文件),硬盤準(zhǔn)備好的時(shí)候非阻塞接口會(huì)通知 N
28、ode。該模型以可擴(kuò)展的方式簡化了對(duì)慢資源的,直觀,易懂。選擇 Node.js 作為服務(wù)器端開發(fā)的又一語言,由于使用 Javascript 語言開發(fā)使得它對(duì)JSON 的支持非常好,再加上它很好了彌補(bǔ)了運(yùn)行在免費(fèi)空間上時(shí)后期應(yīng)用的擴(kuò)展提供了很好的幫助。的。為3.5數(shù)據(jù)庫AB 公司開發(fā),目前屬于是一個(gè)關(guān)系型數(shù)據(jù)庫管理系統(tǒng),由瑞典Oracle 公司。是最流行的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),在WEB 應(yīng)用方面是最好的RDBMS(Relational Database Management System:關(guān)系數(shù)據(jù)庫管理系統(tǒng))應(yīng)用之一3。是一種關(guān)聯(lián)數(shù)據(jù)庫管理系統(tǒng),關(guān)聯(lián)數(shù)據(jù)庫將數(shù)據(jù)保存在不同的表中,而不是將所有數(shù)據(jù)
29、放在一個(gè)大倉庫內(nèi),這樣就增加了速度并提高了靈活性4。所使用的SQL 語言是用于數(shù)據(jù)庫的最常用標(biāo)準(zhǔn)化語言。由于其體積小、速度快、總體擁有成本低,尤其是開放源碼這一特點(diǎn),一般中小型的開發(fā)都選擇作為數(shù)據(jù)庫。由于其社區(qū)版的性能卓越,搭配和 Apache 可組成良好的開發(fā)環(huán)境。3.6應(yīng)用引擎(BAE)應(yīng)用引擎(BAE)是推出的網(wǎng)絡(luò)應(yīng)用開發(fā)?;?BAE 架構(gòu),使開發(fā)者不需要任何服務(wù)器,只需要簡單的上傳應(yīng)用程序,就可以為用戶提供服務(wù)。BAE有能力將原本單機(jī)的L開發(fā)者可以基于 BAE發(fā)布、調(diào)試。同時(shí) BAE等。架構(gòu),變成分布式架構(gòu)。進(jìn)行、Java、Node.js 應(yīng)用的開發(fā)、編譯、也提供了大量的云服務(wù),包括
30、、MongoDB、RedisBAE 服務(wù)可以讓開發(fā)者在開發(fā)網(wǎng)絡(luò)應(yīng)用程序的過程中擺脫繁瑣的環(huán)境、服務(wù)問題,把精力專注于業(yè)務(wù)邏輯。3.7云推送云推送(Push)是開放開發(fā)者提供的消息推送服務(wù);通過利用云端與客戶端之間建立穩(wěn)定、可靠的長連接來為開發(fā)者提供向客戶端應(yīng)用推送實(shí)時(shí)消息服務(wù)。云推送服務(wù)支持三種推送類型:通知、消息及富;支持向所有用戶、根據(jù)分類向特定用戶群體、向單個(gè)用戶和基于地理位置推送消息;支持自定義功能(如自定義內(nèi)容、后續(xù)行為、樣式模板等);提供用戶信息及通知消息統(tǒng)計(jì)信息,方便開發(fā)者進(jìn)行后續(xù)開發(fā)及運(yùn)營。云推送服務(wù)具有以下特點(diǎn):(1) 增強(qiáng)用戶粘性通過云和端之間建立的長連接,可以實(shí)時(shí)的推送消
31、息到達(dá)用戶端。保持與用戶的溝通,大大(2) 節(jié)約成本用戶活躍度和留存率。在省電省流量方面遠(yuǎn)超行業(yè)水平,基礎(chǔ)的消息推送服務(wù)發(fā)者推送的成本。(3) 穩(wěn)定安全的推送免費(fèi),開強(qiáng)大的分布式集群長期為穩(wěn)定、可靠。各大產(chǎn)品線提供推送服務(wù),保證消息推送服務(wù)的由于云推送節(jié)約流量、穩(wěn)定安全等優(yōu)點(diǎn),本應(yīng)用使用云推送來實(shí)現(xiàn)聊天室聊天信息的推送。3.8 JSONJSON(JavaScript Object Noion) 是一種輕量級(jí)的格式。它基于JavaScript(Standard ECMA-262 3rd Edition - December 1999)的一個(gè)子集。 JSON 采用完全獨(dú)立于語言的文本格式,但是也使
32、用了類似于 C 語言的(包括 C, C+, C#, Java,語言。易于人閱讀和JavaScript, Perl,等)。這些特性使 JSON 成為理想的編寫,同時(shí)也易于機(jī)器和生成。3.7 本章小結(jié)本章主要對(duì)開發(fā)火車行應(yīng)用中需要用到的開發(fā)工具、開發(fā)環(huán)境、以及開發(fā)中所用到的技術(shù)進(jìn)行了簡單介紹。4 系統(tǒng)設(shè)計(jì)4.1 系統(tǒng)結(jié)構(gòu)設(shè)計(jì)火車行主要分為以下幾個(gè)系統(tǒng):用戶系統(tǒng)、車次查詢系統(tǒng)、添加車次系統(tǒng)、次系統(tǒng)、車友聊天室系統(tǒng)、安全防盜系統(tǒng)、設(shè)置等。系統(tǒng)整體結(jié)構(gòu)圖如圖 4-1。車火車行車友聊天室車次查詢添加車次我的車次安全防盜設(shè)置用戶圖 4-1 系統(tǒng)整體結(jié)構(gòu)圖4.2系統(tǒng)流程設(shè)計(jì)整個(gè)系統(tǒng)的邏輯流程圖見圖 4-2 所
33、示:開始結(jié)束圖 4-2 用戶系統(tǒng)結(jié)構(gòu)圖4.3系統(tǒng)模塊設(shè)計(jì)系統(tǒng)的模塊化設(shè)計(jì)可以方便模塊的組合和以后的,因此對(duì)系統(tǒng)模塊的設(shè)計(jì)是非常必要的?;疖囆袘?yīng)用主要分為用戶模塊、車次查詢模塊、添加車次模塊、塊、車友聊天室模塊、安全防盜模塊、信息收集模塊等。車次模在上述模塊中用戶模塊、車次查詢模塊、添加車次模塊和車次模塊四個(gè)模塊需車次模塊車友聊天室模塊添加車次模塊車次查詢模塊用戶模塊安全防盜模塊T 請求,請求數(shù)據(jù)為經(jīng)過 AES 加要與服務(wù)器端進(jìn)行交互。在于服務(wù)器交互時(shí)采用密的 JSON 字符串。JSON 中包含所有請求需要的參數(shù)。服務(wù)器返回結(jié)果同樣為經(jīng)過 AES加密的 JSON 字符串。返回結(jié)果中包含一個(gè) co
34、de 字段來表示請求結(jié)果狀態(tài)。4.3.1 用戶模塊用戶模塊主要由結(jié)構(gòu)如圖 4-3 所示。、登錄、修改個(gè)人信息、修改和忘記五部分組成。其用戶忘記密碼修改個(gè)人信息修改密碼登錄圖 4-3 用戶模塊結(jié)構(gòu)圖用戶首次使用本應(yīng)用需要新用戶,新用戶需要輸入兩個(gè)必選項(xiàng)用戶名、密碼,用戶名為任意字符,由大于 6 個(gè)字符的數(shù)字或字母或下劃線組成。一個(gè)可選項(xiàng)電子郵箱,電子郵箱用于找回。打開應(yīng)用時(shí)若為未登錄狀態(tài),需要首先登錄。登錄需要輸入正確的用戶名及。用戶可以修改個(gè)人信息,用戶的個(gè)人信息包括頭像、昵稱、郵箱。修改時(shí)需要輸入當(dāng)前、新和確認(rèn)新,新必須與確認(rèn)新相同且必須由大于6 個(gè)字符的數(shù)字或字母或下劃線組成。當(dāng)用戶忘記時(shí)
35、,可以通過忘記功能重置,重置時(shí)需要輸入用戶綁定的郵箱,之后系統(tǒng)會(huì)想響應(yīng)郵箱發(fā)送一封帶有的郵件,用戶輸入正確便可修改新。用戶模塊的流程圖如圖 4-4 所示:開始是否已是否是否已登錄是否是否忘記否是結(jié)束圖 4-4用戶模塊流程圖修改修改個(gè)人信息登錄找回用戶模塊的服務(wù)器端接口包括1發(fā)送郵件、郵箱找回、登錄、登出、修改、修改用戶資料、郵箱找回2重置等。接口的請求及返回結(jié)果參數(shù)如表 4-1 所示。表 4-1接口請求及返回參數(shù)請求參數(shù)返回參數(shù)resultCode uiduserNamepasswordsesCode登錄接口的請求及返回結(jié)果參數(shù)如表 4-2 所示。表 4-2登錄接口請求及返回參數(shù)請求參數(shù)返回參
36、數(shù)resultCode userName nickNameiconloginNamepasswordsexCodeposes登出接口的請求及返回結(jié)果參數(shù)如表 4-3 所示。表 4-3 登出接口請求及返回參數(shù)請求參數(shù)返回參數(shù)resultCodeuidCodeses修改接口的請求及返回結(jié)果參數(shù)如表 4-4 所示。表 4-4修改接口請求及返回參數(shù)請求參數(shù)返回參數(shù)uid pwdnewPwdresultCodesesCode修改用戶資料接口的請求及返回結(jié)果參數(shù)如表 4-5 所示。表 4-5 登出接口請求及返回參數(shù)請求參數(shù)返回參數(shù)resultCodeuidCode iconsesnickNamesex1發(fā)
37、送郵件接口的請求及返回結(jié)果參數(shù)如表 4-6 所示。郵箱找回表 4-6登出接口請求及返回參數(shù)請求參數(shù)返回參數(shù)verifyNumresultCodeauthCode郵箱找回2重置接口的請求及返回結(jié)果參數(shù)如表 4-7 所示。表 4-7登出接口請求及返回參數(shù)請求參數(shù)返回參數(shù)verifyNumnewPwdresultCode4.3.2 車次查詢模塊車次查詢主要由站站查詢和車次查詢組成。查詢到的車次可以查看車次詳情,車次詳情包括列車沿途車站,列車到站和離站時(shí)間、各種車票的票價(jià)以及列車在上車站和下車站的晚點(diǎn)詳情。同時(shí)通過站站查詢功能查詢到的車次可以預(yù)定本趟車次在此區(qū)間的車票,預(yù)定車票需要登錄 12306 帳
38、戶,添加購票人后即可預(yù)定車票。另外使用站站查詢時(shí)還可以所查詢區(qū)間的車票,功能可選擇所的車次、座位類型以及刷新速率。使用車次查詢和站站查詢功能所查詢到的車次都可直接跳轉(zhuǎn)到添加車次模塊添加對(duì)應(yīng)車次。車次查詢模塊的流程圖如圖 4-5 所示。開始結(jié)束圖 4-5 車次查詢模塊流程圖車次查詢模塊的服務(wù)器端接口包括車次查詢、站站查詢、平均晚點(diǎn)、途經(jīng)車站和歷史晚點(diǎn)五個(gè)服務(wù)器端接口。查看訂單添加車次購票添加車次詳情站站查詢車次查詢車次查詢接口的請求及返回結(jié)果參數(shù)如表 4-8 所示。表 4-8車次查詢接口請求及返回參數(shù)請求參數(shù)返回參數(shù)trainNumresultCode trainNum startS ionen
39、dSion r_Date d_Time a_Time a_LateTimed_LateTime站站查詢接口的請求及返回結(jié)果參數(shù)如表 4-9 所示。表 4-9車次查詢接口請求及返回參數(shù)請求參數(shù)返回參數(shù)startSionendSionresultCode trainNum startS ionendSion r_Date d_Time a_Time a_LateTimed_LateTime平均晚點(diǎn)接口的請求及返回結(jié)果參數(shù)如表 4-10 所示。表 4-10平均晚點(diǎn)接口請求及返回參數(shù)請求參數(shù)返回參數(shù)trainNum fromSiontoSiontrainNum d_LateTimea_LateTime
40、途經(jīng)車站接口的請求及返回結(jié)果參數(shù)如表 4-11 所示。表 4-11途經(jīng)車站接口請求及返回參數(shù)請求參數(shù)返回參數(shù)sion_train_coderesultCode sion_namestart_time arrive_timeremain歷史晚點(diǎn)接口的請求及返回結(jié)果參數(shù)如表 4-12 所示。表 4-12途經(jīng)車站接口請求及返回參數(shù)請求參數(shù)返回參數(shù)trainNumsionresultCode lateDatelateTime4.3.3 添加車次模塊添加車次模塊即將相應(yīng)車次添加到用戶的車次中,添加車次時(shí)需要選擇出發(fā)站與目的站,選擇車次,為此車次添加旅行代號(hào)并選擇乘車日期。其中選擇出發(fā)站與目的站時(shí)可以使用
41、語音識(shí)別輸入。同一乘車日期同一車次不能多次添加。添加車次模塊的服務(wù)器端包括請求車次列表和添加車次兩個(gè)接口。請求車次列表接口的請求及返回結(jié)果參數(shù)如表 4-13 所示。表 4-13請求車次列表接口請求及返回參數(shù)請求參數(shù)返回參數(shù)startSionendSionresultCode trainNum a_Time d_Time r_Date cfRunTime startLongitudestartLatitude添加車次接口的請求及返回結(jié)果參數(shù)如表 4-14 所示。表 4-14添加車次接口請求及返回參數(shù)請求參數(shù)返回參數(shù)u_id trainNum travelName startSionendSion
42、 t_StartTime r_Date startTime endTime startLongitude startLatitude receiveMsgreceivedReminderisRepeatReminderresultCode4.3.4車次模塊車次模塊中包含各個(gè)用戶添加車次的車次詳情,車次詳情包含本車次的詳細(xì)信息和實(shí)時(shí)信息,還可查看目的地天氣,趟車次。列車狀態(tài)到各社交,同時(shí)還可以刪除某車次信息主要包括車次、出發(fā)地、目的地、總耗時(shí)等信息。實(shí)時(shí)信息主要包括列車狀態(tài),距離上車站或下車站的站數(shù),晚點(diǎn)時(shí)間,正點(diǎn)到站時(shí)間及預(yù)計(jì)晚點(diǎn)時(shí)間等信息。目的地天氣包括目的站城市的實(shí)時(shí)天氣、溫度、濕度以及包
43、括今天在內(nèi)的未來三天目的站天氣及溫度詳情。列車狀態(tài)時(shí),默認(rèn)文字為列車狀態(tài)描述,配圖為車次界面當(dāng)前車次的截圖。用戶可以修改文字,配圖不可修改???。的包括、空間、郵件、等主流社交車次模塊結(jié)構(gòu)圖如圖 4-6 所示。車次車次詳情車次基本信息車次實(shí)時(shí)信息目的地天氣圖 4-6車次模塊結(jié)構(gòu)圖車次模塊流程圖如圖 4-7 所示。開始結(jié)束圖 4-7車次模塊流程圖車次模塊服務(wù)器端包括更新車次列表、刪除車次、更新實(shí)時(shí)信息、實(shí)時(shí)天氣預(yù)報(bào)和未來天氣預(yù)報(bào)六個(gè)接口。選擇要的并編輯內(nèi)容目的地天氣刪除車次車次詳情更新車次列表接口的請求及返回結(jié)果參數(shù)如表 4-15 所示。表 4-15更新車次列表接口請求及返回參數(shù)請求參數(shù)返回參數(shù)u
44、idresultCode serverId trainNum travelName startSionendSion t_StartTime r_Date startTime endTime startLongitude startLatitude receiveMsgreceivedReminder isRepeatReminderuserSus刪除車次接口的請求及返回結(jié)果參數(shù)如表 4-16 所示。表 4-16刪除車次接口請求及返回參數(shù)請求參數(shù)返回參數(shù)uidCoderesultCodesesserverId更新實(shí)時(shí)信息接口的請求及返回結(jié)果參數(shù)如表 4-17 所示。表 4-17更新實(shí)時(shí)信息接口
45、請求及返回參數(shù)請求參數(shù)返回參數(shù)trainNum t_StartTime startSionendSionresultCode sourceType msgType trainSus longitude latitudesionSpace lateTime userAddTrainuserOnTrain實(shí)時(shí)天氣預(yù)報(bào)接口的請求及返回結(jié)果參數(shù)如表 4-18 所示。表 4-18實(shí)時(shí)天氣預(yù)報(bào)接口請求及返回參數(shù)請求參數(shù)返回參數(shù)sionresultCode scity cityCode tempwindDirection windScale humidityupdateTime未來天氣預(yù)報(bào)接口的請求及返回結(jié)
46、果參數(shù)如表 4-19 所示。表 4-19未來天氣預(yù)報(bào)接口請求及返回參數(shù)請求參數(shù)返回參數(shù)sionresultCode city date1 date2 date3weather1 weather2 weather3 temp1 temp2 temp3 imgId1 imgId2imgId34.3.5 車友聊天室模塊車友聊天室主要包括公共聊天室和用戶所添加車次對(duì)應(yīng)的各個(gè)車次的聊天室,聊天 室可打開和關(guān)閉。公共聊天室包括所有安裝本應(yīng)用的用戶,車次聊天室只包含添加了此 車次的用戶,用戶只有在加入聊天室且打開聊天室狀態(tài)下才會(huì)收到此聊天室的聊天信息。聊天信息可包含文字與表情。當(dāng)收到新信息時(shí)若當(dāng)前界面非聊天
47、界面,應(yīng)用會(huì)發(fā)出通知并在通知欄顯示聊天信息,用戶也可以在設(shè)置界面中設(shè)置提醒方式。車友聊天室模塊的流程圖如圖 4-8 所示。開始是否已打開是否結(jié)束圖 4-8 車友聊天室模塊流程圖車友聊天室服務(wù)器端接口為更新聊天室狀態(tài)接口。更新聊天室狀態(tài)接口的請求及返回結(jié)果參數(shù)如表 4-20 所示。表 4-20未來天氣預(yù)報(bào)接口請求及返回參數(shù)請求參數(shù)返回參數(shù)uid tidisReceiveresultCode聊天打開聊天室關(guān)閉聊天室某車次(公共)聊天室4.3.6 安全防盜模塊安全防盜中包含藍(lán)牙行李防盜、耳機(jī)被拔出、充電狀態(tài)被打斷、從口袋中被取出、狀態(tài)被打斷。藍(lán)牙行李防盜需要另外一個(gè)藍(lán)牙設(shè)備與相連,如藍(lán)牙耳機(jī)。當(dāng)藍(lán)牙
48、設(shè)備與相距距離過長,導(dǎo)致充電狀態(tài)被打斷從口袋中被取出靜置狀態(tài)被打斷與藍(lán)牙設(shè)備連接斷開時(shí),就會(huì)發(fā)出。,即為,為,為從充電狀態(tài)變?yōu)槲闯潆姞顟B(tài)時(shí)會(huì)發(fā)出。距離感應(yīng)器檢測不到物體是發(fā)出。加速度達(dá)到一定速度時(shí)發(fā)出。靜置狀態(tài)被打斷報(bào)警可選擇低、較低、中、較高、高五種靈敏度。首次使用安全防盜功能需要用戶設(shè)置九宮格手勢,關(guān)閉防盜功能需要通過九宮格。當(dāng)達(dá)到條件時(shí)會(huì)在一定延遲(默認(rèn)為 3 秒)后才條件。,設(shè)置延遲是為了防止誤操作出發(fā)安全防盜模塊的結(jié)構(gòu)圖如圖 4-9 所示。安全防盜充電狀態(tài)被打斷報(bào)警從開袋中被取出報(bào)警耳機(jī)被拔出報(bào)警藍(lán)牙行李防盜狀態(tài)被打斷報(bào)警圖 4-9 車友聊天室模塊流程圖安全防盜模塊的流程圖如圖 4-
49、10 所示。開始結(jié)束圖 4-10 車友聊天室模塊流程圖4.3.7 信息收集模塊信息收集模塊主要包括晚點(diǎn)信息收集和車次詳情收集兩部分。晚點(diǎn)信息收集代碼塊每 10 分鐘執(zhí)行一次,收集下 10 分鐘會(huì)到站的所有列車在將要到達(dá)站的晚點(diǎn)時(shí)間并存入數(shù)據(jù)庫。防盜功能關(guān)閉輸入九宮格條件滿足觸發(fā)連接藍(lán)牙設(shè)備打開其他防盜打開藍(lán)牙行李防盜設(shè)置防盜九宮格車次詳情信息通過循環(huán)查詢車次列表中的車次每月收集一次。晚點(diǎn)信息收集流程圖如圖 4-11 所示。開始到站時(shí)間正點(diǎn)到站時(shí)間?晚點(diǎn)未晚點(diǎn)是下一車次?否結(jié)束圖 4-11 晚點(diǎn)信息收集流程圖4.4 數(shù)據(jù)庫設(shè)計(jì)本系統(tǒng)服務(wù)器端的數(shù)據(jù)庫包括用戶表(userb)、車次表(trainb)
50、、車站表(sionb)、車次詳情表(schb)、用戶車次表(usertrainb)、用戶會(huì)話表(usersesb)、歷史晚點(diǎn)信保存晚點(diǎn)時(shí)間請求 12306 此列車到此站的時(shí)間查詢之后 10 分鐘會(huì)到站的車次息表(historylatetimeb)、日志表(logb)??蛻舳说臄?shù)據(jù)庫包括用戶車次表(usertrainb)、服務(wù)器端用戶表(userb)如表 4-21 所示。表(chatmessageb)。表 4-21userb字段名類型長度主鍵默認(rèn)值IDNickName UserName Password HeadIconSex11404010020204020401111PRINULL NULL
51、 NULL NULL NULL NULL NULL NULL NULL 00varchar varchar varchar varchar varchar varchar varcharvarcharPhoneNumber RegistTime PoUserType服務(wù)器端車次表(trainb)如表 4-22 所示。表 4-22 trainb字段名類型長度主鍵默認(rèn)值IDT_type StartSEndSvarchar varchar varchar varcharvarchar202020202011PRINULL NULL NULL NULL NULL0ionionRunTimeDistan
52、ce服務(wù)器端車站表(sionb)如表 4-23 所示。表 4-23 sionb字段名類型長度主鍵默認(rèn)值IDShortCode Sion Code FullCode Latitude LongitudeCity1120202050PRINULL NULL NULL NULL NULL 0.00.0NULLvarchar varchar varchar varchar double doublevarchar50服務(wù)器端車次詳情表(schb)如表 4-24 所示。表 4-24schb字段名類型長度主鍵默認(rèn)值IDtrain_no11502020201110102010111101150505050P
53、RIvarchar varchar varcharvarcharNULL NULL NULL NULL 0 NULL NULL NULL NULL 00NULL 0 NULL NULL NULLNULLs s ssion_train_code ion_ecode ion_nameion_numberstart_time arrive_time train_class_name lishidistance sale_time update_time source_type p1p2p3 p4varchar varchar varcharvarchardatetimevarchar varchar
54、 varcharvarchar服務(wù)器端用戶車次表(usertrainb)如表 4-25 所示。usertrainb表 4-25字段名類型長度主鍵默認(rèn)值IDU_id T_idTravelName StartSionEndSion T_startDate R_date D_time EndTime StartLongitude StartLatitude ReceiveMsgReceivedReminder IsRepeatReminderUserSus11112040202040204040202011111111PRI0NULL NULL NULL NULL NULL NULL NULL NU
55、LL NULL NULL 0000varchar varchar varchar varchar varchar varchar varchar varchar varcharvarchar服務(wù)器端用戶會(huì)話表(usersesb)如表 4-26 所示。表 4-26usersesb字段名類型長度主鍵默認(rèn)值IDU_id SesCreateTime11114020PRI0NULL NULLvarcharvarchar服務(wù)器端歷史晚點(diǎn)信息表(historylatetimeb)如表 4-27 所示。表 4-27historylatetimeb字段名類型長度主鍵默認(rèn)值IDT_idSion LateDate
56、LateTime112020011PRIvarchar varchardateNULL NULL NULL0服務(wù)器端日志表(logb)如表 4-28 所示。表 4-28 logb字段名類型長度主鍵默認(rèn)值IDTitle Content LogTime1110000PRIvarchartext datetimeNULLNULL NULL客戶端的用戶車次表(usertrainb)如表 4-29 所示。表 4-29 usertrainb字段名類型長度主鍵默認(rèn)值_id ServerId U_id T_idTravelName StartSionEndSion StartTime EndTime R_Da
57、te T_StartTime UserSus StartLongitude StartLatitude ReceiveMsgReceivedReminder IsRepeatReminder ReceiveMsgReceivedReminderPRItext text text text text text text text text texttext表(chatmessageb)如表 4-30 所示??蛻舳说谋?4-30chatmessageb字段名類型長度主鍵默認(rèn)值IDU_id T_idNickName HeadId Message TimeePRItexttexttexttext4.5
58、 本章小結(jié)本章主要介紹了系統(tǒng)的功能模塊分析設(shè)計(jì)以及數(shù)據(jù)庫的實(shí)現(xiàn)。詳細(xì)介紹了個(gè)模塊的結(jié)構(gòu)、流程以及需要與服務(wù)器端通信的模塊的接口詳情。并詳細(xì)說明數(shù)據(jù)表結(jié)構(gòu)。5 系統(tǒng)實(shí)現(xiàn)5.1 各模塊具體實(shí)現(xiàn)通過前幾章的準(zhǔn)備、分析與設(shè)計(jì),現(xiàn)對(duì)各模塊進(jìn)行具體實(shí)現(xiàn)。5.1.1 用戶模塊實(shí)現(xiàn)用戶首次使用本應(yīng)用需要賬號(hào),界面如圖 5-1 所示。未登錄用戶需要登錄后才可使用本應(yīng)用,登錄界面如圖 5-2 所示。圖 5-1圖 5-2 登錄界面界面登錄后用戶可以查看或修改自己的個(gè)人信息,也可修改帳戶。同時(shí)用戶可以注銷當(dāng)前帳戶并使用其他帳戶登錄。個(gè)人信息界面如圖 5-3 所示。如果用戶忘記可以在登錄界面點(diǎn)擊找回。即可通過郵箱找會(huì),
59、如圖 5-4 所示。圖 5-3 個(gè)人信息界面圖 5-4 找回界面5.1.2 車次查詢模塊實(shí)現(xiàn)車次查詢模塊包括車次查詢和站站查詢兩部分。查詢界面分別如圖 5-5,圖 5-6 所示。圖 5-5 車次查詢界面圖 5-6 站站查詢界面車次查詢結(jié)果為此車次的車次詳情如圖 5-7 所示,站站查詢結(jié)果如圖 5-8 所示。圖 5-7 車次查詢結(jié)果界面圖 5-8 站站查詢結(jié)果界面在站站查詢結(jié)構(gòu)中長按某車次可以查看此車次的車次詳情,如圖 5-7,也可添加此車次到車次。點(diǎn)擊右上角的加號(hào)可對(duì)此查詢結(jié)果進(jìn)行,如圖 5-9 所示。點(diǎn)擊¥可查看此區(qū)間各列車的票價(jià),如圖 5-10 所示。圖 5-9 添加圖 5-10 票價(jià)界面
60、界面在站站查詢結(jié)果中點(diǎn)擊某車次,可預(yù)定此車次車票。訂購界面如圖 5-11 所示。若訂購時(shí)未登錄 12306 帳戶需先登錄,如圖 5-12。圖 5-11 預(yù)定車票界面圖 5-12登錄 12306 帳戶界面5.1.3 添加車次模塊實(shí)現(xiàn)添加車次界面如圖 5-13 所示。圖 5-13 添加車次界面5.1.4車次模塊實(shí)現(xiàn)車次里包含了用戶所添加的每個(gè)車次。界面如圖 5-14 所示。點(diǎn)擊天氣圖標(biāo)可查看目的站天氣詳情如圖 5-15 所示。圖 5-14車次界面圖 5-15 目的地天氣界面點(diǎn)擊按鈕可以此列車當(dāng)前動(dòng)態(tài)到各,如圖 5-16 所示。圖 5-16 目的地天氣界面5.1.5 車友聊天室模塊實(shí)現(xiàn)車友聊天室界面
溫馨提示
- 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ǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 東城賓館裝修合同范本
- 機(jī)械結(jié)構(gòu)設(shè)計(jì)與創(chuàng)新課件
- 老年綜合征護(hù)理
- 電廠應(yīng)急管理培訓(xùn)課程
- 手外傷護(hù)理常規(guī)
- 開展“樹清廉家風(fēng)-建和諧家庭”活動(dòng)總結(jié)模版
- 意識(shí)喪失的臨床護(hù)理
- 無痛病房護(hù)理
- 胰腺炎癥護(hù)理
- 門診護(hù)理禮儀規(guī)范要點(diǎn)
- 2025屆高考英語:閱讀理解及完型??贾攸c(diǎn)高頻(帶音標(biāo))500詞素材
- 2024年秋季新外研版三年級(jí)上冊英語課件 Appendices Mulan
- 《世界是普遍聯(lián)系的》名師課件
- 2024年五年級(jí)英語下冊 Module 8 Unit 2 I made a kite教案 外研版(三起)
- DL∕T 1909-2018 -48V電力通信直流電源系統(tǒng)技術(shù)規(guī)范
- 聽歌識(shí)曲完整版本
- NB-T32042-2018光伏發(fā)電工程建設(shè)監(jiān)理規(guī)范
- 延安通和電業(yè)招聘筆試真題2022
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識(shí)考試題庫及參考答案(完整版)
- 畜牧養(yǎng)殖大型沼氣項(xiàng)目可行性研究報(bào)告
- 陳志海-發(fā)熱伴血小板減少綜合征
評(píng)論
0/150
提交評(píng)論