畢業(yè)設(shè)計-面向Android的汽車租賃系統(tǒng)的設(shè)計與開發(fā)_第1頁
畢業(yè)設(shè)計-面向Android的汽車租賃系統(tǒng)的設(shè)計與開發(fā)_第2頁
畢業(yè)設(shè)計-面向Android的汽車租賃系統(tǒng)的設(shè)計與開發(fā)_第3頁
畢業(yè)設(shè)計-面向Android的汽車租賃系統(tǒng)的設(shè)計與開發(fā)_第4頁
畢業(yè)設(shè)計-面向Android的汽車租賃系統(tǒng)的設(shè)計與開發(fā)_第5頁
已閱讀5頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、鹽城師范學院畢業(yè)設(shè)計第 第 頁,共 SECTIONPAGES 26 頁目 錄TOC o 1-3 h u HYPERLINK l _Toc452843885 1緒論 PAGEREF _Toc452843885 h 3 HYPERLINK l _Toc452843886 1.1課題背景和意義 PAGEREF _Toc452843886 h 3 HYPERLINK l _Toc452843887 1.2 課題研究的主要內(nèi)容 PAGEREF _Toc452843887 h 3 HYPERLINK l _Toc452843888 2 系統(tǒng)開發(fā)的環(huán)境及技術(shù)分析 PAGEREF _Toc452843888

2、h 3 HYPERLINK l _Toc452843889 2.1 開發(fā)環(huán)境 PAGEREF _Toc452843889 h 3 HYPERLINK l _Toc452843890 2.2 技術(shù)分析 PAGEREF _Toc452843890 h 4 HYPERLINK l _Toc452843891 2.2.1 Android技術(shù) PAGEREF _Toc452843891 h 4 HYPERLINK l _Toc452843892 2.2.2 Axis2框架 PAGEREF _Toc452843892 h 4 HYPERLINK l _Toc452843893 2.2.3 推送技術(shù) PAG

3、EREF _Toc452843893 h 5 HYPERLINK l _Toc452843894 3 需求分析 PAGEREF _Toc452843894 h 6 HYPERLINK l _Toc452843895 3.1 系統(tǒng)可行性分析 PAGEREF _Toc452843895 h 6 HYPERLINK l _Toc452843896 3.1.1 技術(shù)可行性 PAGEREF _Toc452843896 h 6 HYPERLINK l _Toc452843897 3.1.1 法律可行性 PAGEREF _Toc452843897 h 6 HYPERLINK l _Toc452843898

4、3.1.3 經(jīng)濟可行性 PAGEREF _Toc452843898 h 6 HYPERLINK l _Toc452843899 3.2 系統(tǒng)功能性分析 PAGEREF _Toc452843899 h 7 HYPERLINK l _Toc452843900 3.2.1 手機客戶端 PAGEREF _Toc452843900 h 7 HYPERLINK l _Toc452843901 3.2.2 瀏覽器服務(wù)端 PAGEREF _Toc452843901 h 7 HYPERLINK l _Toc452843902 4 系統(tǒng)總體設(shè)計 PAGEREF _Toc452843902 h 7 HYPERLIN

5、K l _Toc452843903 4.1 設(shè)計原則 PAGEREF _Toc452843903 h 7 HYPERLINK l _Toc452843904 4.2 體系架構(gòu) PAGEREF _Toc452843904 h 8 HYPERLINK l _Toc452843905 4.3 數(shù)據(jù)庫表設(shè)計 PAGEREF _Toc452843905 h 8 HYPERLINK l _Toc452843906 4.4 客戶端模塊設(shè)計 PAGEREF _Toc452843906 h 10 HYPERLINK l _Toc452843907 4.5 服務(wù)端模塊設(shè)計 PAGEREF _Toc45284390

6、7 h 12 HYPERLINK l _Toc452843908 5 系統(tǒng)詳細設(shè)計與編碼實現(xiàn) PAGEREF _Toc452843908 h 13 HYPERLINK l _Toc452843909 5.1 數(shù)據(jù)庫連接 PAGEREF _Toc452843909 h 13 HYPERLINK l _Toc452843910 5.2 手機客戶端 PAGEREF _Toc452843910 h 14 HYPERLINK l _Toc452843911 5.2.1 自定義適配器實現(xiàn) PAGEREF _Toc452843911 h 14 HYPERLINK l _Toc452843912 5.2.2

7、推送消息的獲取 PAGEREF _Toc452843912 h 15 HYPERLINK l _Toc452843913 5.2.3 客戶端AsyncTask請求 PAGEREF _Toc452843913 h 16 HYPERLINK l _Toc452843914 5.2.4 定位實現(xiàn) PAGEREF _Toc452843914 h 18 HYPERLINK l _Toc452843915 5.3 瀏覽器服務(wù)端 PAGEREF _Toc452843915 h 19 HYPERLINK l _Toc452843916 5.3.1 查詢實現(xiàn) PAGEREF _Toc452843916 h 19

