畢業(yè)論文-巴士管家app的設(shè)計與實現(xiàn)_第1頁
畢業(yè)論文-巴士管家app的設(shè)計與實現(xiàn)_第2頁
畢業(yè)論文-巴士管家app的設(shè)計與實現(xiàn)_第3頁
畢業(yè)論文-巴士管家app的設(shè)計與實現(xiàn)_第4頁
畢業(yè)論文-巴士管家app的設(shè)計與實現(xiàn)_第5頁
已閱讀5頁,還剩31頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

畢業(yè)設(shè)計巴士管家app的設(shè)計與實現(xiàn)學(xué)生姓名學(xué)院專業(yè)班級學(xué)號1指導(dǎo)教師 2016年4月20日摘要近年來,隨著手機移動平臺的不斷發(fā)展,我們通過智能手機獲取信息也變得更加便捷,開發(fā)基于各種智能手機平臺的手機客戶端也已成為各大電子商務(wù)公司的主要研究方向。而隨著社會經(jīng)濟的發(fā)展以及人們生活水平的不斷提高,人們網(wǎng)上訂票變的越來越方便,本系統(tǒng)旨在開發(fā)一個基于android的巴士管家APP,解決用戶網(wǎng)上訂票的需求。巴士管家APP手機操作平臺是以Android為移動終端開發(fā)的一款移動手機平臺,該平臺的系統(tǒng)架構(gòu)主要分為以下幾層:應(yīng)用程序?qū)?、?yīng)用程序框架層、系統(tǒng)運行層和linux核心層。本課題在巴士管家APP中Android應(yīng)用進行了研究。統(tǒng)運用軟件開發(fā)流程的方法進行相應(yīng)的需求分析等,再基于java語言進行系統(tǒng)編碼,設(shè)計并實現(xiàn)了基于安卓平臺的巴士管家app。關(guān)鍵詞:Android;巴士管家APP系統(tǒng);電子商務(wù)AbstractInrecentyears,withthecontinuousdevelopmentofthemobileplatform,weobtaininformationfromsmartphoneshavealsobecomemoreconvenient,developedbasedonavarietyofintelligentmobilephoneclientalsohasbecomeamajore-commercecompany,themaindirectionoftheresearch.Andwiththedevelopmentofsocialeconomyandthecontinuousimprovementofpeople'slivingstandard,peopleticketsonlinehasbecomemoreandmoreconvenient,thissystemistodevelopabushousekeeperAPPbasedonandroid,meettherequirementsoftheuserticketsonline.BushousekeeperAPPmobileoperatingplatformwasdevelopedbyGoogleformobileterminalatrueopensourcemobileplatform,theplatformofthesystemarchitectureismainlycomposedofapplicationlayer,applicationframeworklayer,systemlayerandthekerneloperation.ThistopicforAndroidapplicationsinbushousekeeperAPPsystemsisstudied.Keywords:Android.BushousekeeperAPPsystem;Theelectroniccommerce目錄1緒論 11.1研究背景與應(yīng)用前景 11.2本文的基本內(nèi)容介紹 11.2.1論文工作 11.2.1論文結(jié)構(gòu)安排 11.3移動平臺的國內(nèi)外研究現(xiàn)狀 21.4研究內(nèi)容 32.相關(guān)技術(shù) 32.1Android應(yīng)用程序組件 32.2Android中基于TCP協(xié)議的Socket網(wǎng)絡(luò)通信 53.需求分析 73.1項目背景 73.2系統(tǒng)開發(fā)環(huán)境以及運行環(huán)境 73.3巴士管家app模塊圖 83.4巴士管家后臺模塊圖 94.巴士管家app設(shè)計 94.1概要設(shè)計 94.2使用流程設(shè)計 104.3系統(tǒng)數(shù)據(jù)庫設(shè)計 104.4系統(tǒng)客戶端的實現(xiàn) 124.2.1登錄/注冊界面 124.2.2主界面 144.2.2車票查詢界面 154.2.2查詢結(jié)果界面 184.2.3訂單確定界面 194.2.4確認(rèn)支付界面 194.2.5已完成訂單界面 204.2.6改簽界面 224.2.7個人信息界面 224.3系統(tǒng)服務(wù)端實現(xiàn) 234.3.1登錄模塊 234.3.2用戶信息管理 234.3.3車次信息管理 254.3.4訂單信息管理 265.系統(tǒng)測試 275.1客戶端測試 275.2服務(wù)端測試 286.結(jié)論 28參考文獻 30致謝 311緒論1.1研究背景與應(yīng)用前景隨著計算機的普及,互聯(lián)網(wǎng)用戶的增加,網(wǎng)上資源日益豐富,電子商務(wù)和網(wǎng)絡(luò)經(jīng)濟也隨之發(fā)展壯大,并且受到越來越多的關(guān)注,參與到其中的也越來越多,。Android平臺主要是由Java和Linux組成的。由于該平臺的架構(gòu)相對簡單,對硬件的的要求也不是那么高。另外,由于Android的低成本和開源性,Androidapp逐漸成為現(xiàn)在手機軟件市場上最多的一款。隨著現(xiàn)在的Android手機的普及,低價和便捷,我們能方便地使用它獲取自己所需要的各種信息。本課題它是在Android移動平臺上來設(shè)計并實現(xiàn)一款用于汽車票的查詢購買的手機應(yīng)用軟件。1.2本文的基本內(nèi)容介紹1.2.1論文工作研究工作:隨著這幾年大量的服務(wù)性軟件的出現(xiàn),電子商務(wù)快速的發(fā)展,人們開始愈發(fā)的需要快捷的出行,而汽車出行是當(dāng)下最普遍的出行方式,但是在購票時,總會很麻煩。本文根據(jù)在線購票的趨勢,在android平臺上進行開發(fā)巴士管家軟件。實現(xiàn)工作:本人通過學(xué)習(xí)android開發(fā),設(shè)計并實現(xiàn)巴士管家app。使用JSP技術(shù)編寫了后臺網(wǎng)站,使用Mysql數(shù)據(jù)庫作為本地的數(shù)據(jù)庫,通過Http協(xié)議用JSON數(shù)據(jù)解析技術(shù)實現(xiàn)app與后臺數(shù)據(jù)庫通信。1.2.1論文結(jié)構(gòu)安排第一章,緒論。本章節(jié)對該課題的研究背景及目的進行介紹,簡要說明當(dāng)前移動平臺的介紹。第二章,相關(guān)技術(shù)。本章主要介紹了在開發(fā)過程中使用到的一下技術(shù)。第三章,需求分析。本章主要介紹巴士管家app的系統(tǒng)模塊。第四章,巴士管家app設(shè)計。本章將介紹巴士管家使用過程中數(shù)據(jù)庫的設(shè)計,巴士管家app的實現(xiàn)和后臺網(wǎng)站的實現(xiàn),將說明部分重要代碼。第五章,系統(tǒng)測試。本章主要介紹了系統(tǒng)測試的方式和結(jié)果。1.3移動平臺的國內(nèi)外研究現(xiàn)狀智能機操作系統(tǒng)經(jīng)過多年發(fā)展,到現(xiàn)在形成了三家獨大的情況:Android、iOS、Windowsphone8。而其他的諸如SymbianS60,UIQ,WindowsMobile,Linux,Brew、Blackberry……則成為了過眼煙云。今天,Android更是在市場上有75%的占有率;在國內(nèi)比例更甚,達到90%之多。(1)蘋果IOS平臺IOS體系是由蘋果其下移動終端操作系統(tǒng)開發(fā)的,它可分為四級:可輕觸層(theCocoaTouchLayer),媒體層(theMedialayer),核心操作系統(tǒng)層(theCoreOSlayer),核心服務(wù)層(theCoreServiceslayer)。IOS的界面是由用戶通過多點觸控來進行操作。它有輕觸開關(guān)及按鍵,多點觸控操作和滑動等控制方式。同時還可以以輕按,滑動及旋轉(zhuǎn)的方式來進行與系統(tǒng)直接的互動。截止到2015年6月,iOS系統(tǒng)在智能手機操作系統(tǒng)中占據(jù)53%的比重。(2)WindowsPhone平臺WindowsPhone是由微軟發(fā)布的一種基于旗下手機的操作系統(tǒng),它具備桌面定制、圖標(biāo)拖拽、滑動控制等一系列類似于在電腦上操作的體驗感覺。它的屏幕能夠顯示新的電子郵件、短信、未接來電等,讓人們能夠及時更新一些自己比較重要的信息。(3)Android平臺Android平臺是在Linux為核心的手機開發(fā)平臺,它包含了操作系統(tǒng),中間件和應(yīng)用程序。AndroidSDK,它為開發(fā)人員將提供必要的API,以便使用Java語言編寫的Android平臺上的應(yīng)用。Android具有的優(yōu)點包含以下幾點:應(yīng)用程序的相互平等、應(yīng)用程序之間的無界限、真正的開放性和應(yīng)用程序開發(fā)的快速方便等。1.4研究內(nèi)容(1)完成基于Android汽車訂票系統(tǒng)數(shù)據(jù)庫設(shè)計;(2)完成Android汽車訂票系統(tǒng)及UI界面;(3)利用JSP技術(shù)作為后臺語言,完成系統(tǒng)服務(wù)端設(shè)計;(4)實現(xiàn)系統(tǒng)用戶的車次管理、訂單管理、支付信息等內(nèi)容;(5)完成基于Android的汽車訂票系統(tǒng)客戶端和服務(wù)端數(shù)據(jù)傳送的實現(xiàn);2.相關(guān)技術(shù)2.1Android應(yīng)用程序組件在開發(fā)Android應(yīng)用程序前,應(yīng)當(dāng)了解一些關(guān)于Android應(yīng)用程序的核心的組成部分。只有掌握這些應(yīng)用程序的基本組成知識,才能靈活的運用它們,使整個應(yīng)用程序的開發(fā)變得簡單。Android應(yīng)用程序是沒有指定的程序入口的(類似于C語言中的mainO函數(shù)),但是多個不同的組件組成的一個Android應(yīng)用程序,是可以通過Intent來實現(xiàn)組件之間的通信。Android系統(tǒng)的基本組件主要包括Activity、Service、BroadcastReceiver和ContentProvider,還有用于基本組件之間傳遞消息的Intent組件,而在應(yīng)用中使用到的組件會在程序的配置文件Android-Manifest.xml中聲明。在Android應(yīng)用程序中各組件之間關(guān)系如圖2-1所示,其中Android-Manifest.xml是一個對整個Android應(yīng)用程序的進行配置的文件,它將負(fù)責(zé)Activity、View、Intent等進行不同的組合。圖2-1Android應(yīng)用程序組件(1)Activity這是一個在Android程序中最常用的組件,是應(yīng)用程序的表示層,是整個程序的基類,各個功能界面的顯示是通過繼承和擴展Activity基類來實現(xiàn)的。Activity要實現(xiàn)應(yīng)用程序的圖形用戶界面(GUI)就需要使用View,而用戶可以直接通過GUI來和應(yīng)用程序來進行交互,比如說,用戶向應(yīng)用程序發(fā)出各種指令和響應(yīng)是需要通過GUI的,應(yīng)用程序同樣是可以通過GUI向用戶顯示信息。Activity的生命周期主要包含三個狀態(tài),通過不同的回調(diào)方法來實現(xiàn)不同狀態(tài)之間的切換。1) 運行性;2) 暫停態(tài);3) 停止態(tài)。(2)ServiceService是沒有可見的用戶界面,這點與Activity是不一樣的,但是Service卻可以在后臺長時間的運行。換句話說,就是Service雖然看不到它,但是它確實是存在,并有著很長的存在時間,就是生命周期很長。Service固然是通過Activity啟動,但是與Activity不同的是當(dāng)Activity的生命周期結(jié)束時,Service的生命周期依舊存在,它還在運行著,直到自己的生命周期結(jié)束為止。Service的啟動方式有兩種。1) startService方式啟動;2) bindservice方式啟動。(3)BroadcastReceiverBroadcastReceiver作為Android四大組件之一,不像Activity,它沒有可顯示的界面。BroadcastReceiver包括兩個概念,廣播發(fā)送者和廣播接收者(Receiver),這里的廣播實際就是指Intent,程序可以自己發(fā)送廣播自己接收,也可以接受系統(tǒng)或其他應(yīng)用的廣播或是發(fā)送廣播給其他應(yīng)用程序。BroadcastReceiver的使用過程如下。1) 將需要廣播的消息封裝到Intent中。2) 然后通過三種發(fā)送方式中的一種將Intent廣播出去。3) 通過IntentFilter對象來過濾所發(fā)送的實體Intent。4) 實現(xiàn)一個重寫了onReceive方法的BroadcastReceiver。(4)ContentProviderContentProvider類是應(yīng)用程序中主要用來實現(xiàn)各種應(yīng)用程序之間數(shù)據(jù)共享的。當(dāng)需要進行數(shù)據(jù)共享時,一般利用ContentProvider為需要共享的數(shù)據(jù)定義一個URI,然后其他應(yīng)用程序通過Context獲得ContextResolver并將數(shù)據(jù)的URI傳入即可。(5)Intent——連接組件的紐帶Intent是Android極為重要的組件,通過Intent來完成應(yīng)用程序不同組件之間的通信。應(yīng)用通過Intent向Android系統(tǒng)發(fā)出請求,Android系統(tǒng)會依據(jù)請求內(nèi)容查找來自各個組件中的IntentFilter,找到請求所需要的組件并運行它。2.2Android中基于TCP協(xié)議的Socket網(wǎng)絡(luò)通信Socke是用來描述端口以及IP地址的,它被稱作“套接字”,應(yīng)用程序向網(wǎng)絡(luò)發(fā)出請求或者應(yīng)答網(wǎng)絡(luò)請求通常都是通過Socke來進行的。在一個網(wǎng)絡(luò)連接中,套接字是不存在差別的,不會是因為在服務(wù)器端或在客戶端的不同而產(chǎn)生不同級別。其中,建立網(wǎng)絡(luò)連接時會使用Socket,而ServerSocke將用于服務(wù)器端。如果服務(wù)器端與客戶端直接的連接是成功的,那么客戶端與服務(wù)端都會產(chǎn)生一個Socket實例。應(yīng)用程序應(yīng)用程序應(yīng)用程序套接字套接字UDPTCPTCPUDPIPIP通信信道通信信道IP圖2-2Socket通信模型在得到服務(wù)器端主機的IP地址后,客戶端就可以發(fā)起通信。然后通過服務(wù)器端IP地址,將客戶端要發(fā)送的信息發(fā)送到服務(wù)端的主機上。在Java中,InetAddress類表明了主機名和數(shù)字類型?,F(xiàn)在將介紹一個基于TCP協(xié)議操作Socket的API:(1) ServerSocket:用來監(jiān)聽來自網(wǎng)絡(luò)的請求的表示服務(wù)器端的Socket的類。(2) Socket:實現(xiàn)對網(wǎng)絡(luò)上一個服務(wù)器的一個端口發(fā)送連接請求凡人客戶端的Socket的類,若成功連接,就打開會話;會話完成之后就關(guān)閉Socket。操作TCPSocket的圖示:輸出流輸出流OutputStream輸入流InputStream輸入流InputStream輸出流OutputStream客戶端服務(wù)端SocketServerSocket圖2-3TCPSocket的操作3.需求分析3.1項目背景 隨著Android手機的普及,人們在日常生活中使用安卓手機。所以這也是使用android平臺來實現(xiàn)此次畢業(yè)設(shè)計的主要原因。而越來越多的人們都不太愿意前往汽車站去購買車票,而是選擇在移動端進行購票,能夠節(jié)省很多時間。3.2系統(tǒng)開發(fā)環(huán)境以及運行環(huán)境(1)開發(fā)環(huán)境開發(fā)環(huán)境在win7下運行,使用Eclipse和MyEclipse進行對手機app和后臺網(wǎng)站的開發(fā)。(2)運行環(huán)境在InternetExplorer8.0及以上版本的瀏覽器中運行后臺網(wǎng)站,在Android2.2以及以上版本運行手機app。3.3巴士管家app模塊圖巴士管家app巴士管家app登錄注冊注冊界面主界面查詢訂單賬戶車票查詢查詢結(jié)果訂單確認(rèn)訂單查看個人信息退出賬戶車票預(yù)定支付界面支付成功車票改簽退票圖3-1巴士管家app模塊圖3巴士管家后臺用戶信息管理車次信息管理訂單信息管理訂單匯總查看用戶信息修改用戶信息查看車次信息修改車次信息巴士管家后臺用戶信息管理車次信息管理訂單信息管理訂單匯總查看用戶信息修改用戶信息查看車次信息修改車次信息查看訂單信息刪除訂單圖3-2巴士管家后臺模塊圖4.巴士管家app設(shè)計4.1概要設(shè)計本系統(tǒng)由androidapp以及后臺網(wǎng)站組成。在androidapp中,用戶可以進行賬號的注冊,用戶登錄,車次查詢、確認(rèn)車票、車票支付、查看歷史訂單等操作;在后臺網(wǎng)站中,管理員可以進行對用戶信息,車次信息,訂單信息等操作。圖4-1系統(tǒng)框架圖4.2使用流程設(shè)計汽車訂票系統(tǒng)的業(yè)務(wù)流程,當(dāng)用戶通過安卓客戶端登陸本系統(tǒng)時,新用戶來可以點擊“注冊”按鈕進行新用戶的注冊,完成注冊之后,即可進行用戶登陸操作,登陸進本系統(tǒng)后,會有相應(yīng)的汽車訂票功能模塊顯示(包括車票預(yù)訂、訂單管理查看訂單,確認(rèn)訂單等等)。系統(tǒng)管理員從瀏覽器登陸后臺管理系統(tǒng)之后,可以看到:用戶信息管理模塊、車次信息管理模塊、訂單信息管理模塊、這三個模塊。管理員可以點擊對應(yīng)的模塊進行相應(yīng)的操作。4.3系統(tǒng)數(shù)據(jù)庫設(shè)計(1)orders表表1orders表序號列名數(shù)據(jù)類型長度小數(shù)位標(biāo)識主鍵外鍵允許空默認(rèn)值說明1idint10是是否auto_increment2codevarchar20是3startstationvarchar20是4startTimevarchar30是5endstationvarchar20是6endtimevarchar20是7usetimevarchar30是8gotimevarchar30是9pricevarchar30是10usernamevarchar30是11statusvarchar30是12memovarchar30是(2)ticket表表2ticket表序號列名數(shù)據(jù)類型長度小數(shù)位標(biāo)識主鍵外鍵允許空默認(rèn)值說明1idint10是是否auto_increment2startstationvarchar30是3startTimevarchar30是4endstationvarchar30是5endtimevarchar30是6usetimevarchar30是7numbervarchar30是8pricevarchar30是9memovarchar30是10codevarchar40是(3)userinfo表表3userinfo表序號列名數(shù)據(jù)類型長度小數(shù)位標(biāo)識主鍵外鍵允許空默認(rèn)值說明1idint10是是否auto_increment2namevarchar50是3pwdvarchar20是4phonevarchar20是5realnamevarchar30是6emailvarchar30是7idcardvarchar30是8memovarchar20是4.4系統(tǒng)客戶端的實現(xiàn)4.2.1登錄/注冊界面手機端程序打開之后登陸界面如圖4-1所示,登陸界面由Button、TextView、EditText這幾個控件組成。該界面采用相對布局RelativeLayout進行布局。Button控件:用于顯示登錄按鈕和注冊按鈕,以及左上角的退出按鈕。Android:background="@drawable/title_btn_back"語句的作用是設(shè)置按鈕的樣式。EditText控件:用于顯示用戶名文本框和密碼文本框,其中Android:password="true"表示將輸入內(nèi)容以密文的方式顯示出來。用戶通過輸入正確賬號和密碼,點擊登陸按鈕之后,即可進入主功能界面,如果沒有輸入賬號和密碼或者輸入的賬號密碼不正確,則會有相應(yīng)的請輸入賬號密碼提示或者賬號密碼輸入不正確的提示。圖4-1登錄界面 在沒有帳號的情況下,用戶可以進行注冊操作,點擊注冊按鈕,進入注冊界面,進行對新賬號的注冊,效果如下圖4-2所示:圖4-2注冊界面功能實現(xiàn)主要代碼如下:publicvoidonClick(Viewarg0){ //獲取輸入信息 //驗證用戶名,真實姓名,手機號碼,郵箱,身份證是否已經(jīng)被注冊 //將信息添加到數(shù)據(jù)庫 //跳轉(zhuǎn)到下一個頁面顯示 Stringres_name=name.getText().toString(); Stringres_pass1=pass1.getText().toString(); Stringres_pass2=pass2.getText().toString(); Stringres_realname=realname.getText().toString(); Stringres_phone=phone.getText().toString(); Stringres_email=email.getText().toString(); Stringres_idCard=idCard.getText().toString();4.2.2主界面進入手機app后,會直接進入主界面,在主界面中可以選擇是進行車票的查詢,訂單的查看,還是查看個人信息。主界面如圖4-3所示:圖4-3主界面功能實現(xiàn)主要代碼如下://生成動態(tài)數(shù)組,并且轉(zhuǎn)入數(shù)據(jù) ArrayList<HashMap<String,Object>>lstImageItem=newArrayList<HashMap<String,Object>>(); HashMap<String,Object>map=newHashMap<String,Object>(); map.put("ItemImage",R.drawable.button_1);//添加圖像資源的ID map.put("ItemText","查詢");//按序號做ItemText lstImageItem.add(map); HashMap<String,Object>map1=newHashMap<String,Object>(); map1.put("ItemImage",R.drawable.button_2);//添加圖像資源的ID map1.put("ItemText","訂單");//按序號做ItemText lstImageItem.add(map1); HashMap<String,Object>map4=newHashMap<String,Object>(); map4.put("ItemImage",R.drawable.button_3);//添加圖像資源的ID map4.put("ItemText","賬戶");//按序號做ItemText lstImageItem.add(map4);4.2.2車票查詢界面預(yù)定面如圖4-4所示:通過使用事件監(jiān)聽器spFrom.setOnItemSelectedListener(newOnItemSelectedListener()和spTo.setOnItemSelectedListener(newOnItemSelectedListener()得到起始站和抵達站的信息,為日期對話框設(shè)置監(jiān)聽事件:OnDateSetListener(),當(dāng)日期選擇的話,會觸發(fā)這個事件。通過復(fù)寫onDateSet()來實現(xiàn)下次查詢。用戶通過選擇出發(fā)地和目的地及出發(fā)日期,選擇完成后點擊查詢按鈕,系統(tǒng)將會在數(shù)據(jù)庫中查詢具有相同出發(fā)地和目的地的車次,并將車次信息顯示出來。圖4-4車票查詢界面//起始站 spFrom.setOnItemSelectedListener(newOnItemSelectedListener(){ @Override publicvoidonItemSelected(AdapterView<?>parent,Viewv, intposition,longid){ String[]station=getResources().getStringArray(R.array.station_choice); intindex=(int)id; StartStation=station[index]; } @Override publicvoidonNothingSelected(AdapterView<?>arg0){ }}); //抵達站 spTo.setOnItemSelectedListener(newOnItemSelectedListener(){ @Override publicvoidonItemSelected(AdapterView<?>parent,Viewv, intposition,longid){ String[]station=getResources().getStringArray(R.array.station_choice); intindex=(int)id; ArriveStation=station[index]; }4.2.2查詢結(jié)果界面查詢結(jié)果界面是通過使用ListView的方式,將多個符合查詢條件的結(jié)果放在同一個界面上,用switch(msg.what)語句實現(xiàn)多結(jié)果的輸出。用戶在點擊查詢按鈕后,系統(tǒng)將在數(shù)據(jù)庫中匹配符合條件的車次,并將他們顯示出來。效果如下圖4-5所示:圖4-5查詢結(jié)果界面功能實現(xiàn)主要代碼如下:switch(msg.what){ case1: data=newArrayList<Map<String,Object>>(); for(inti=0;i<list.size();i++){ Map<String,Object>map=newHashMap<String,Object>(); map.put("車牌",list.get(i).getCode()); map.put("發(fā)車站",list.get(i).getStartstation()); map.put("發(fā)車時間",list.get(i).getStartTime()); map.put("抵達站",list.get(i).getEndstation()); map.put("抵達時間",list.get(i).getEndtime()); map.put("歷時",list.get(i).getUsetime()); map.put("余票量",list.get(i).getNumber()); map.put("票價",list.get(i).getPrice()); map.put("日期",newDate()+""); data.add(map);//將每一行顯示數(shù)據(jù)以鍵-值對形式存儲到Map中 };4.2.3訂單確定界面當(dāng)前訂單界面如圖4-6所示:該界面是一個相對布局,由多個<TextView控件和一個button控件組成,多個TextView將車票的信息顯示出來。通過使用時間監(jiān)聽器orderBtn.setOnClickListener(newOnClickListener(),在按下按鈕后事件發(fā)生,跳轉(zhuǎn)進入支付界面。在這個頁面,用戶可以看到自己要的車次的信息,圖中顯示的是在4-19日7點從上海出發(fā)到達鹽城的汽車,車次是003779,歷時4小時,在11點到達,票價120,乘客是paco。圖4-6車票預(yù)訂界面功能實現(xiàn)主要代碼如下:orderBtn.setOnClickListener(newOnClickListener(){//確認(rèn)訂單 @Override publicvoidonClick(Viewarg0){ Intentintent=getIntent(); intent.setClass(ConfirmOrdersActivity.this,ConfirmPayActivity.class); startActivity(intent); } });4.2.4確認(rèn)支付界面當(dāng)前訂單界面如圖4-7所示:該界面同樣是一個相對布局,由控件Button和TextView組成。通過設(shè)置payBtn.setOnClickListener(newOnClickListener()和cancelBtn.setOnClickListener(newOnClickListener()2個按鈕監(jiān)聽器,在支付成功后,使用Map<String,String>getParams()方法將訂單信息錄入到數(shù)據(jù)庫中。如圖所示,上半部分顯示了車票信息,下部有2個button,通過點擊繼續(xù)支付按鈕跳轉(zhuǎn)支付成功界面,而取消按鈕是返回查詢結(jié)果界面。圖4-7確認(rèn)支付界面 點擊繼續(xù)支付按鈕,進行支付操作,在支付操作這邊,使用了虛擬支付的方式進行操作,直接得到了支付成功的界面效果,界面如下圖4-8所示:圖4-8支付成功界面功能實現(xiàn)主要代碼如下:StringRequestrequest=newStringRequest(Request.Method.POST, Config.IP+"order?method=doorder", newResponse.Listener<String>(){ @Override publicvoidonResponse(Stringarg0){ if("ok".equals(arg0)){ Toast.makeText(getApplicationContext(), "支付成功,請您按時乘車!",2).show(); }else{ Toast.makeText(getApplicationContext(), "支付失敗",2).show(); }}4.2.5已完成訂單界面已完成訂單界面如圖4-9所示,由控件TextView和ListView組成,在已完成訂單中,用戶可以查看之前已支付的車票信息。圖4-9已完成訂單界面功能實現(xiàn)主要代碼如下:data=newArrayList<Map<String,Object>>(); for(inti=0;i<list.size();i++){ Map<String,Object>map=newHashMap<String,Object>(); map.put("訂單編號",list.get(i).getId()); map.put("車牌",list.get(i).getCode()); map.put("發(fā)車站",list.get(i).getStartstation()); map.put("發(fā)車時間",list.get(i).getStartTime()); map.put("抵達站",list.get(i).getEndstation()); map.put("抵達時間",list.get(i).getEndtime()); map.put("乘客姓名",list.get(i).getUsername()); map.put("身份證號",list.get(i).getUserid()); map.put("票價",list.get(i).getPrice()); map.put("日期",newDate()+""); map.put("車票狀態(tài)",list.get(i).getStatus()); data.add(map);//將每一行顯示數(shù)據(jù)以鍵-值對形式存儲到Map中 }4.2.6改簽界面改簽界面如圖4-10所示,由控件TextView和Button組成,在此界面中用戶可以查詢到需要改簽的車票,進入到車票改簽操作。圖4-10改簽界面4.2.7個人信息界面?zhèn)€人信息界面如圖4-11所示,由控件TextView和ListView組成,在此界面中可以看到已經(jīng)登錄的用戶的個人詳細(xì)信息。圖4-11改簽界面4.3系統(tǒng)服務(wù)端實現(xiàn)4.3.1登錄模塊當(dāng)用戶進入系統(tǒng)是就會出現(xiàn)登錄界面,用戶輸入正確的用戶名以及密碼之后就能進入系統(tǒng),否則提示登錄不成功。系統(tǒng)登錄界面如下圖4-12所示:圖4-12系統(tǒng)服務(wù)端的登錄界面功能實現(xiàn)主要代碼如下:<ul><li><inputname="name"type="text"class="loginuser"/></li><li><inputname="pwd"type="password"class="loginpwd"/></li><li><inputtype="submit"class="loginbtn"value="登錄"/><label><inputname=""type="checkbox"value=""checked="checked"/>記住密碼</label><label><ahref="#">忘記密碼?</a></label></li></ul>4.3.2用戶信息管理 用戶信息管理:對用戶的信息進行修改,刪除。界面如下圖4-13所示:圖4-13用戶信息管理界面 點擊修改,進入具體的用戶信息修改界面,在界面中對用戶信息進行詳細(xì)修改。界面如下圖4-14所示:圖4-14用戶信息修改界面功能實現(xiàn)主要代碼如下:<li><label>賬號<b>*</b></label><inputname="name"type="text"class="dfinput"style="width:518px;"/></li><li><label>密碼<b>*</b></label><inputname="pwd"type="text"class="dfinput"style="width:518px;"/></li><li><label>電話<b>*</b></label><inputname="phone"type="text"class="dfinput"style="width:518px;"/></li><li><label>真實姓名<b>*</b></label><inputname="realname"type="text"class="dfinput"style="width:518px;"/></li><li><label>郵箱<b>*</b></label><inputname="email"type="text"class="dfinput"style="width:518px;"/></li><li><label>身份證號<b>*</b></label><inputname="idcard"type="text"class="dfinput"style="width:518px;"/></li><li><a><inputname=""type="submit"class="sure"value="添加"/></a></li>4.3.3車次信息管理車次信息管理:對車次的信息進行新增、修改及刪除的操作。車次的種類信息包括:車次、起始站、發(fā)車時間、終點站、到站時間、歷時、價錢、余票。如下圖4-15所示:圖4-15車次信息管理界面點擊添加按鈕,進入車次添加界面,界面效果如下圖4-164所示:圖4-16車次信息管理界面 <li><label>車次<b>*</b></label><inputname="code"type="text"class="dfinput"style="width:518px;"/></li> <li><label>起始站<b>*</b></label><inputname="startstation"type="text"class="dfinput"style="width:518px;"/></li> <li><label>發(fā)車時間<b>*</b></label><inputname="startTime"type="text"class="dfinput"style="width:518px;"/></li> <li><label>終點站<b>*</b></label><inputname="endstation"type="text"class="dfinput"style="width:518px;"/></li> <li><label>到站時間<b>*</b></label><inputname="endtime"type="text"class="dfinput"style="width:518px;"/></li> <li><label>歷時<b>*</b></label><inputname="usetime"type="text"class="dfinput"style="width:518px;"/></li> <li><label>價錢<b>*</b></label><inputname="number"type="text"class="dfinput"style="width:518px;"/></li> <li><label>余票<b>*</b></label><inputname="price"type="text"class="dfinput"style="width:518px;"/></li> <li><a><inputname=""type="submit"class="sure"value="添加車次"/></a></li>4.3.4訂單信息管理訂單信息管理:對訂單的信息進行操作。訂單信息包括:編號、車次、起始站、發(fā)車時間、終點站、到站時間、歷時、乘車時間、價錢、乘車人、訂單狀態(tài)、備注。如下圖4-17所示:圖4-17

溫馨提示

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

最新文檔

評論

0/150

提交評論