8、 HYPERLINK l _Toc452843917 5.3.2 新增實現(xiàn) PAGEREF _Toc452843917 h 19 HYPERLINK l _Toc452843918 6 系統(tǒng)測試 PAGEREF _Toc452843918 h 20 HYPERLINK l _Toc452843919 6.1 系統(tǒng)測試的目的及意義 PAGEREF _Toc452843919 h 20 HYPERLINK l _Toc452843920 6.2 客戶端功能測試 PAGEREF _Toc452843920 h 21 HYPERLINK l _Toc452843921 6.2.1 登錄功能測試 PAG

9、EREF _Toc452843921 h 21 HYPERLINK l _Toc452843922 6.2.2 租車功能測試 PAGEREF _Toc452843922 h 21 HYPERLINK l _Toc452843923 6.2.3 用戶信息測試 PAGEREF _Toc452843923 h 21 HYPERLINK l _Toc452843924 6.2.4 訂單功能測試 PAGEREF _Toc452843924 h 22 HYPERLINK l _Toc452843925 6.2.5 邊緣功能測試 PAGEREF _Toc452843925 h 22 HYPERLINK l

10、_Toc452843926 6.3 后臺功能測試 PAGEREF _Toc452843926 h 23 HYPERLINK l _Toc452843927 結(jié)束語 PAGEREF _Toc452843927 h 24 HYPERLINK l _Toc452843928 參考文獻 PAGEREF _Toc452843928 h 25 HYPERLINK l _Toc452843929 致 謝 PAGEREF _Toc452843929 h 261緒論課題背景和意義隨著移動通訊平臺的發(fā)展和WIFI的普及,智能手機的功能已不局限于打電話和發(fā)短信,越來越多的人開始通過智能手機進行日常的娛樂、通訊、工作

11、、出行等方方面面。在這其中Android系統(tǒng)因為其良好的交互性和穩(wěn)定性成為智能手機的主流操作系統(tǒng)。同時Android憑借開放的平臺和開源的特性,給開發(fā)者提供自由的開發(fā)環(huán)境。從2006年開始,中國的汽車租賃行業(yè)就處在飛速發(fā)展的階段,市場規(guī)模從當初的20億元到現(xiàn)在的270億元。據(jù)估計未來幾年,中國汽車租賃行業(yè)仍將持續(xù)快速增長1。同時,汽車租賃行業(yè)的發(fā)展近幾年也從傳統(tǒng)的面對外企、大型國有企業(yè)等企業(yè)用戶大規(guī)模的轉(zhuǎn)向投入個人業(yè)務(wù)中。在行業(yè)快速發(fā)展的同時,傳統(tǒng)的線下租車模式已經(jīng)不能滿足大眾的需求,人們迫切希望通過移動平臺快速的租賃汽車。為了滿足人們的需求,改革傳統(tǒng)的租車模式,結(jié)合相關(guān)技術(shù)設(shè)計開發(fā)了面向An

12、droid的汽車租賃系統(tǒng)。用戶僅需下載安裝軟件注冊用戶,即可快速的選取周邊汽車租賃店并預(yù)約汽車,滿足了用戶對于快速租賃的實際需求。1.2 課題研究的主要內(nèi)容基于Android的汽車租賃系統(tǒng)是一款面向大眾的軟件,開發(fā)過程中需要考慮到不同年齡段的使用人群,盡最大可能的滿足各種人群的需求。系統(tǒng)的瀏覽器端采用Java Web進行開發(fā),有利于以后的跨平臺使用。手機移動端采用Android控件和Java技術(shù)進行開發(fā),數(shù)據(jù)庫使用MySQL。管理員根據(jù)要求,將門店,汽車等信息從瀏覽器端輸入到數(shù)據(jù)庫中,并對數(shù)據(jù)進行維護和更新。用戶可在客戶端發(fā)送數(shù)據(jù)請求,通過Web服務(wù)查詢數(shù)據(jù)庫并返回JSON數(shù)據(jù),從而完成服務(wù)端

13、與客戶端的數(shù)據(jù)信息交互。2 系統(tǒng)開發(fā)的環(huán)境及技術(shù)分析2.1 開發(fā)環(huán)境服務(wù)器端開發(fā)環(huán)境:以WIN8.1 64位操作系統(tǒng)為開發(fā)平臺,MySQL5.6存儲數(shù)據(jù),Tomcat7.0作為服務(wù)器,Eclipse EE(集成Axis2插件)作為Android服務(wù)端開發(fā)工具,MyEclipse作為客戶端開發(fā)工具。客戶端開發(fā)環(huán)境:以WIN8.1 64位操作系統(tǒng)為開發(fā)平臺,以Myeclipse(集成SDK:Android4.0)作為集成開發(fā)工具,夜神模擬器作為測試工具。2.2 技術(shù)分析2.2.1 Android技術(shù)經(jīng)過十多年的發(fā)展,Android技術(shù)開發(fā)已經(jīng)很完善,其采用分層架構(gòu),如圖2-1。開發(fā)者可以選擇使用J

14、ava作為開發(fā)語言來進行應(yīng)用開發(fā),也可以使用NDK或者C/C+來進行應(yīng)用開發(fā)。Android SDK(軟件開發(fā)包)中有很多特制的工具和文件,可以幫助開發(fā)者在開發(fā)平臺上對移動應(yīng)用程序進行快速開發(fā)2。一個Android應(yīng)用程序一般是由四大組件構(gòu)成。Activity(活動):是Android程序顯示給用戶信息的界面,用于設(shè)置頁面布局內(nèi)容等信息;Service(服務(wù)):在界面不呈現(xiàn)任何信息,對后臺運行程序進行處理;BroadcastReciever(廣播接收器):用來接受廣播;ContentProvider(內(nèi)容提供商):支持程序之間進行數(shù)據(jù)的分享。圖2-1 Android分層架構(gòu)圖2.2.2 Axi

15、s2框架Axis2是Apache公司發(fā)布的最新的Web Service模型。它不是在Axis1基礎(chǔ)上的擴展,而是重新開發(fā),重新實現(xiàn)。與之前的版本相比,它更加的高效、模塊化和可擴展。Axis2支持SOAP協(xié)議,同時使用了新的核心XML處理模型AXIOM,更快更有效率。從技術(shù)層面上來說,Axis2由六部分組成3。組成部分見圖2-2所示。在Android開發(fā)中,使用Axis2,開發(fā)者可以快速實現(xiàn)Web Service。具體實現(xiàn)流程見圖2-3。圖2-2 Axis2技術(shù)構(gòu)成圖圖2-3 實現(xiàn)流程圖2.2.3 推送技術(shù)數(shù)據(jù)推送的實現(xiàn)方案有很多種,最常見的有如下幾種:(1)C2DM推送。它提供了輕量級的消息推

16、送體制,允許服務(wù)端告訴客戶端進行數(shù)據(jù)交互。它是Google公司提供的原生框架,操作起來簡單方便,但是需要對android的版本號提出了要求,同時需要Google帳號登錄。(2)基于XMPP的AndroidPN推送。主要用于即時通訊,可擴展性強,但是需要在原有基礎(chǔ)上進行二次開發(fā),穩(wěn)定性差,成本高。(3)使用MQTT協(xié)議。它是IBM開發(fā)的輕量級消息協(xié)議,省電省流量,但是技術(shù)實現(xiàn)成本高,同時還不夠完善4。以上幾種方案都存在一定的問題,從課題的技術(shù)需求出發(fā),選擇速度與可擴展性兼具的極光推送技術(shù)。課題中采用極光推送的Web后臺建立與客戶端的移動無線長連接,在客戶端中嵌入推送的SDK,使用AlarmMan

17、ager來定時執(zhí)行任務(wù),接受推送的消息。使用這種方案實現(xiàn)簡單、減少開發(fā)成本、節(jié)約用戶的流量和電量,同時極光推送還提供了消息推送結(jié)果查詢,對消息推送的結(jié)果和過程有比較詳細的記錄。極光推送原理圖見圖2-4。圖2-4 JPush推送原理3 需求分析3.1 系統(tǒng)可行性分析3.1.1 技術(shù)可行性該租車系統(tǒng)是基于Android系統(tǒng)下的手機應(yīng)用軟件,使用的是Java語言在Myeclipse上進行開發(fā)。Android屬于開源代碼,在網(wǎng)上能找到很多的案例和官方提供的API可供參考,同時有大量的第三方的插件可以輔助我們進行快速的開發(fā)。所以整個設(shè)計過程和開發(fā)過程是可行的。3.1.1 法律可行性軟件開發(fā)所用的技術(shù)和工

18、具都是開源免費的,應(yīng)用軟件是經(jīng)過調(diào)查研究之后針對汽車租賃這一行業(yè)進行開發(fā)的,并且整個設(shè)計開發(fā)的過程完全由開發(fā)者獨立的完成,開發(fā)人員對該系統(tǒng)的代碼和產(chǎn)品具有使用權(quán)。因此在法律上來說,面向Android的汽車租賃系統(tǒng)完全不存在問題。3.1.3 經(jīng)濟可行性傳統(tǒng)的線下租車模式已經(jīng)不能滿足人們對于方便快捷的獲取信息和服務(wù)的宗旨了,而通過設(shè)計開發(fā)手機端的汽車租賃服務(wù)來滿足人們的需求已經(jīng)成為一種趨勢。設(shè)計開發(fā)Android的汽車租賃系統(tǒng)不需要消耗大量的資金,只需要提供技術(shù)和工具的使用即可完成,在經(jīng)濟上是可行的。3.2 系統(tǒng)功能性分析3.2.1 手機客戶端用戶:用戶注冊:查詢用戶個人信息功能,用戶賬戶金額的充

19、值、帳號密碼修改功能。查詢門店:了解門店信息,同時附加定位功能,了解自己所處的地理位置,選擇最近的門店。汽車租賃:根據(jù)需求,用戶選擇時間、門店、車型等條件進行租車,并計算租車總金額給用戶。訂單管理:查詢用戶所用狀態(tài)訂單,對租賃中訂單進行退訂和確認操作,對完成的訂單可以進行刪除。接受顯示軟件后臺推送過來的消息。使用分享軟件功能,可以將軟將分享到QQ、微博等比較流行的平臺上。3.2.2 瀏覽器服務(wù)端管理員:有關(guān)管理員的基本功能:管理門店、車輛等信息的錄入和維護更新;管理員根據(jù)實際的需求,對使用軟件的注冊用戶信息進行查詢、修改、刪除等;對某些用戶的訂單信息進行查詢、刪除等。管理員使用推送功能,選擇推

20、送用戶的范圍和推送消息的內(nèi)容和格式,并負責對推送消息的后期跟進和維護。4 系統(tǒng)總體設(shè)計4.1 設(shè)計原則(1)實用性:汽車租賃系統(tǒng)的設(shè)計從用戶的需求出發(fā),在滿足用戶的主要需求的同時整合挖掘系統(tǒng)邊緣功能,加強系統(tǒng)的實用性。(2)可維護性和可擴展性:考慮到未來的二次開發(fā)需求,系統(tǒng)在設(shè)計開發(fā)中實現(xiàn)了功能點的模塊化和規(guī)范化。(3)合理性:在設(shè)計系統(tǒng)的時候,充分考慮到了系統(tǒng)容量的問題,對運行環(huán)境的有較好的適應(yīng)性。(4)界面友好性:界面是否美觀是用戶選擇是否繼續(xù)使用軟件的重要因素。本系統(tǒng)界面著色合理,給人以大方、舒適感,爭取獲得用戶的贊同。4.2 體系架構(gòu)汽車租賃系統(tǒng)在服務(wù)器端采用B/S(瀏覽器/服務(wù)器)模

21、式開發(fā),有利于以后的維護和擴展。管理員端實現(xiàn)零安裝、跨平臺使用。用戶客戶端采用Android開發(fā),用戶下載Android手機端軟件并安裝,以較少的網(wǎng)絡(luò)數(shù)據(jù)實現(xiàn)信息的查詢和發(fā)送。系統(tǒng)體系架構(gòu)如圖4-1所示。圖4-1 系統(tǒng)體系架構(gòu)4.3 數(shù)據(jù)庫表設(shè)計在進行數(shù)據(jù)庫設(shè)計之前,必須先了解每個實體相對應(yīng)的表,每一個實體所代表的意思,同時明白實體所具有的屬性,相對應(yīng)的名稱,字段的類型,約束條件等。明白每個實體之間的關(guān)聯(lián),每個實體屬性的關(guān)聯(lián)是設(shè)計一個好的數(shù)據(jù)庫的關(guān)鍵。在MySQL 5.6中創(chuàng)建名為carclient的數(shù)據(jù)庫,根據(jù)項目的需求分析和實際要求,系統(tǒng)一共創(chuàng)建了五張表:用戶信息表、車輛信息表、門店信息表

22、、訂單信息表、管理員信息表。主要數(shù)據(jù)庫表如下:描述:用戶信息表(use_table)用來存儲用戶信息,管理員管理,用戶登錄、注冊、修改密碼等操作都將對此表數(shù)據(jù)做修改。如表4-1所示。表4-1 用戶信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDnamevarchar55用戶名pwdvarchar55密碼續(xù)表4-1unamevarchar55昵稱iphonevarchar55電話moneydouble55賬戶金額描述:車輛信息表(car_table)用來存儲租賃公司所有的車輛信息,管理員新增、修改等操作,用戶租車、還車等操作都將對此表數(shù)據(jù)做修改。如表4-2所示。表4-2 車輛信息表字段

23、名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDstylevarchar55車輛型號namevarchar55用戶名platevarchar55車牌號carplacevarchar55車輛所在門店carpriceint10租金flagint11使用狀態(tài)描述:門店信息表(mendian_table)用來存儲門店信息,用戶查看門店操作,管理員新增、修改等操作都將對此表進行修改。如表4-3所示。表4-3 門店信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDmendiancityvarchar55城市mendiannamevarchar55店名mendianplacevarchar55地址描

24、述:訂單信息表(myorder_table)用來存儲所有用戶的租車情況,用戶下單租車,完成訂單,取消訂單都將對此表進行修改。如表4-4所示。表4-4 訂單信息表字段名數(shù)據(jù)類型字段大小備注idint11主鍵自增IDusenamevarchar55用戶名ordertimevarchar55租車日期rentaltimevarchar55還車日期續(xù)表4-4getcarplacevarchar55取車門店repaycarplacevarchar55還車門店carinfovarchar55車輛信息rentalmoneyvarchar55租金platevarchar55車牌號flagvarchar55訂單狀

25、態(tài)描述:管理員信息表(admin_table)。主要存儲管理員的登錄名和密碼信息。管理員登錄管理員端的時候會調(diào)用表中的數(shù)據(jù),將輸入的信息與管理員表中的進行匹配。如表4-5所示。表4-5 管理員表字段名數(shù)據(jù)類型字段大小備注idint4主鍵自增IDusernamevarchar50管理員姓名passwordvarchar50管理員密碼4.4 客戶端模塊設(shè)計客戶端需要用戶下載安裝應(yīng)用程序并注冊用戶,用戶輸入用戶名和密碼并通過邏輯處理和驗證之后方能進入程序,進行網(wǎng)絡(luò)租賃汽車、個人信息管理、推送消息接收、地理位置定位、訂單管理、軟件分享等操作。在客戶端通過網(wǎng)絡(luò)向服務(wù)器端發(fā)送數(shù)據(jù)請求,等待接受服務(wù)端返回的

26、JSON類型的數(shù)據(jù)并顯示。JSON數(shù)據(jù)類型結(jié)構(gòu)如圖4-2所示。圖4-2 JSON數(shù)據(jù)類型結(jié)構(gòu)圖客戶端功能模塊劃分,如圖4-3所示。圖4-3 客戶端功能結(jié)構(gòu)圖各功能模塊詳細功能介紹:(1)汽車租賃:用戶根據(jù)要求選擇租車時間和地點,根據(jù)租車地點顯示閑置的車輛提供給用戶選擇,同時用戶需要選擇還車時間和地點。成功提交訂單之后會彈出租車的詳細信息給用戶,包括計算得到的租車金額。(2)個人信息:功能一:顯示用戶的個人信息,包括姓名、電話、金額;功能二:提供用戶金額充值;功能三:修改用戶的登錄密碼。(3)門店信息:功能一:顯示軟件中門店的具體信息;功能二:用戶可以定位自己當前的具體位置。(4)軟件分享:用戶

27、可以在各大主流交流平臺上推廣軟件。(5)電話預(yù)約:針對不太熟悉網(wǎng)上租賃的用戶,通過點擊電話預(yù)定,選擇客服服務(wù),租賃汽車。(6)訂單信息:功能一:查看用戶所有的訂單信息;功能二:查看用戶已完成的訂單信息,對訂單可以進行刪除;功能三:查看未完成的訂單,對訂單可以進行退訂和確定完成訂單。(7)應(yīng)用信息:應(yīng)用版本、開發(fā)團隊、開發(fā)日期等信息。4.5 服務(wù)端模塊設(shè)計服務(wù)端采用B/S模式設(shè)計,無需客戶端,只需要通過瀏覽器就可以直接訪問數(shù)據(jù)庫,不僅有利于系統(tǒng)的維護和擴展,同時也便于管理員的使用。為了是界面美觀,操作方便,服務(wù)端采用了HTML、CSS結(jié)合JS實現(xiàn)了動態(tài)數(shù)據(jù)顯示。管理員端只允許管理員的身份登錄???/p>

28、以根據(jù)系統(tǒng)的具體要求添加多個管理員,管理員可以進去系統(tǒng)對每個模塊進行必要的操作。功能模塊劃分,如圖4-4所示。下面是對功能模塊的劃分。圖4-4 瀏覽器服務(wù)端功能結(jié)構(gòu)圖各功能模塊詳細功能介紹:(1)汽車信息管理:功能一:管理員錄入汽車信息,顯示全部汽車信息;功能二:選擇某一輛汽車,對汽車信息進行修改、刪除。(2)訂單信息管理:功能一:顯示用戶的訂單信息;功能二:對錯誤訂單信息進行刪除。(3)消息推送管理:根據(jù)需求選擇消息推送的人群和消息推送的內(nèi)容。對推送的信息進行成功檢測。(4)門店信息管理:功能一:管理員錄入門店信息,顯示全部門店信息;功能二:對門店信息進行修改、刪除。(5)個人信息管理:對注

29、冊用戶的信息進行管理和必要的監(jiān)督。5 系統(tǒng)詳細設(shè)計與編碼實現(xiàn)5.1 數(shù)據(jù)庫連接服務(wù)端連接數(shù)據(jù)采用JDBC的連接方式,對數(shù)據(jù)進行查詢刪除等都在DB類中實現(xiàn)。實現(xiàn)代碼如下:public class DB / JDBC方式連接數(shù)據(jù)庫 /申明變量public DB() try Class.forName(com.lyl.db.mynewsql); catch (java.lang.ClassNotFoundException error) /輸出數(shù)據(jù)庫驅(qū)動注冊信息錯誤報告 / 執(zhí)行SQL查詢語句public ResultSet LylMyOwnQuery(String sql) try myconne

30、ct = DriverManager.getConnection(sConnStr, root, liyunlong); /獲取登錄數(shù)據(jù)庫所需要的資源,如URL statqleerur= myconnect .createStatement(); /創(chuàng)建對象用來執(zhí)行SQL resawees = statqleerur.executeQuery(sql); /執(zhí)行SQL,并將執(zhí)行的結(jié)果存到result中 catch (SQLException errorinfo) /輸出錯誤日志return resawees ; /返回查詢結(jié)果 5.2 手機客戶端5.2.1 自定義適配器實現(xiàn)手機客戶端的主要功能

31、之一是接受大量的數(shù)據(jù)信息并加以處理,然后呈現(xiàn)給用戶,所以需要使用到大量的ListView。自定義適配器能夠使ListView中的數(shù)據(jù)按照開發(fā)者的愿意進行顯示給用戶,這樣使界面設(shè)計變得合理美觀。訂單界面如圖5-1所示。自定義適配器實現(xiàn)之前需要開發(fā)者提前設(shè)計好一條數(shù)據(jù)的顯示布局,自定義適配器的實現(xiàn)代碼如下: /自定義適配器繼承BaseAdapter并優(yōu)化內(nèi)部方法public class MyRentalCarStyleAdapter extends BaseAdapter /父類構(gòu)造函數(shù)調(diào)用、申明需要的變量 /重寫方法獲取對應(yīng)數(shù)據(jù)集中的指定的值public View getView(int myw

32、eizhi, View myshitu, ViewGroup getmyparent) if ( myshitu = null ) myshitu = LayoutInflater.from(context).inflate(R.layout.myadapter,null); /用來分析緩存是否存在,不存在的話,則解析xml Myyouhua youhua = mykongzhi(myshitu, myweizhi); /將數(shù)據(jù)內(nèi)容放入View存儲器中g(shù)etviewdeshuju(youhua, myweizhi); /把View存儲器中對應(yīng)值顯示return myshitu; /返回View

33、信息private void getviewdeshuju(Myyouhua myshitu, int myweizhi) final CarBean mendiancar = list.get(myweizhi); /獲取列表中指定索引對應(yīng)id的數(shù)據(jù)放入對象中myshitu.text_style.setText(車型 + mendiancar.getStyle(); /獲取對象中對應(yīng)屬性的值并在控件上顯示出來 圖5-1 訂單界面5.2.2 推送消息的獲取從推送Web端推送用戶感興趣的信息,讓用戶長時間保持對軟件的關(guān)注度。具體實現(xiàn)需要在客戶端自定義廣播接收器,用來接受推送過來的信息并打印出來,

34、同時在配置文件中加入推送需要的權(quán)限。消息推送界面如圖5-2所示。推送消息內(nèi)容獲取的實現(xiàn)代碼如下:private static String getinformation(Bundle getbundle) StringBuilder myonegetsb = new StringBuilder(); /實例化對象for (String mykey : getbundle.keySet() /遍歷取得的推送信息if (mykey.equals(JPushInterface.EXTRA_NOTIFICATION_ID) /判斷當通知欄傳過來的值 /拼接獲取的信息else if(mykey.equa

35、ls(JPushInterface.EXTRA_CONNECTION_CHANGE) /判斷當連接狀態(tài)發(fā)生變化傳過來的值 /拼接獲取的信息 else /拼接獲取其他狀態(tài)的信息return myonegetsb .toString(); /返回得到的信息 圖5-2 消息推送界面5.2.3 客戶端AsyncTask請求使用AsyncTask異步任務(wù)實現(xiàn)向后臺請求數(shù)據(jù)訪問,在后臺運行,不占用UI主線程。用戶進行個人信息查看,進入界面需要調(diào)用AsyncTask。用戶信息界面見如5-3所示。具體實現(xiàn)代碼如下:private class dome extends AsyncTask /三個泛型參數(shù),分別為

36、輸入?yún)?shù),任務(wù)執(zhí)行進度和返回結(jié)果的類型protected String doInBackground(String. params) / 此方法在onPreExecute之后執(zhí)行,在后臺執(zhí)行,這里不能對UI進行操作String mygetlongresult = null; /聲明返回值對象try /WebService的命名空間和調(diào)用方法名SoapObject myrequ= new SoapObject(strNameSpace, strMethodName); / 指定WebService的命名空間和調(diào)用的方法名myrequ.addProperty( name , name ); /將參

37、數(shù)放入request中傳給后臺調(diào)用的方法elp.bodyOut = myrequ; /傳入的協(xié)議和一些頭文件申明HttpTransportSE httpse = new HttpTransportSE( strUrl ); /實例化HttpTransportSE對象httpse .call(action, elp); /用HttpTransportSE的call方法來實現(xiàn)WebService方法的操作if (!elp.getResponse().equals(null) /使用getResponse獲得返回的值并判斷返回值是否為null /取出返回結(jié)果 catch (Exception e)

38、/ 輸出錯誤日志return mygetlongresult ; /返回rensult的值 圖5-3 用戶信息界面5.2.4 定位實現(xiàn)在系統(tǒng)設(shè)計開發(fā)過程中需要充分考慮到用戶使用軟件的方便性,挖掘系統(tǒng)的邊緣功能,在軟件中使用定位功能有利于用戶快速獲取自己的位置,然后根據(jù)自己所在位置選擇最佳門店。定位由GPS定位和網(wǎng)絡(luò)定位來獲取,高德地圖將之封裝在SDK中,通過調(diào)用高德地圖提供的接口獲取定位地址信息。自動定位界面如圖5-4所示。定位實現(xiàn)代碼如下:mdingwei= new AMapLocationClientOption(); /實例化對象mdingwei.setNeedAddress(true)

39、; /設(shè)置返回定位之后的地址信息mdingwei.setOnceLocation(true); /設(shè)置定位執(zhí)行一次userclient.setLocationOption(mdingwei); /將設(shè)置的參數(shù)加載到客戶端userclient.startLocation(); /開啟定位接收定位結(jié)果:getdingwei.getLocationType(); /獲取定位來源,是GPS還是根據(jù)網(wǎng)絡(luò)定位getdingwei.getCountry() ; /獲取國家信息getdingwei.getProvince(); /獲取省份信息getdingwei.getCity(); /獲取城市信息getdi

40、ngwei.getDistrict() ; /獲取城區(qū)信息getdingwei.getStreet(); /獲取街道信息 /獲取信息拼接顯示 圖5-4 自動定位界面5.3 瀏覽器服務(wù)端5.3.1 查詢實現(xiàn)從客戶端通過AsyncTask發(fā)送數(shù)據(jù)請求,服務(wù)端接收到請求,對數(shù)據(jù)庫的數(shù)據(jù)進行查詢并將查詢結(jié)果封裝成JSON類型的數(shù)據(jù)返回給客戶端。查詢代碼如下:ListMap cunchushujulist; /申明變量cunchushujulist =jdbcTemplate.queryForList(select * from car_table where myflagdeas=0 and fffs

41、fdys=?, fffsfdys); /使用spring的jdbcTemplate查詢數(shù)據(jù)庫return JSONArray.toJSONString(cunchushujulist ); /將查詢結(jié)果分裝成JSON類型并返回5.3.2 新增實現(xiàn)管理員通過瀏覽器服務(wù)端登入系統(tǒng),對數(shù)據(jù)庫中的每一個功能模塊進行維護和更新。后臺管理界面如圖5-5所示。新增實現(xiàn)代碼如下:public void addmendian( String useidname , String usepwd) /聲明變量try DB mydbmodel=new DB(); /創(chuàng)建db對象sql=insert into car_

42、table( useidname , usepwd); /編寫SQL語句mydbmodel.executeUpdate(sql); /更新數(shù)據(jù)庫中的信息mydbmodel.close(); /關(guān)閉DB連接catch (Exception e) /拋出異常信息 圖5-5 后臺管理界面6 系統(tǒng)測試6.1 系統(tǒng)測試的目的及意義系統(tǒng)測試是程序的一種執(zhí)行過程,是為了盡可能多的發(fā)現(xiàn)系統(tǒng)中存在的問題,及時更正這些問題,減少軟件開發(fā)的過程和后期維護的過程,將軟件的錯誤密度降到最低,同時系統(tǒng)測試也能夠提高軟件的可靠性、穩(wěn)定性、節(jié)約經(jīng)濟資源、改善用戶體驗,這符合系統(tǒng)開發(fā)的最初要求。6.2 客戶端功能測試6.2.1

43、 登錄功能測試用戶登錄系統(tǒng)需要做先行性檢測,查看用戶是否正確填寫用戶名和密碼,然后根據(jù)填寫的信息與數(shù)據(jù)庫中表存儲的信息對比,根本用戶的輸入的具體信息系統(tǒng)給出用戶不同的錯誤報告。經(jīng)過多次的測試,測試結(jié)果和目標結(jié)果相吻合。測試結(jié)果見表6-1。表6-1 登錄功能測試用戶名密碼預(yù)期結(jié)果測試結(jié)果是否符合空123用戶不能為空!用戶不能為空!是123空密碼不能為空!密碼不能為空!是11111111用戶不存在!用戶不存在!是1231111密碼錯誤!密碼錯誤!是123123成功進入主界面成功進入主界面是6.2.2 租車功能測試用戶可以在此界面進行網(wǎng)絡(luò)租車,可以選擇租車的時間和門店,還車的時間門店等,用戶必須先選

44、擇需要租車的門店,然后根據(jù)租車門店中現(xiàn)有的車型選擇自己需要的車型,在提交訂單的時候,會根據(jù)用戶選擇的天數(shù)來自動計算需要的金額顯示給用戶,讓用戶確定是否下單。經(jīng)過多次的測試,測試結(jié)果和目標結(jié)果相吻合。測試結(jié)果見表6-2。表6-2 租車功能測試操作預(yù)期結(jié)果是否符合在選擇租車地址前選擇租車型號出現(xiàn)提示信息,提示先選擇租車地址是先選擇租車地址,根據(jù)地址選擇租車型號,選擇還車地址等信息點擊完成提交訂單顯示訂單已提交是6.2.3 用戶信息測試用戶進入此界面可以直接看到個人的詳細信息,能夠進行金額的充值,點擊修改按鈕能修改密碼。經(jīng)過多次的測試,測試結(jié)果和目標結(jié)果相吻合。測試結(jié)果見表6-3。表6-3 用戶信息

45、測試操作預(yù)期結(jié)果是否符合點擊進入用戶界面進入用戶界面可以看到用戶信息是點擊充值金額,充值金額自動刷新界面,看到個人賬戶金額增加是點擊修改密碼,進入修改賬戶,輸入錯誤舊密碼提示消息,舊密碼是否正確是舊密碼正確,新密碼不相同出現(xiàn)提示消息,提示用戶兩次密碼有誤是舊密碼正確,新密碼正確成功修改密碼是6.2.4 訂單功能測試用戶可以手動滑動界面或者點擊不同的按鈕,在三個子頁面可以來回切換。用戶進去界面直接顯示所有訂單。點擊查看未完成訂單,對未完成訂單進行完成或者退訂操作。點擊完成訂單可以對完成訂單做刪除操作。經(jīng)過多次的測試,測試結(jié)果和目標結(jié)果相吻合。測試結(jié)果見表6-4。表6-4 訂單功能測試操作預(yù)期結(jié)果

46、是否符合進入訂單界面直接顯示全部訂單進去訂單界面顯示全部訂單是手滑或者點擊按鈕切換訂單界面的完成界面,未完成界面可以顯示已完成訂單和未完成訂單是在完成界面點擊一條數(shù)據(jù)進行刪除成功刪除這條數(shù)據(jù)是在未完成界面點擊取消訂單成功取消訂單是在未完成界面點擊完成訂單訂單狀態(tài)變?yōu)橥瓿捎唵问?.2.5 邊緣功能測試系統(tǒng)邊緣性的功能有分享功能和定位功能。經(jīng)過多次的測試,測試結(jié)果和目標結(jié)果相吻合。測試結(jié)果見表6-5。表6-5 邊緣功能測試操作預(yù)期結(jié)果是否符合點擊主界面的分享按鈕,選擇分享到QQ空間分享軟件到QQ空間并讓其他用戶看到是在查看門店中點擊定位自己的位置在地圖中成功定位到自己的位置是6.3 后臺功能測試管理員登錄管理員端,可以查看所有的功能模塊。對相應(yīng)的模塊進行操作。經(jīng)過多次的測試,測試結(jié)果和目標結(jié)果相吻合。測試結(jié)果見表6-6。表6-6 后臺功能測試操作預(yù)期結(jié)果是否符合輸入管理員用戶名和密碼進入后臺主界面是點擊汽車管理模塊,新增、刪除、修改汽車信息新增、刪除、修改汽

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論