基于android平臺的移動手機商城設計及實現(xiàn)

基于android平臺的移動手機商城設計及實現(xiàn)

ID:31262017

大?。?.04 MB

頁數(shù):104頁

時間:2019-01-07

上傳者:U-960
基于android平臺的移動手機商城設計及實現(xiàn)_第1頁
基于android平臺的移動手機商城設計及實現(xiàn)_第2頁
基于android平臺的移動手機商城設計及實現(xiàn)_第3頁
基于android平臺的移動手機商城設計及實現(xiàn)_第4頁
基于android平臺的移動手機商城設計及實現(xiàn)_第5頁
資源描述:

《基于android平臺的移動手機商城設計及實現(xiàn)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

WORD格式整理畢業(yè)設計題目:基于Android平臺的移動手機商城設計與實現(xiàn)姓 名:張三學 號:000000000000學院:XXXXXXXX專業(yè):XXXXXXXX同組人:指導教師:XXX2000年X月X日學習參考資料分享 WORD格式整理摘要Android是基于Linux內(nèi)核的軟件平臺和操作系統(tǒng),以其特有的開放性在智能手機、平板電腦等領(lǐng)域廣泛應用。近幾年電子商務得到了迅速的發(fā)展,通過Internet進行交易己成為一種潮流。兩者的結(jié)合,便產(chǎn)生了具有巨大發(fā)展?jié)摿Φ囊苿与娮由虅?。本系統(tǒng)主要是探索Android與電子商務的結(jié)合,利用SSH框架設計后臺管理,AndroidSDK設計客戶端。以手機商城為例,實現(xiàn)用戶瀏覽,搜索,購買商品等功能。由于選擇Mysql作為數(shù)據(jù)庫,故部署了服務器作為客戶端與數(shù)據(jù)庫通信的橋梁。后臺管理系統(tǒng)采用SSH框架技術(shù)控制邏輯及數(shù)據(jù)庫操作,并且將CSS應用在JSP頁面實現(xiàn)頁面美化。實現(xiàn)對數(shù)據(jù)庫中商品進行增,刪,改,查的功能,并對客戶訂單進行管理。該系統(tǒng)較平常購物系統(tǒng)有更好的移動性與跨平臺性。通過測試,已能夠在Android手機上運行使用其各項購物流程。在本文的最后闡述了將來進一步可以完善的一些相關(guān)工作。關(guān)鍵詞:手機網(wǎng)絡JAVAAndroid;SSH;網(wǎng)上購物學習參考資料分享 WORD格式整理AbstractAndroid?operatingsystem?originallydevelopedby?founder?AndyRubin.Anditonlysupportedphonesatfirst.Itwasacquired?ofinjectionbyGooglein2005.AndGoogledrawin?anumberof?manufacturers?formed?theOpenHandsetAlliance?(OpenHandsetAlliance)?todevelopandimprovethesystemandextendto?the?tabletPC?andother?areasgradually.Attheendof2010,thedatashowedthatAndroidhadbecamethemostpopularsmartphone?platformbeyondtheNokia?Symbian?system.ThissystemmainlyexploresthecombinationofAndroidande-commerce.UsingtheSSHFrame,themanagementsystemisdesigned.TheclientisdesignedwithAndroidSDK.Usingthephoneasanexample,achievetheuserstobrowsesearchbuygoodsandotherfunctions.BecauseoftheselectionofMysql,wedeployaserverasthebridgebetweenthedatabaseandtheclient.ThemanagementsystemcontrolsthelogicandtheoperationonthedatabasebytheSSHFrame.CSSisappliedtotheJSPtomaketheinterfacemorefriendly.Therealizationofadatabaseofgoodstoincrease,delete,change,searchfunction,andcustomerordermanagement.Thesystemis?better?thanthe?usual?shoppingsystem?onmobilityand?cross-platform.Bythetest,itcanruneveryfunctionofshoppingontheAndroid-mobilephone.Keywords:Android;SSH;E-commerce;OnlineShopping學習參考資料分享 WORD格式整理目錄摘要IAbstractII目錄III引言11.課題研究背景21.1Android平臺21.23G時代手機購物與網(wǎng)絡購物的比較分析31.3集成開發(fā)環(huán)境Eclipse51.4Android模擬器..............................................................................................................61.4.1模擬器概述................................................................................................................61.4.2模擬器和真機的區(qū)別...............................................................................................71.5研究的目的和主要內(nèi)容71.5.1研究的目的71.5.2研究的主要內(nèi)容81.6論文組織結(jié)構(gòu)................................................................................................................82.基于Android平臺的移動手機商城開發(fā)環(huán)境和相關(guān)技術(shù)..............................................82.1開發(fā)環(huán)境及硬件需求92.2Java語言特點92.3關(guān)于ECLIPSE............................................................................................................132.4數(shù)據(jù)庫需求分析.........................................................................................................132.5本章小結(jié).....................................................................................................................133.系統(tǒng)總體設計143.1總體功能143.2E-R圖........................................................................................................................153.3初步設計方案.............................................................................................................163.3.1客戶端的登錄和注冊.............................................................................................16學習參考資料分享 WORD格式整理3.3.2客戶端的瀏覽功能.................................................................................................173.3.3購物車功能............................................................................................................173.3.4訂單功能................................................................................................................183.3.5服務器管理功能....................................................................................................193.4系統(tǒng)流程概述193.5系統(tǒng)框架圖.................................................................................................................203.6數(shù)據(jù)庫設計..................................................................................................................213.7本章小結(jié)234.系統(tǒng)詳細設計...................................................................................................................244.1總體流程概要設計244.2Android系統(tǒng)客戶端邏輯結(jié)構(gòu)設計及其內(nèi)容編碼..................................................254.2.1客戶端登陸功能內(nèi)容............................................................................................254.2.2客戶端注冊功能內(nèi)容............................................................................................264.2.3客戶端商品和搜索功能內(nèi)容................................................................................284.2.4客戶端購物車功能內(nèi)容........................................................................................394.2.5客戶端訂單功能內(nèi)容............................................................................................494.2.6客戶端httpclient.....................................................................................................534.3系統(tǒng)后臺邏輯結(jié)構(gòu)設計及其程序開發(fā).....................................................................554.3.1系統(tǒng)后臺管理員和用戶登錄程序內(nèi)容.................................................................564.3.2系統(tǒng)后臺商品管理程序內(nèi)容.................................................................................594.3.3系統(tǒng)后臺訂單管理程序內(nèi)容.................................................................................624.4本章小結(jié)......................................................................................................................655.系統(tǒng)的具體實現(xiàn)...............................................................................................................665.1前臺android客戶端主要功能的實現(xiàn).......................................................................675.1.1登入界面.................................................................................................................675.1.2注冊界面.................................................................................................................685.1.3商品主界面.............................................................................................................685.1.4商品服裝的詳細頁面.............................................................................................70學習參考資料分享 WORD格式整理5.1.5htc手機商品的詳細界面和將想要購買的加入購物車界面...............................715.1.6購物車界面.............................................................................................................725.1.7訂單結(jié)算界面.........................................................................................................735.2后臺web端主要功能的實現(xiàn)....................................................................................745.2.1后臺登入界面.........................................................................................................745.2.2后臺主界面.............................................................................................................755.2.3商品列表界面.........................................................................................................765.2.4后臺添加商品界面.................................................................................................775.2.5后臺編輯商品界面.................................................................................................785.2.6后臺訂單管理界面.................................................................................................805.3本章小結(jié)......................................................................................................................806.總結(jié)和展望.......................................................................................................................816.1基于Android平臺的移動手機商城的設計回顧.......................................................816.2Android平臺的移動手機商城的設計經(jīng)驗總結(jié)........................................................816.3本章小結(jié)82結(jié)論83致謝84參考文獻86學習參考資料分享 WORD格式整理引言Java語言是由美國SunMicrosystem的詹姆斯·高斯林、PratrickNaughton及MikeSheridan等人在1991年精心設計出來的計算機編程語言,它的構(gòu)想在于實現(xiàn)可以在不同的平臺上運作使用同一種編程語言所編寫出來的程序。這種架構(gòu)是具有革命性的對于消費性電子產(chǎn)品而言,因為在消費性電子產(chǎn)品中的操作系統(tǒng)及處理器各不相同,如果要在不同的平臺上開發(fā)程序就必須要了解和熟悉各個平臺的特性,以及其供應的API使用方式,必須分別開發(fā)不同的版本才可以執(zhí)行,這就影響了應用程序的普便性。近幾年,由于移動互聯(lián)網(wǎng)作為全新的時代背景,甚至有業(yè)內(nèi)人士大膽預測隨著無線互聯(lián)不斷蠶食著有線互聯(lián)市場,未來可能接近7成都將是無線互聯(lián)的市場,人們?nèi)粘I暇W(wǎng)的主要的產(chǎn)品將是手機。正是預見到手機用戶的無線市場有著巨大的發(fā)展?jié)摿?,各行各業(yè)都不斷加速搶占無線互聯(lián)的市場。移動電子商務在未來的巨大發(fā)展?jié)摿κ俏〇|、當當、卓越以及淘寶等各大電子商務企業(yè)進入這一領(lǐng)域的主要原因。程善寶指出,淘寶、京東等傳統(tǒng)電子商務企業(yè)進入移動電子商務,根據(jù)商品渠道、運營經(jīng)驗等方面的經(jīng)驗的優(yōu)勢,在移動電子商務領(lǐng)域?qū)入娦胚\營商、software提供商和新興的移動電子商務企業(yè)具有著更好的遠景。由于移動通信的不斷發(fā)展和互聯(lián)網(wǎng)轉(zhuǎn)向移動終端的推廣,用戶和網(wǎng)絡對移動終端的要求與日俱增,因為WindowsMobile,Symbian,PalmOS等手機平臺過于陳舊與封閉,不能很好的滿足用戶的需要和要求,所以市場急切需要著開放性很強的一個平臺。隨著多年的發(fā)展,第三代數(shù)字通信(3G)技術(shù)獲取了市場廣泛的關(guān)注和接受,它為移動終端用戶提供了更快捷的數(shù)據(jù)傳輸速率。隨著3G網(wǎng)絡的使用,移動終端不再只是通訊網(wǎng)絡的終端,還將成為互聯(lián)網(wǎng)的終端。所以,移動終端的應用軟件以及需要的服務將會有著很大發(fā)展的空間。Google就為此在2007年的11月推出了一個專門為了移動設備設計的一個軟件平臺——Android。Android是一套真正意義上的具有開放性的移動設備的綜合平臺,它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺應用。Android是由Linux+Java構(gòu)成的開源軟件,允許所有廠商和個人在其基礎(chǔ)上進行設計開發(fā)。Android平臺具有的開放性等特點既能促進移動通信技術(shù)的不斷創(chuàng)新,也將有助于對開發(fā)成本的降低,還可以使得運營商非常方便的制定出具有自己特色的產(chǎn)品。因此,它是具備學習參考資料分享 WORD格式整理很大的市場發(fā)展?jié)摿Α?.課題研究背景1.1Android平臺1.Android平臺:Android是Google基于Linux平臺研發(fā)出來的手機操作系統(tǒng)。是google公布的手機應用平臺。它包括用戶界面,操作系統(tǒng)和移動電話工作所需要的全部軟件。它使用軟件堆層的構(gòu)架主要有3部分,最底層是以Linux內(nèi)核工作為基礎(chǔ)的。谷歌通過與運營商,設備制造商,開發(fā)商和其他相關(guān)方面的深厚的合作伙伴關(guān)系,希望能夠通過創(chuàng)建一個標準的,開放的手機軟件平臺,在移動通信行業(yè)形成一個開放的生態(tài)系統(tǒng)。2.Android系統(tǒng)的優(yōu)勢以及特點:□開放性。Google與開放手機聯(lián)盟合作開發(fā)了Android,谷歌通過與運營商,設備制造商,開發(fā)商和其他相關(guān)方面的深厚的合作伙伴關(guān)系,希望能夠通過創(chuàng)建一個標準的,開放的手機軟件平臺,在移動通信行業(yè)形成一個開放的生態(tài)系統(tǒng)?!鯌脽o國限。在Android設備上的應用程序可以通過標準API訪問核心移動。通過互聯(lián)網(wǎng),應用程序的功能可以宣布它們提供給其他應用程序?!踉谄降然A(chǔ)上創(chuàng)建應用程序。在移動設備上的應用程序可以被替換或擴展,即便是撥號程序,或在主屏幕上的核心部件也可以?!鯌贸绦蚩梢院苋菀椎厍度氲骄W(wǎng)絡。應用程序可以很容易地嵌入在HTML、JavaScript和樣式表,并且也可以通過WebView將網(wǎng)絡內(nèi)容顯示。□在應用程序中可以實現(xiàn)并行運行。在Android這種完整的多任務環(huán)境中,應用程序可以在實現(xiàn)并行運行。并且后臺運行的時候,應用程序能產(chǎn)生通知以引起注意。3.Android的應用發(fā)展現(xiàn)狀因為現(xiàn)如今有很多的廠商看到了Android的美好發(fā)展前景,所以從外國到內(nèi)陸很多廠商都已經(jīng)利用Android來生產(chǎn)手機和平板電腦等的電子產(chǎn)品。像戴爾這樣有實力的廠商也是如此,例如戴爾推出的平板電腦streak就是使用的Android系統(tǒng),與蘋果ipad的功能相比幾乎不相上下,甚至用戶在使用感受上和通用性能上會比ipad更加優(yōu)秀。學習參考資料分享 WORD格式整理在國內(nèi),許多廠商在全力追求具有高清播放能力的電子產(chǎn)品的情況下也都同時使用了Android作為他們自己產(chǎn)品的使用的系統(tǒng)。甚至還有很多的山寨產(chǎn)品也全是使用的Android的操作系統(tǒng)來生產(chǎn)他們的產(chǎn)品,雖然還是和模仿的產(chǎn)品有多少的差距,但是從外觀和價格的角度上來講山寨的產(chǎn)品還是有它的市場。這些都證實了當今Android的應用現(xiàn)狀是非常受認可的。4.開發(fā)基于Android平臺的應用在Android平臺上,可以開發(fā)出各式各樣的應用。Android的應用程序是用Java語言開發(fā)的,也就是說,只要會Java語言就可以比較容易地開發(fā)出Android的應用。如果不了解Java也沒有關(guān)系,通過一段時間對Java語言的學習,也可以很快進入Android開發(fā)領(lǐng)域。加上Android平臺提供了2D、3D的圖形支持、數(shù)據(jù)庫支持(SQLite),并且集成了瀏覽器。基于Android的平臺,我們可以開發(fā)出豐富多彩的應用,這些應用可以涉及工具、管理、互聯(lián)網(wǎng)、游戲等,在此開放的平臺上,這一切都取決于程序員的自由發(fā)揮和創(chuàng)意。1.23G時代手機購物與網(wǎng)絡購物的比較分析1.手機購物的概念手機購物指的是使用手機上網(wǎng)從而實現(xiàn)在網(wǎng)絡上購物的過程,屬于移動電子商務。其購物的原理與在使用電腦網(wǎng)購一樣,僅僅是載體從電腦變成了網(wǎng)絡手機。國內(nèi)的3G業(yè)務將有可能與網(wǎng)絡購物和網(wǎng)絡支付等平臺聯(lián)手,通過網(wǎng)速的超高速率來實現(xiàn)“手機購物”。在不久的將來中國的手機購物將會迎來一個高速的增長期,用戶只要開通手機的上網(wǎng)服務,就可以通過手機查詢商品信息,并且可以在線支付購買產(chǎn)品。不用去實體店鋪,也不用坐在電腦前“淘貨”,一部手機就可以完成挑選、選購和支付的全過程。據(jù)了解,目前運營商和網(wǎng)購平臺以及網(wǎng)付平臺三方已有意向進行合作,一旦“手機購物”的鐵三角形成,用戶不僅購物將會更加的便捷,運營商和網(wǎng)購平臺以及網(wǎng)付平臺三方也將從中獲益匪淺。實際上,此前國內(nèi)的部分網(wǎng)購商曾經(jīng)推出過“手機購物”業(yè)務,但是由于2G手機的網(wǎng)速較慢,用戶瀏覽網(wǎng)店以及網(wǎng)上支付的效果并不是很好。2.外國的手機購物發(fā)展如今將近九成的日本以及韓國的手機用戶都已經(jīng)習慣了手機購物,即便是購買食品、洗浴用品這樣的在日常生活中不可缺少的用品。在最早開通3G服務的日本,手機網(wǎng)絡購物的交易額已經(jīng)占電子商務總體交易額的四成左右。由于移動電子商務的高速發(fā)展,為日本的眾多商業(yè)企業(yè)提供了更多的銷售渠道,將近全部的網(wǎng)絡經(jīng)營者都同時經(jīng)營著自己的移動商鋪。與傳統(tǒng)的互聯(lián)網(wǎng)購物相比,用戶消費者用手機購物更加學習參考資料分享 WORD格式整理的方便、保密、共享。手機購物已經(jīng)成為日本、韓國等國“快時尚”標志,在城市德年輕人當中深受喜愛。3.當今手機購物在中國的發(fā)展與問題在當今大城市的地鐵中出現(xiàn)了這樣的奇特情景:在行人匆匆走過的地鐵通道中,出現(xiàn)了超市中才能見到的商品貨架,琳瑯滿目的商品,就像是在大型超市一樣,但走進才發(fā)現(xiàn)“貨架”竟然是“貼在”墻上的,可樂、奶粉、甚至還有尿不濕,每一種產(chǎn)品下方都有相應價格和唯一的二維碼。這究竟是何物呢?來這個“墻壁超市”是電商企業(yè)1號店進一步開拓潛在市場所推出的一種全新嘗試,屬于國內(nèi)首創(chuàng)的虛實結(jié)合移動電子商務應用,12年7月25日在上海首次與消費者進行見面,29日覆蓋北京CBD范圍的公交站點同期進行投放,此舉是為了讓更多消費者體驗到全新的購物模式?! ≡缭诮衲昴瓿?,中國主力電子商務軍真正向無線應用發(fā)起進軍,不再是前兩年的“雷聲大、雨點小”。移動互聯(lián)網(wǎng)儼然成為電子商務爭搶的香餑餑,電子商務網(wǎng)站紛紛啟動了移動互聯(lián)網(wǎng)戰(zhàn)略。目前,電子商務企業(yè)推出手機、PC客戶端早已不是新鮮事,淘寶網(wǎng)、樂淘網(wǎng)、麥考林、凡客誠品、當當網(wǎng)、卓越網(wǎng)等均相繼推出各種類型操作系統(tǒng)的手機客戶端產(chǎn)品?! 《衲甑谝患径戎袊苿踊ヂ?lián)網(wǎng)用戶規(guī)模達到了約3.5億人,同比增速高達66.5%,其中移動購物第一季度收入突破15億,占移動互聯(lián)網(wǎng)總收入的14.20%?! o論是網(wǎng)絡的便捷性、物流的暢達性、產(chǎn)品的多樣性、經(jīng)營方式上的靈活性,抑或是對于消費者生活方式的改變,各種優(yōu)勢都在進一步擠壓傳統(tǒng)零售商的生存空間。同時也觸動了他們對市場的敏感,面對此龐大的市場蛋糕開始蠢蠢欲動?! ∫阅壳皣鴥?nèi)手機產(chǎn)業(yè)的發(fā)展趨勢來看,數(shù)量巨大的移動互聯(lián)網(wǎng)用戶,為移動電子商務的發(fā)展提供了潛在的用戶基礎(chǔ),巨大的利益也引來了眾多企業(yè)紛紛加入。不過,移動電子商務還不能達到爐火純青的地步,比如手機上網(wǎng)不夠快、資費仍然偏貴、移動終端的安全性、支付的安全性等制約著移動電子商務的發(fā)展。在市場化的過程中顯露出的一系列問題,終將由市場來解決,移動電子商務也必將有廣闊的市場前景。4.與傳統(tǒng)網(wǎng)絡購物相比,手機購物具有的優(yōu)勢分析(1)手機購物具有很好的便捷性(2)手機購物用戶群體數(shù)量多(3)3G技術(shù)的支持(4)手機購物具有"隨時隨地"等特點(5)手機購物有較好的身份認證的基礎(chǔ)學習參考資料分享 WORD格式整理5.與傳統(tǒng)網(wǎng)絡購物相比,手機購物存在的問題(1)購物形式單一(2)支付體系的建立和完善尚需時間(3)相比網(wǎng)絡購物具有更大的不安全因素1.3集成開發(fā)環(huán)境EclipseEclipse是一個開放源代碼的、與NetBeans、SunONEStudio和BorlandJbuilder類似的一種基于Java的整合型可擴展開發(fā)平臺,也是目前最著名的開源項目之一。其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。其未來的目標不僅僅是成為專門開發(fā)Java程序的IDE環(huán)境,根據(jù)Eclipse的體系結(jié)構(gòu),通過開發(fā)插件,它能擴展到任何語言的開發(fā),甚至能成為圖片繪制的工具。同時可以通過開發(fā)新的插件擴展現(xiàn)有插件的功能,比如本文為了進行手機即時網(wǎng)絡游戲的開發(fā),就是通過J2ME插件的擴展來加以實現(xiàn)的。Eclipse的跨平臺性很強,可以通過無限擴展各廠商的專有SDK,來實現(xiàn)應用程序在各種型號不同的手機上的應用,而且它本身有著統(tǒng)一的外觀,操作和系統(tǒng)資源管理,這正是Eclipse的潛力所在[4]。相比其他的手機專用開發(fā)工具,Eclipse有如下幾個優(yōu)點:①、豐富的觀察窗口。視圖是Eclipse的最靈活的部分,可以自定義每個視圖中包含的觀察窗口種類,也可以自定義一個新視圖。當然,每個視圖的觀察窗口都是可配置的,多樣化的視圖不但可以幫助程序員以不同角度觀察代碼,也可以滿足不同的編程習慣。②、強大的調(diào)試功能。Eclipse有多種跟蹤方式,斷點設置,變量值察看窗口等,而且根據(jù)所安裝插件的不同,Eclipse存在多種運行/調(diào)試程序的方式。這樣可以使程序員能更快的發(fā)現(xiàn)問題和解決問題,提高開發(fā)的效率。③、強大的插件加載功能。這正是Eclipse實現(xiàn)手機跨平臺特性的真正魅力所在,也是提高手機游戲移植效率的有效方法。④、快捷的代碼顯示切換功能。Eclipse提供了只顯示所選單元的代碼顯示切換功能,這在編輯Java程序的時候可以以方法為單位進行編輯,不僅代碼的顯示更加簡捷,而且還有助于編寫封裝性更好的類。正是由于Eclipse的種種優(yōu)秀特性,使得Eclipse在眾多整合型開發(fā)平臺中脫穎而出,成為不少從事手機軟件開發(fā)的程序員的首選開發(fā)工具,這也是本文中的手機即時網(wǎng)絡游戲選用Eclipse進行開發(fā)的真正原因。學習參考資料分享 WORD格式整理1.4Android模擬器1.4.1模擬器概述Android模擬器的主界面,如圖1-1所示圖1-1安卓模擬器的主界面如1-1圖所示的是模擬器的主界面全景圖,從圖中我們可以看出模擬器主要是由兩個部分組成的,上圖左邊的部分模擬的是手機的顯示界面,主要分布有電話按鈕,主菜單按鈕和上網(wǎng)按鈕,右面的部分模擬的是手機的鍵盤輸入。在模擬手機的部分內(nèi)置了一些Google公司自帶的程序,如打電話,發(fā)短信以及其他程序。Android模擬器中AndroidSDK自帶一個移動模擬器。它是一個可以運行在你電腦上的虛擬設備。Android模擬器可以讓你無需使用物理設備便可預覽、開發(fā)和測試設計的Android應用程序。Android模擬器能夠模擬除了接聽和撥打電話外的所有移動設備上的典型功能和行為。Android模擬器提供了大量的導航和控制鍵,你可以通過鼠標或鍵盤點擊這些按鍵來為你的應用程序產(chǎn)生事件。同時它還有一個屏幕用于顯示Android自帶應用程序和你自己的應用程序。為了便于模擬和測試應用程序,Android模擬器允許你的應用程序通過Android平臺服務調(diào)用其他程序、訪問網(wǎng)絡、播放音頻和視頻、保存和傳輸數(shù)據(jù)、通知用戶、渲染圖像過渡和場景。Android模擬器同樣具有強大的調(diào)試能力,例如能夠記錄內(nèi)核輸出的控制臺、模擬程序中斷(比如接受學習參考資料分享 WORD格式整理短信或打入電話)、模擬數(shù)據(jù)通道中的延時效果和遺失。下面的章節(jié)將提供關(guān)于模擬器的詳細信息,以及如何在開發(fā)應用程序中使用模擬器。1.4.2模擬器和真機的區(qū)別Android的模擬器功能很強,但是模擬器仍然只能盡量去模擬手機,有些手機的功能還是模擬不了,下面做一個簡單的說明。(1)模擬器不支持呼叫來電和接聽實際來電,但可以通過控制臺模擬電話呼叫。(2)模擬器不支持USB連接。(3)模擬器不支持相機/視頻捕捉。(4)模擬器不支持音頻輸入,但支持輸出。(5)模擬器不支持拓展耳機。(6)模擬器不支持藍牙。(7)模擬器不能確定連接狀態(tài)。(8)模擬器不能確定電池電量水平和充電狀態(tài)。(9)模擬器不能確定SD卡的插入和彈出。1.5研究的目的和主要內(nèi)容1.5.1研究的目的題目要求研究并完成一個基于Andriod平臺的網(wǎng)上購物商城,在此設計使用手機商城,用戶可以通過Android系統(tǒng)手機登錄該商城,而且可以進行查詢和購買商品等功能,就如京東,當當?shù)染W(wǎng)站一樣,提供用戶對商品的一些簡單的操作.此購物系統(tǒng)使得用戶使用的時候自由度較高,并非非要通過電腦來進行購買商品,只需要有個Android系統(tǒng)的手機就可以無時無刻的進行購物了.不但解放了時間和空間的限制,也增加了購物的效率,和購物的樂趣.1.5.2研究的主要內(nèi)容(1)用戶可以進行注冊并成為會員(2)用戶可以通過用戶名登錄(3)用戶可以對自己想要瀏覽的商品進行查詢和搜索(4)用戶可以對商品進行瀏覽(5)用戶可以添加想要購買的商品進入購物車(6)用戶也可以將已經(jīng)添加到購物車的商品刪除或修改(7)登錄的用戶可以對訂單進行查詢(8)管理員管理商品的基本信息學習參考資料分享 WORD格式整理(9)管理員可以對該網(wǎng)站的商品進行添加或刪除(10)管理員管理訂單的基本信息1.6論文組織結(jié)構(gòu)本論文的引言部分和第一章中闡述了基于Android平臺的移動手機商城的當今概況,并介紹了手機網(wǎng)絡購物在當前社會的發(fā)展?jié)摿?,以及程序設計的一些研究背景。并且對基于Android平臺的移動手機商城研究的目的和主要內(nèi)容進行了說明。本文其余部分的內(nèi)容如下:第二章介紹了Java語言的特點、本程序的開發(fā)環(huán)境及其相關(guān)工具的原理和使用。第三章中介紹了手機網(wǎng)絡商城程序的基本流程和框架。對手機商城基本框架等做了詳細敘述。第四章主要介紹了手機網(wǎng)絡商城設計的詳細過程,還對其重要部分的編程和代碼進行了分析和講解。第五章中在Eclipse開發(fā)平臺下,使用Andriod模擬器對該手機購物商城系統(tǒng)進行測試實現(xiàn)。第六章中回顧了基于Android平臺的移動手機商城設計過程中的遇到的難題,總結(jié)了設計過程中得到的經(jīng)驗與啟示。學習參考資料分享 WORD格式整理2.基于Android平臺的移動手機商城開發(fā)環(huán)境和相關(guān)技術(shù)介紹2.1開發(fā)環(huán)境及硬件需求Windowsxp較好的兼容性,內(nèi)存資源占用少的特點是我選擇作為本次開發(fā)的主系統(tǒng)的重要依據(jù)??紤]到機器的性能方面,在數(shù)據(jù)庫的選擇上,選用相對小型的Mysql5.0,更有利于系統(tǒng)的開發(fā)。Tomcat是一個輕量級應用服務器,占用系統(tǒng)資源少,擴展性好,性能穩(wěn)定,是現(xiàn)在比較流行的Web應用服務器MyEclipseforSpring8.6集成了很多eclipse沒有的插件,對于Web的開發(fā)有很好的幫助。EclipseIndigo3.7.2是開發(fā)Android系統(tǒng)的相對較好,穩(wěn)定的開發(fā)工具。此次java開發(fā)環(huán)境沿用的是一直很熟悉的JDK1.6,在android方面用的是最先版本SDK。自身電腦完全可以支持本次系統(tǒng)的開發(fā),硬件支持較好。2.2Java語言特點Java與C++語言相比,去掉了C++語言的復雜性和二義性的成分,增加了安全性和可移植性的成分。Java語言具有如下特點:簡單性、面向?qū)ο?、平臺無關(guān)性、可移植性、解釋性、髙性能、動態(tài)性、可靠性和安全性、多線程、分布式處理等。下面將介紹Java語言的主要特點2.3關(guān)于ECLIPSEEclipse是一個開放源代碼的、基于Java的可擴展開發(fā)平臺。就其本身而言,它只是一個框架和一組服務,用于通過插件組件構(gòu)建開發(fā)環(huán)境。幸運的是,Eclipse附帶了一個標準的插件集,包括Java開發(fā)工具(JavaDevelopmentTools,JDT)。雖然大多數(shù)用戶很樂于將Eclipse當作JavaIDE來使用,但Eclipse的目標不僅限于此。Eclipse還包括插件開發(fā)環(huán)境(Plug-inDevelopmentEnvironment,PDE),這個組件主要針對希望擴展Eclipse的軟件開發(fā)人員,因為它允許他們構(gòu)建與Eclipse環(huán)境無縫集成的工具。2.4數(shù)據(jù)庫需求分析學習參考資料分享 WORD格式整理基于功能需求中的各項功能,總結(jié)出數(shù)據(jù)庫需要的主要有四張表。分別是:用戶表,商品表,訂單表。用戶表需要包含用戶昵稱,密碼,性別等較為詳細的信息;商品表則需要包含商品名稱,數(shù)量,價格等商品所應具備的基本信息;訂單表需要包含訂單編號,用戶昵稱,用戶地址,訂單狀態(tài)等詳細信息。2.5本章小結(jié)第二章介紹了Java語言的特點、本程序的開發(fā)環(huán)境及其相關(guān)工具的使用原理和使用方法。學習參考資料分享 WORD格式整理3.系統(tǒng)概要設計3.1總體功能該系統(tǒng)分為前端的客戶端和后端的管理端,前端也就是客戶端主要包括用戶的瀏覽商品,注冊,登錄,商品搜索以及購物,添加到購物車,訂單等重要功能.后端主要是管理員和用戶的登陸與管理員對商品的訂單信息和商品信息的管理,在整個系統(tǒng)中各自有不同的功能和權(quán)限.系統(tǒng)實現(xiàn)的大致過程是客戶端連接服務器,服務器鏈接數(shù)據(jù)庫;客戶端連接數(shù)據(jù)庫是網(wǎng)絡連接,基于TCP/IP連接。服務器是通過jdbc接口與數(shù)據(jù)庫連接的客戶端的主要使用對象是普通的注冊后的會員用戶,后端管理模塊的使用對象是管理人員和用戶系統(tǒng)的概要設計流程如圖3-1所示用戶注冊登錄客戶端商品搜索購物系統(tǒng)數(shù)據(jù)庫瀏覽后臺管理購物車訂單查詢管理員管理員登錄商品信息管理訂單信息管理圖3-1系統(tǒng)的概要設計流程圖學習參考資料分享 WORD格式整理3.2E-R圖1.系統(tǒng)管理員主要管理用戶,商品的添加和刪除,訂單,商品類型四個方面。2.用戶主要包含了,ID,昵稱,密碼等屬性。3.商品主要包含ID,名稱,價格等屬性。4.訂單主要包含ID,訂單狀態(tài)等屬性。5.商品類型主要包含ID,類型名稱等屬性。如下圖3-2所示:用戶昵稱用戶ID管理員用戶時間商品訂單管理管理管理密碼電話等級手機號碼性別余額商品ID規(guī)格價格圖片數(shù)量描述商品名稱用戶姓名訂單ID用戶電話總價訂單日期收貨地址訂單狀態(tài)管理商品類型類型ID類型名mmm1111m學習參考資料分享 WORD格式整理圖3-2E-R圖3.3初步設計方案3.3.1客戶端的登錄和注冊客戶端的登錄和注冊是指一個用戶如果要進行購買等商品時必須要有會員號,這是就需要注冊手機商城是自己成為商城的會員,必須要填寫用戶自己想要在網(wǎng)站上使用的用戶名還有密碼,并且還要再次輸入密碼使得密碼是確定唯一的。還要寫入自己的手機號以便將來忘記密碼時可以及時地找回并且還要填入性別。以上信息填寫好后就可以生成一個屬于用戶個人的該網(wǎng)站的會員號。記住會員號和其對應的密碼通過用戶名和密碼的填寫可以進行登陸,若密碼或用戶名中出現(xiàn)與注冊時不相同的信息則不能夠登陸成功,將提示從新登陸。若用戶名和密碼填寫正確后的用戶可以登陸成功。通過挑選商品添加到購物車,方便下訂單和之后的操作??蛻舳说顷懽粤鞒倘鐖D3-3所示:手機主界面登陸/注冊注冊界面登陸界面NoyesNo驗證驗證yes注冊用戶的主界面圖3-3客戶端的登陸與注冊流程圖學習參考資料分享 WORD格式整理3.3.2客戶端的瀏覽功能瀏覽功能是當一個用戶進行注冊和登陸成功后可以看到手機商城的主界面,主界面中具有五大類商品的按鈕,其中有服裝/服飾,電視機/顯示器,手機/數(shù)碼,皮包/包包,還有運動鞋等商品。點擊5個圖片按鈕的操作程序按鈕,點擊后即可以顯示該類商品的具體有哪些商品的信息。使得用戶進行瀏覽和選購??蛻舳说臑g覽功能圖如3-4所示手機主界面手機電腦照相機其他圖3-4瀏覽功能的流程圖3.3.3購物車功能購物車功能是對注冊完成的手機商城的會員可以進行登陸,登陸成功之后的用戶可以對自己中意的商品添加到購物車中,若用戶還需要繼續(xù)購物則可以回到商品區(qū)繼續(xù)進行購物從而再把自己喜歡的商品添加到購物車,若購物完成后則可以在購物車中進行管理,可以對自己選入購物車的商品進行篩選,最終將所選擇的商品進行購買或者將購買的商品下訂單等.客戶端購物車功能如圖3-5所示客戶端本地請求,讀取本地文件,造型為對象點擊購物車Tab將列表中元素在客戶端顯示點擊結(jié)算,將數(shù)據(jù)寫成字節(jié)流,發(fā)送至服務器服務器讀取數(shù)據(jù),寫入數(shù)據(jù)庫學習參考資料分享 WORD格式整理圖3-5客戶端購物車功能圖3.3.4訂單功能訂單功能是對注冊完成后的手機商城的會員可以進行對所選擇的商品從購物車中下訂單進行購買。訂單界面中顯示用戶自己的賬戶余額,還有用戶所要下訂單的商品的價格,若要下訂單必須要正確地填寫用戶的家庭住址以及聯(lián)系電話,以便送貨人員可以快速而又準確的配送;并且還要輸入注冊時填寫的密碼,若填寫正確則下訂單成功,若填寫不正確則要繼續(xù)填寫正確后方可完成購買。訂單系統(tǒng)的流程圖如圖3-6所示手機主界面商品瀏覽no訂單用戶登錄狀態(tài)yes接受訂單圖3-6訂單功能的流程圖3.3.5服務器管理功能服務器管理功能是指手機商城的網(wǎng)站管理員通過用戶名以及密碼的正確填寫后登錄到后臺主頁面,在商品管理的商品列表中通過數(shù)據(jù)庫可以對產(chǎn)品的具體信息進行查詢,修改,添加以及刪除。管理員通過對商品信息的編輯可以添加商品。例如管理員要對打折期間的促銷商品進行修改價格等操作或新上架的商品進行編輯從而使得普通用戶可以在客戶端瀏覽其信息。學習參考資料分享 WORD格式整理管理員在訂單管理中可以看到用戶下的訂單,并且對客戶的訂單進行完成。服務器后臺的大致流程如3-7所示管理員登錄數(shù)據(jù)庫管理刪除增加修改查詢數(shù)據(jù)庫圖3-7服務管理流程圖3.4系統(tǒng)流程概述(1)用戶如果要瀏覽網(wǎng)站得時后首先應該看到的就是網(wǎng)站首頁,在首頁用戶可以瀏覽近期發(fā)布或更新的最新商品,還有網(wǎng)站的熱門產(chǎn)品和該網(wǎng)站推薦的產(chǎn)品,而且還可以對已知的商品的信息進行搜索。(2)如果用戶想要購買某些商品的時候用戶需要注冊成為該網(wǎng)站的會員。(3)如果用戶瀏覽完商品的具體信息后,還可以把自己想買的商品放入購物車,也可以隨時增加和刪除或修改購物車里已添加的商品。(4)如果購物車里的商品用戶已經(jīng)滿意就可以去下單。(5)相關(guān)的程序模塊會將用戶所填寫的所有信息內(nèi)容都記錄在數(shù)據(jù)庫內(nèi),使網(wǎng)上商城的管理人員可以準確和快速的核對信息內(nèi)容,以便發(fā)送貨物(6)若用戶已經(jīng)確認收到了購買的產(chǎn)品后整個購買的過程就結(jié)束了。(7)管理員在電子商城的后臺管理方面還需要添加,修改,刪除商品,同時要對商品進行分類和訂單處理都是需要后臺的管理人員來操作的。3.5系統(tǒng)框架圖(1)后臺管理框圖如圖3-8所示學習參考資料分享 WORD格式整理后臺管理訂單管理會員管理商品管理刪除添加查找刪除添加圖3-8后臺管理流程(2)用戶端框圖如圖3-9所示用戶訂購商品查找商品瀏覽商品注冊登錄圖3-9用戶端框圖學習參考資料分享 WORD格式整理3.6數(shù)據(jù)庫設計本系統(tǒng)采用的是Mysql數(shù)據(jù)庫,為了將在系統(tǒng)頁面中顯示的動態(tài)數(shù)據(jù)存放在后臺數(shù)據(jù)庫中,便于修改、更新和信息隱藏,因此,將E-R圖轉(zhuǎn)換成關(guān)系模型,即在數(shù)據(jù)庫中建立實體關(guān)系表。(1)用戶表用戶表具有用戶昵稱、密碼、電話、等基本信息。設置uid為主鍵,主鍵的生成策略采用自動生成方式。用戶的屬性圖如圖3-10所示:用戶用戶ID密碼用戶昵稱等級性別余額手機號碼圖3-10用戶屬性圖根據(jù)圖3-10可定義出用戶的數(shù)據(jù)表user,用戶表用來保存所有用戶的信息。結(jié)構(gòu)如表3-11:表3-11用戶表列名數(shù)據(jù)類型說明useridIntprimarykeyauto_increment用戶IDusernamevarchar用戶昵稱pwdvarchar密碼phonevarchar用戶手機號碼Power1varchar等級sexvarchar性別Yu_eInt余額(2)商品表商品表具有商品名稱、數(shù)量、價格、圖片等基本信息。設置pid為主鍵,學習參考資料分享 WORD格式整理主鍵的生成策略采用自動生成方式。商品的屬性圖如圖3-12所示:商品商品ID數(shù)量商品名稱規(guī)格價格描述圖片圖3-12商品屬性圖根據(jù)圖3-12可定義出商品的數(shù)據(jù)表product,商品表用來保存所有商品的信息。結(jié)構(gòu)如表3-13:表3-13商品表列名數(shù)據(jù)類型說明idIntprimarykeyauto_increment商品IDNamevarchar名稱fujiavarchar規(guī)格jiaqianInt價格shuliangvarchar數(shù)量tupianvarchar圖片miaoshuvarchar描述(1)訂單表訂單表具有用戶昵稱、用戶姓名、商品名稱、電話、地址、訂單日期、訂單處理狀態(tài)等基本信息。設置sid為主鍵,主鍵的生成策略采用自動生成方式。訂單的屬性圖如圖3-14所示:學習參考資料分享 WORD格式整理用戶訂單ID用戶姓名時間總價收獲地址訂單明細電話訂單處理狀態(tài)圖3-14訂單屬性圖根據(jù)圖3-14可定義出訂單的數(shù)據(jù)表salesorder,訂單表用來保存所有訂單的信息。結(jié)構(gòu)如表3-15:表3-15訂單表列名數(shù)據(jù)類型說明IdIntprimarykeyauto_increment訂單IDshijianvarchar訂單時間kewuvarchar客戶shouhuodizhivarchar收獲地址Jin_eint總價mingxivarchar訂單明細zhuangtaivarchar狀態(tài)phonevarchar電話3.7本章小結(jié)第三章中介紹了程序的基本流程和框架。對手機商城基本框架等做了詳細敘述。具體算法的代碼實現(xiàn)和詳細流程將在下章介紹。學習參考資料分享 WORD格式整理4.課題詳細設計4.1總體流程概要設計用戶通過登錄進入系統(tǒng),可以進行修改自己的信息,瀏覽、訂購商品,查看、取消訂單等操作。通過管理員的權(quán)限可以進入后臺管理系統(tǒng)分別對商品信息管理、訂單信息管理、進行添加、刪除、修改和查看等操作。系統(tǒng)工作流程圖如圖4-1所示。管理員用戶登入后臺登入客戶端訂單管理商品管理注冊、登錄瀏覽商品數(shù)據(jù)庫購物車圖4-1系統(tǒng)工作流程圖4.2Android系統(tǒng)客戶端邏輯結(jié)構(gòu)設計及其內(nèi)容編碼4.2.1客戶端登陸功能內(nèi)容調(diào)用HttpClient這個類,實現(xiàn)與后臺數(shù)據(jù)庫的連接。運用sql語句查詢數(shù)據(jù)庫中用戶的信息,與登入界面中輸入的信息相匹配,如果匹配錯誤,則提示錯誤,如匹配正確,便可實例化一個Intent對象,并調(diào)用其方法,實現(xiàn)登錄界面的成功跳轉(zhuǎn)。如圖4-2所示:學習參考資料分享 WORD格式整理客戶端將輸入內(nèi)容以字節(jié)流發(fā)送至客戶端服務器輸入用戶名,密碼用戶名,密碼判斷TrueFalse客戶端接收數(shù)據(jù),做相應跳轉(zhuǎn)圖4-2客戶端登陸流程圖登陸功能內(nèi)容編碼的翻譯解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importandroid.app.Activity;--引入Activity這個類,因為之后會用到這個類中的一些方法importandroid.content.Intent;--Android系統(tǒng)起步開機importandroid.content.SharedPreferences;--SharedPreferences是Android平臺上一個輕量級的存儲類,主要是保存一些常用的配置比如窗口狀態(tài)importandroid.content.SharedPreferences.Editor;--設置Android信息的保存和讀取importandroid.os.Bundle;--引入Bundle這個類,Android使用Bundle進行數(shù)據(jù)傳遞分析importandroid.os.StrictMode;--規(guī)定android的模式importandroid.preference.PreferenceManager;--引入PreferenceManager類,用來保存簡單的數(shù)據(jù)類型importandroid.view.View;Android.view.view--應該是android的封裝類,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener類,是一種處理的是點擊事件的接口。importandroid.widget.Button;--引入widget.Button這個類,就可以使用該類中按鈕的一些使用方法importandroid.widget.EditText;--引入widget.EditText這個類,即可以在下面程序中使用編輯文本框中的方法了importandroid.widget.Toast;--引入widget.Toast這個類,作用是實現(xiàn)在界面上彈出一個懸浮提示框importcom.http.httpclient;--引入HttpClient這個類,HttpClient是ApacheJakartaCommon下的子項目,可以用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包,Java應用程序需要直接通過HTTP協(xié)議來訪問網(wǎng)絡資源。學習參考資料分享 WORD格式整理publicclassloginextendsActivity{privateButtonb1;--定義按鈕b1privateButtonb2;--定義按鈕b2privateEditTexte1;--定義一個編輯文本框e1privateEditTexte2;--定義一個編輯文本框e2SharedPreferencessh;--項目中需要對用戶輸入的信息進行存儲,然后在后續(xù)程序中讀取使用,利用到了SharedPreferences類。Editore;--編輯器@OverridepublicvoidonCreate(BundlesavedInstanceState)--這是Activity建立的時候一定會調(diào)用的onCreate()方法{super.onCreate(savedInstanceState);--繼承onCreate()方法setContentView(R.layout.login);--載入登錄頁面這個視圖internet();sh=PreferenceManager.getDefaultSharedPreferences(this);--拿到控件在SharedPreferences中存儲的數(shù)值e=sh.edit();b1=(Button)findViewById(R.id.login_button1);--從R文件下調(diào)出登錄頁面的button1的按鈕符b2=(Button)findViewById(R.id.login_button2);--從R文件下調(diào)出登錄頁面的button2的按鈕符e1=(EditText)findViewById(R.id.login_editText1);--從R文件下調(diào)出登錄頁面editText1編輯文本框e2=(EditText)findViewById(R.id.login_editText2);--從R文件下調(diào)出登錄頁面editText2編輯文本框這段代碼為用戶“登錄”操作代碼會出現(xiàn)4種結(jié)果:1、顯示“用戶名不存在”2、登錄成功并顯示用戶信息;包括1、用戶名;2、余額3、顯示“密碼錯誤”學習參考資料分享 WORD格式整理4、如果沒填寫用戶名或密碼則顯示“您是不是有東西沒填啊”b1.setOnClickListener(newOnClickListener(){--設置一個登錄按鈕publicvoidonClick(Viewv){--點擊這個“登錄”按鈕并執(zhí)行該按鈕下的操作if(!e1.getText().toString().equals("")||!e2.getText().toString().equals("")){httpclienthc=newhttpclient("l=1&sql=select@*@from@user1@where@username='"+e1.getText().toString()+"';");//"+e1.getText().toString()+"--訪問網(wǎng)絡資源,用戶通過填寫用戶名,以及登錄密碼進行登錄操作,后臺將該用戶的用戶名及密碼進行驗證操作Stringstr=hc.getshuju();--得到數(shù)據(jù)信息//Log.d("Jersey",str);--輸出數(shù)據(jù)str,且數(shù)據(jù)顏色為藍色if(str.equals("")){Toast.makeText(login.this,"用戶名不存在!",Toast.LENGTH_LONG).show();--如果str為空集,彈出一個文本框顯示信息“用戶名不存在”return;--返回結(jié)果}else{String[]str1=str.split(",");--將得到的信息以,分隔開if(e2.getText().toString().equals(str1[2])){e.putString("id",str1[0]);e.putString("name",str1[1]);e.putString("yu_e",str1[6]);e.commit();--當str不為空集,可能出現(xiàn)的情況1:則顯示用戶的id號碼,名字,余額信息,并將信息以“,”分隔開Inteni=newIntent(login.this,ShoppingActivity.class);--切換到新的界面startActivity(i);--執(zhí)行跳轉(zhuǎn)到新界面的操作login.this.finish();--登錄操作完成}else{Toast.makeText(login.this,"密碼錯誤!",Toast.LENGTH_LONG).show();--當str不為空集,可能出現(xiàn)的情況2:彈出一個文本框,顯示“密碼錯誤”}}}else{Toast.makeText(login.this,"您是不是有點東西沒填??!",Toast.LENGTH_LONG).show();學習參考資料分享 WORD格式整理--當str不為空集時,可能出現(xiàn)的情況3:彈出一個文本框顯示“您是不是有點東西沒填啊”即可能是用戶名沒填,或者登錄密碼沒有填寫}}});如果未注冊則點擊注冊按鈕先進行注冊b2.setOnClickListener(newOnClickListener(){--設立一個注冊按鈕publicvoidonClick(Viewv){--點擊“注冊”按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(login.this,zhuce.class);--切換到注冊界面startActivity(i);--執(zhí)行跳轉(zhuǎn)新界面的操作login.this.finish();--完成操作}});}這段程序是用來實現(xiàn)連接網(wǎng)絡的功能;android系統(tǒng)固定模塊程序privatevoidinternet(){StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(newStrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());}}4.2.2客戶端注冊功能內(nèi)容同樣是調(diào)用HttpClient這個類,連接到數(shù)據(jù)庫,將輸入的信息插入到后臺數(shù)據(jù)庫中,兩次密碼輸入一致便可實現(xiàn)注冊,如不一樣,需重新輸入。信息輸入正確后實例化Intent對象,調(diào)用其方法,并跳轉(zhuǎn)到登入界面。如圖4-3所示:學習參考資料分享 WORD格式整理密碼判斷客戶端將輸入內(nèi)容以字節(jié)流發(fā)送至客戶端服務器輸入注冊信息truefalse客戶端接收數(shù)據(jù),做相應的跳轉(zhuǎn)圖4-3客戶端注冊流程圖注冊功能內(nèi)容編碼和部分解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importandroid.app.Activity;--引入Activity這個類,因為之后會用到這個類中的一些方法importandroid.content.Intent;--引入Intent類,用于Android系統(tǒng)起步開機操作importandroid.os.Bundle;--引入Bundle這個類,Android使用Bundle進行數(shù)據(jù)傳遞分析importandroid.os.StrictMode;--規(guī)定android的模式importandroid.view.View;--android.view.view應該是android的封裝類,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener類,是一種處理的是點擊事件的接口。importandroid.widget.Button;--引入widget.Button這個類,就可以使用該類中按鈕的一些使用方法importandroid.widget.EditText;--引入widget.EditText這個類,即可以在下面程序中使用編輯文本框中的方法了importandroid.widget.RadioGroup;--調(diào)用可以給用戶提供多選一機制的實現(xiàn)方法importandroid.widget.Toast;--引入widget.Toast這個類,作用是實現(xiàn)在界面上彈出一個懸浮提示框importcom.http.httpclient;--引入HttpClient這個類,HttpClient是ApacheJakartaCommon下的子項目,可以用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包,Java應用程序需要直接通過HTTP協(xié)議來訪問網(wǎng)絡資源。publicclasszhuceextendsActivity{學習參考資料分享 WORD格式整理privateButtonb1;--定義按鈕b1privateEditTexte1;--定義一個編輯文本框e1privateEditTexte2;--定義一個編輯文本框e2privateEditTexte3;--定義一個編輯文本框e3privateEditTexte4;--定義一個編輯文本框e4privateRadioGroupr1;--定義一個多選一機制菜單r1privateStringsex;--定義性別參量@OverridepublicvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法super.onCreate(savedInstanceState);--繼承這個方法setContentView(R.layout.zhuce);--載入zhuce(注冊頁面)這個視圖internet();--連接網(wǎng)絡b1=(Button)findViewById(R.id.zhuce_button1);--從R文件下調(diào)出注冊頁面的button1按鈕e1=(EditText)findViewById(R.id.zhuce_editText1);--從R文件調(diào)出注冊頁面的editText1編輯文本框1e2=(EditText)findViewById(R.id.zhuce_editText2);--從R文件調(diào)出注冊頁面的editText1編輯文本框1e3=(EditText)findViewById(R.id.zhuce_editText3);--從R文件調(diào)出注冊頁面的editText1編輯文本框1e4=(EditText)findViewById(R.id.zhuce_editText4);--從R文件調(diào)出注冊頁面的editText1編輯文本框1r1=(RadioGroup)findViewById(R.id.radioGroup1);--從R文件調(diào)出注冊頁面的radioGroup1多選一機制菜單r1設立一個注冊按鈕,點擊該頁面上的注冊按鈕后可進入頁面填寫注冊信息------可能的結(jié)果:1、注冊成功;2、注冊失敗原因:兩次密碼輸入不一致;3、注冊失敗原因:您是不是有東西沒填啊b1.setOnClickListener(newOnClickListener(){--設立一個可點擊的注冊按鈕publicvoidonClick(Viewv){--點擊這個“注冊”按鈕,并執(zhí)行該按鈕下的操作if(!e1.getText().toString().equals("")&&!e2.getText().toString().equals("")&&!e3.getText().toString().equals("")&&!e4.getText().toString().equals("")){學習參考資料分享 WORD格式整理f(e2.getText().toString().equals(e3.getText().toString())){--點擊注冊按鈕后,進入注冊頁面,填寫該頁面上需要填寫的信息內(nèi)容if(r1.getCheckedRadioButtonId()==R.id.radio0)sex="男";elsesex="女";--該頁中有二選一按鈕,性別可以選擇“男”或者“女”其中一個選項httpclienthc=newhttpclient("l=2&sql=insert@into@user1(username,pwd,phone,power1,sex)@values('"+e1.getText().toString()+"','"+e2.getText().toString()+"','"+e4.getText().toString()+"',2,'"+sex+"');"--訪問網(wǎng)絡資源,將注冊用戶的名字,電話,性別等信息加入到數(shù)據(jù)庫中Stringstr=hc.getshuju();--得到到數(shù)據(jù)并放到str中if(str.equals("1")){--如果str=1Toast.makeText(zhuce.this,"注冊成功!",Toast.LENGTH_LONG).show();--注冊操作成功并彈出文本框顯示提示信息為“注冊成功”Intenti=newIntent(zhuce.this,login.class);--切換到新的界面startActivity(i);--執(zhí)行跳轉(zhuǎn)新界面的操作zhuce.this.finish();--完成注冊操作}}else{當str不等于1時會出現(xiàn)下面兩種情況Toast.makeText(zhuce.this,"兩次密碼沒填對!",Toast.LENGTH_LONG).show();--情況1:注冊時需要填寫兩次密碼,兩次密碼填寫必須一致,如果不一致則彈出文本框顯示提示信息為“兩次密碼沒填對”}}else{Toast.makeText(zhuce.this,"您是不是有點東西沒填啊!",Toast.LENGTH_LONG).show();--情況2:當注冊信息有的項目沒有填寫時,則彈出文本框顯示提示信息為“您是不是有點東西沒填??!”}}});}學習參考資料分享 WORD格式整理這段程序是用來實現(xiàn)連接網(wǎng)絡的(android固定模塊程序)privatevoidinternet(){StrictMode.setThreadPolicy(newStrictMode.ThreadPolicy.Builder().detectDiskReads().detectDiskWrites().detectNetwork().penaltyLog().build());StrictMode.setVmPolicy(newStrictMode.VmPolicy.Builder().detectLeakedSqlLiteObjects().detectLeakedSqlLiteObjects().penaltyLog().penaltyDeath().build());}}4.2.3客戶端商品和搜索功能內(nèi)容會員用戶在客戶端選擇具體商品顯示商品詳細信息選擇數(shù)量,加入購物車,并購買圖4-4客戶端商品搜索流程圖商品搜索的sql語句在ListInfo類中,調(diào)用這個類的方法,實例一個List>集合,將搜索出來的商品保存在這個集合中,實例SimpleAdapter對象,List集合中的商品,以列表的形式顯示在頁面中。1.商品搜索功能內(nèi)容編碼和部分解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importjava.util.HashMap;--引入util.HashMap這個類,可以調(diào)用HashMap中的“鏈接”方法importjava.util.List;--引入util.List這個類,可以使用list進行批量數(shù)據(jù)序列操作importandroid.app.ListActivity;--引入ListActivity這個類,該類是綁定到一個數(shù)據(jù)源,用來顯示這一串數(shù)據(jù)的importandroid.content.Intent;--引入Inrent類,用來實現(xiàn)Android系統(tǒng)起步開機操作importandroid.os.Bundle;--引入Bundle這個類,Android使用Bundle進行數(shù)據(jù)傳遞分學習參考資料分享 WORD格式整理析importandroid.view.View;--android.view.view應該是android的封裝類,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener類,是一種處理的是點擊事件的接口。importandroid.widget.ArrayAdapter;--引入widget.ArrayAdapter,可以使用將數(shù)據(jù)放到一個數(shù)據(jù)以便使用的方法importandroid.widget.Button;--引入widget.Button這個類,就可以使用該類中按鈕的一些使用方法importandroid.widget.EditText;--引入widget.EditText這個類,即可以在下面程序中使用編輯文本框中的方法了importandroid.widget.ListView;--引入widget.ListView這個類,該類的作用是可以實現(xiàn)以列表的形式展示具體內(nèi)容,并且能夠根據(jù)數(shù)據(jù)的長度自適應顯示importandroid.widget.SimpleAdapter;--引入Simple.Adapter這個類,可以將靜態(tài)數(shù)據(jù)映射到XML文件中定義好的視圖importandroid.widget.Spinner;--引入Spinner類,用來實現(xiàn)Spinner就是下拉菜單的操作importandroid.widget.TextView;--引入TextView類,該類具有用來顯文本框的作用importandroid.widget.Toast;--引入widget.Toast這個類,作用是實現(xiàn)在界面上彈出一個懸浮提示框importcom.adapter.ImageSimpleAdapter;--引入ImageSimpleAdapter類,可以實現(xiàn)將靜態(tài)圖片數(shù)據(jù)映射到XML文件中定義好的視圖importcom.list.listinfo;--引入listinfo類,之后會用到該類中的一些方法publicclasssousuoextendsListActivity{privatestaticfinalString[]m={"服裝","包包","電視","運動鞋","手機"};--定義5個字符串分別是:“服裝”、“包包”、“電視”、“運動鞋”、“手機”privateEditTexte1;--定義一個編輯文本框e1privateButtonb1;--定義一個按鈕b1privateSpinnerspinner;--定義一個下拉菜單privateArrayAdapteradapter;--定義一個數(shù)據(jù)和視圖之間的橋梁,數(shù)據(jù)在adapter中做處理,然后顯示到視圖上面@Override學習參考資料分享 WORD格式整理從R.java文件中調(diào)出sousuo頁面所需要的文本框TextView:1、name名字;2、miaoshu描述;3、shuliang數(shù)量;4、lujing路徑;5、jiage價格;6、id;7:biaoming表明protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){--是ListView對應的響應事件,一共有四個參數(shù):ListView就是用戶單擊項所在的列表;View就是我們單擊項的視圖;Position單擊在列表的位置;Id單擊項的idTextViewt1=(TextView)v.findViewById(R.id.text1);--從R文件中調(diào)出文本框t1TextViewt2=(TextView)v.findViewById(R.id.yin_miaoshu);--從R文件中調(diào)出描述商品的文本框t2TextViewt3=(TextView)v.findViewById(R.id.yin_shuliang);--從R文件中調(diào)出顯示商品數(shù)量的文本框t3TextViewt6=(TextView)v.findViewById(R.id.yin_id);--從R文件中調(diào)出顯示商品id的文本框t6TextViewt7=(TextView)v.findViewById(R.id.yin_biaoming);--從R文件中調(diào)出顯示表明信息的文本框t7TextViewt4=(TextView)v.findViewById(R.id.yin_lujing);--從R文件中調(diào)出顯示商品路徑信息的文本框t4TextViewt5=(TextView)v.findViewById(R.id.text3);--從R文件中調(diào)出文本框t5Intenti=newIntent(sousuo.this,shangpin.class);--切換到搜索后的新界面i.putExtra("name",t1.getText());--文本框t1中顯示搜索到的商品的名字i.putExtra("miaoshu",t2.getText());--文本框t2顯示搜索的商品的描述信息i.putExtra("shuliang",t3.getText());--文本框t3顯示搜索到的商品的庫存數(shù)量i.putExtra("lujing",t4.getText().toString().substring(8));--文本框t4,顯示搜索到的商品的路徑信息i.putExtra("jiage",t5.getText());--文本框t5顯示搜索的商品的價格信息i.putExtra("id",t6.getText());--文本框t6顯示搜索到的商品的idi.putExtra("biaoming",t7.getText());--文本框t7顯示搜索到的商品的表明信息startActivity(i);--執(zhí)行跳轉(zhuǎn)新界面的操作}從R.java文件中調(diào)出sousuo頁面所需的EditText編輯文本框(可輸入搜索信息的文本框),搜索button按鈕。并按照R.layout中對sousuo頁面的布局方式進行布局@Override學習參考資料分享 WORD格式整理protectedvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法//TODOAuto-generatedmethodstub--自動生成該語句super.onCreate(savedInstanceState);--繼承這個方法setContentView(R.layout.sousuo);--載入登錄頁面這個視圖e1=(EditText)findViewById(R.id.sousuo_editText1);--調(diào)出R文件下搜索頁面所需的編輯文本框e1b1=(Button)findViewById(R.id.sousuo_button1);--調(diào)出R文件下搜索頁面所需的按鈕b1搜索:1、包包;2、服裝;3、電視;4、運動鞋;5、手機的搜索程序------搜索結(jié)果:1、沒有找到該商品;2、找到該商品并且按照預先設定好的布局方式將商品信息顯示在頁面中b1.setOnClickListener(newOnClickListener(){--設立一個“搜索”按鈕publicvoidonClick(Viewv){--點擊“搜索”按鈕,并執(zhí)行該按鈕下的操作Strings=spinner.getSelectedItem().toString();--返回一個字符串Strings1=null;--定義s1為空集if(s.equals("包包"))--當s等于“包包”時s1="baobao";--s1的集合即為“包包”類所有商品elseif(s.equals("服裝"))--如果s等于“服裝”時s1="fuzhuang";--s1的集合即為“服裝”類所有的商品elseif(s.equals("電視"))--如果s等于“電視”s1="dianshi";--s1的集合即為“電視”類所有的商品elseif(s.equals("運動鞋"))--如果s等于“運動鞋”s1="xiezi";--s1的集合即為“鞋子”類所有的商品elseif(s.equals("手機"))--如果s等于“手機”s1="shouji";--s1的集合即為“手機”類所有的商品Strings2=e1.getText().toString();listinfol=newlistinfo(s1,s2);List>list=l.list1();--在編輯文本框e1中輸入要搜索的商品名稱if(list==null){--如果列表list等于空集toast("沒有找到和["+s2+"]相關(guān)的商品");學習參考資料分享 WORD格式整理--則彈出文本框顯示信息為“沒有找到和搜索內(nèi)容相關(guān)的商品”}else{SimpleAdaptersa=newImageSimpleAdapter(sousuo.this,list,R.layout.show_list_item,newString[]{--如果list不等于空集則找到與搜索內(nèi)容相關(guān)的商品,布置搜索到的商品展示頁面"product_item_image","text1","text2","text3","list_idex","yin_miaoshu",yin_shuliang","yin_lujing"},newint[]{--文本框1顯示的是商品的描述信息,文本框2顯示的是商品的數(shù)量信息,文本框3顯示的是商品的路徑信息R.id.product_item_image,R.id.text1,R.id.text2,R.id.text3,R.id.list_idex,R.id.yin_miaoshu,R.id.yin_shuliang,R.id.yin_lujing});setListAdapter(sa);--設立文本框1、文本框2即文本框3在搜索頁面上的視圖方式}}});spinner=(Spinner)findViewById(R.id.sousuo_spinner1);--從R文件中調(diào)出搜索頁面所用的下拉菜單1adapte=newArrayAdapter(this,ndroid.R.layout.simple_spinner_item,m);--設置該下拉菜單的視圖方式adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item);--調(diào)用setDropDownViewResourc中的方法,以XML的方式定義下拉菜單要顯示的模樣spinner.setAdapter(adapter);--將adapter添加到下拉菜單spinner中去}publicvoidtoast(Stringstr){Toast.makeText(sousuo.this,str,Toast.LENGTH_SHORT).show();--顯示提示信息文本框}}2.數(shù)據(jù)庫文件中商品信息編碼和部分解釋學習參考資料分享 WORD格式整理下面這段代碼主要是設置數(shù)據(jù)庫文件中商品素材信息packagecom.SQL;--這個類放在了com.SQL這個文件夾下面publicclassshangpinBean{publicStringgetKucun(){returnkucun;--這里是定義了一個string變量Kucun名字,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取Kucun的值而不能再設置Kucun的值}publicvoidsetKucun(Stringkucun){this.kucun=kucun;--setKucun就是給Kucun設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的Kucun賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.kucun=kucun;便是賦值的部分,賦值之后不需要有返回值。}publicstaticfinalStringID="_id";--定義一個字符串常量IDpublicstaticfinalStringNAME="name";--定義一個字符串常NAMEpublicstaticfinalStringSHULIANG="shuliang";--定義一個字符串常量SHULIANGpublicstaticfinalStringJIAGE="jiage";--定義一個字符串常量JIAGEpublicstaticfinalStringKUCUN="kucun";--定義一個字符串常量KUCUNpublicstaticfinalStringSHANGID="shangid";--定義一個字符串常量SHANGIDpublicstaticfinalStringBIAOMING="biaoming";--定義一個字符串常量BIAOMINGprivateStringid;--定義一個字符串參量---idprivateStringname;--定義一個字符串參量---名字privateStringshuliang;--定義一個字符串參量---數(shù)量privateStringjiage;--定義一個字符串參量---價格privateStringkucun;--定義一個字符串參量庫存publicStringgetId(){returnid;--這里是定義了一個string變量id,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取id的值而不能再設置id的值}publicvoidsetId(Stringid){this.id=id;學習參考資料分享 WORD格式整理--setId就是給id設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的id號碼賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.id=id;便是賦值的部分,賦值之后不需要有返回值。}publicStringgetName(){returnname;--這里是定義了一個string變量Name名字,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取Name的值而不能再設置Nane的值}publicvoidsetName(Stringname){this.name=name;}--setName就是給name設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的name賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.name=name;便是賦值的部分,賦值之后不需要有返回值。publicStringgetShuliang(){returnshuliang;--這里是定義了一個string變量Shuangliang數(shù)量,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取數(shù)量的值而不能再設置數(shù)量的值}publicvoidsetShuliang(Stringshuliang){this.shuliang=shuliang;--setShuliang就是給shuliang設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的shuliang賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.shuliang=shuliang;便是賦值的部分,賦值之后不需要有返回值。}publicStringgetJiage(){returnjiage;--這里是定義了一個string變量Jiage價格,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取價格的值而不能再設置價格的值}publicvoidsetJiage(Stringjiage){this.jiage=jiage;學習參考資料分享 WORD格式整理--setJiage就是給jiage設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的jiage賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.jiage=jiage;便是賦值的部分,賦值之后不需要有返回值。}}3.設置4個menu菜單按鈕和服裝;電視;手機;包包;鞋子這五個圖片按鈕編碼和部分解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importandroid.app.Activity;--引入Activity這個類,因為之后會用到這個類中的一些方法importandroid.app.AlertDialog;--引入AlertDialog這個類,可以引用該類中對話框的方法importandroid.content.DialogInterface;--引入DialogInterface這個類,可以引用該類中加入對話框的操作方法importandroid.content.Intent;--引入Intent類,用來進行Android系統(tǒng)起步開機操作importandroid.os.Bundle;--Android使用Bundle進行數(shù)據(jù)傳遞分析importandroid.os.StrictMode;--規(guī)定android的模式importandroid.view.Menu;--引入Menu類,作用是會用到該類中動態(tài)菜單的操作方法importandroid.view.MenuItem;--引入MenuItem類,一個在Menu控件中顯示的菜單項的方法importandroid.view.View;--android.view.view應該是android的封裝類,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener類,是一種處理的是點擊事件的接口。importandroid.widget.ImageButton;--引入widget.ImageButton這個類,就可以使用該類中圖片按鈕的一些使用方法importandroid.widget.Toast;--引入widget.Toast這個類,作用是實現(xiàn)在界面上彈出一個懸浮提示框importcom.list.listinfo;--引入listinfo類,之后會用到該類中的一些方法publicclassShoppingActivityextendsActivity{退出商城的程序:出現(xiàn)一個對話框:1、點擊確定按鈕即可退出商城學習參考資料分享 WORD格式整理2、點擊取消按鈕即繼續(xù)購物@Overridepublicvoidfinish(){AlertDialog.Builderdialog02=newAlertDialog.Builder(ShoppingActivity.this);--創(chuàng)建一個對話框dialog02.setTitle("提示");--建立對話框標題顯示“提示”dialog02.setIcon(R.drawable.ic_launcher);--為這個對話框設置圖標,圖標從R文件中調(diào)用dialog02.setMessage("確定要退出網(wǎng)上商城?");--對話框中的內(nèi)容顯示為“確定要退出網(wǎng)上商城?”的語句dialog02.setPositiveButton("確定",newDialogInterface.OnClickListener(){--設立一個“確定”按鈕publicvoidonClick(DialogInterfacedialoginterface,intwhich){--點擊該“確定”按鈕,并執(zhí)行該按鈕下的操作finish1();--完成該操作}});dialog02.setNegativeButton("取消",newDialogInterface.OnClickListener(){--設立一個“取消”按鈕publicvoidonClick(DialogInterfacedialoginterface,intwhich){--點擊“取消”按鈕,并執(zhí)行該按鈕下的操作return;}});dialog02.create().show();--顯示這個對話框}一、設置4個menu菜單按鈕1、UPDATE購物車;2、ABOUT關(guān)于;3、GEREN個人;4、EXIT退出四個按鈕;二、并從R.java文件下調(diào)出:1、服裝;2、電視;3、手機;4、包包;5、鞋子這五個圖片按鈕三、并按照R.layout中對于main頁面即主頁面的布局進行布局學習參考資料分享 WORD格式整理privatestaticfinalintUPDATE=1;--定義UPDATE的值為1privatestaticfinalintABOUT=2;--定義ABOUT的值為2privatestaticfinalintGEREN=3;--定義GEREN的值為3privatestaticfinalintEXIT=4;--定義EXIT等于的值為4privateImageButtonImageButton1;--定義一個圖片按鈕1privateImageButtonImageButton2;--定義一個圖片按鈕2privateImageButtonImageButton3;--定義一個圖片按鈕3privateImageButtonImageButton4;--定義一個圖片按鈕4privateImageButtonImageButton5;--定義一個圖片按鈕5publicvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法super.onCreate(savedInstanceState);--繼承該方法setContentView(R.layout.main);--載入購物商城的主頁面這個視圖//internet();//4.0兼容//獲得控件ImageButton1=(ImageButton)findViewById(R.id.imageButton1);--從R文件中調(diào)出圖片按鈕1ImageButton2=(ImageButton)findViewById(R.id.imageButton2);--從R文件中調(diào)出圖片按鈕2ImageButton3=(ImageButton)findViewById(R.id.imageButton3);--從R文件中調(diào)出圖片按鈕3ImageButton4=(ImageButton)findViewById(R.id.imageButton4);--從R文件中調(diào)出圖片按鈕4ImageButton5=(ImageButton)findViewById(R.id.imageButton5);--從R文件中調(diào)出圖片按鈕5//綁定控件的監(jiān)聽器ImageButton1.setOnClickListener(newibocl1());--設置圖片按鈕1ImageButton2.setOnClickListener(newibocl2());--設置圖片按鈕2ImageButton3.setOnClickListener(newibocl3());--設置圖片按鈕3ImageButton4.setOnClickListener(newibocl4());--設置圖片按鈕4ImageButton5.setOnClickListener(newibocl5());--設置圖片按鈕5}學習參考資料分享 WORD格式整理publicbooleanonCreateOptionsMenu(Menumenu){--初始化選項菜單的操作//設置menu按鈕menu.add(0,UPDATE,1,R.string.gouwu);--設置購物菜單按鈕menu.add(0,GEREN,2,R.string.geren);--設置個人菜單按鈕menu.add(1,ABOUT,3,R.string.about);--設置關(guān)于菜單按鈕menu.add(1,EXIT,4,R.string.exit);--設置退出菜單按鈕returnsuper.onCreateOptionsMenu(menu);}--創(chuàng)建Menu菜單的項目publicbooleanonOptionsItemSelected(MenuItemitem){--處理菜單被選擇運行后的事件處理操作//點擊購物按鈕if(item.getItemId()==UPDATE){--如果點擊的是購物按鈕Intenti=newIntent(ShoppingActivity.this,car.class);--切換到購物按鈕下新的界面startActivity(i);--執(zhí)行調(diào)轉(zhuǎn)到新界面的操作}//點擊關(guān)于按鈕elseif(item.getItemId()==ABOUT){--點擊“關(guān)于”按鈕,并執(zhí)行該按鈕下的操作}//點擊個人按鈕elseif(item.getItemId()==GEREN){--點擊“個人”按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(ShoppingActivity.this,geren.class);--切換到個人按鈕下的界面startActivity(i);--執(zhí)行跳轉(zhuǎn)新界面的操作}//點擊退出按鈕elseif(item.getItemId()==EXIT){--點擊“退出”按鈕this.finish();--完成購物操作}returnsuper.onOptionsItemSelected(item);--返回menu菜單頁面}//服裝classibocl1implementsOnClickListener{--點擊手機商城主頁面上服裝圖片按鈕publicvoidonClick(Viewv){--點擊“服裝”的圖片按鈕,并執(zhí)行該按鈕下的操作學習參考資料分享 WORD格式整理listinfol=newlistinfo("fuzhuang");l.list1();--以列表形式顯示服裝類商品信息Intenti=newIntent(ShoppingActivity.this,show.class);--跳轉(zhuǎn)到點擊服裝按鈕之后的新界面i.putExtra("show","fuzhuang");--顯示所有服裝類商品startActivityForResult(i,0);--回傳服裝類商品的數(shù)據(jù)}}//電視classibocl2implementsOnClickListener{--點擊手機購物商城主頁面上的電視圖片按鈕publicvoidonClick(Viewv){--點擊“電視”的圖片按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(ShoppingActivity.this,show.class);--跳轉(zhuǎn)到點擊電視圖片按鈕之后的新界面i.putExtra("show","dianshi");--顯示所有電視類商品startActivityForResult(i,0);--回傳所有電視類商品的數(shù)據(jù)}}//手機classibocl3implementsOnClickListener{--點擊手機購物商城主頁面上的手機圖片按鈕publicvoidonClick(Viewv){--點擊“手機”圖片按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(ShoppingActivity.this,show.class);--跳轉(zhuǎn)到點擊手機圖片按鈕之后的新界面i.putExtra("show","shouji");--顯示所有手機類商品startActivityForResult(i,0);--回傳所有手機類商品的數(shù)據(jù)}}//包包classibocl4implementsOnClickListener{--點擊手機購物商城主頁面上的包包圖片按鈕publicvoidonClick(Viewv){學習參考資料分享 WORD格式整理--點擊“包包”圖片按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(ShoppingActivity.this,show.class);--跳轉(zhuǎn)到點擊包包圖片按鈕之后的新界面i.putExtra("show","baobao");--顯示所有包包類商品startActivityForResult(i,0);--回傳所有包包類商品的數(shù)據(jù)}}//鞋子classibocl5implementsOnClickListener{--點擊手機購物商城主頁面上的鞋子圖片按鈕publicvoidonClick(Viewv){--點擊“鞋子”圖片按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(ShoppingActivity.this,show.class);--跳轉(zhuǎn)到點擊鞋子圖片按鈕之后的新界面i.putExtra("show","xiezi");--顯示所有鞋子類商品startActivityForResult(i,0);--回傳所有鞋子類商品的數(shù)據(jù)}}privatevoidfinish1(){super.finish();--完成上述操作}}4.展示所需商品信息的編碼和部分解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importjava.util.HashMap;--引入util.HashMap這個類,可以調(diào)用HashMap中的“鏈接”方法importjava.util.List;--引入List類,可以在下面程序中進行使用list進行批量數(shù)據(jù)序列操作importandroid.app.ListActivity;--ListActivity是一個綁定到一個數(shù)據(jù)源,并且用來顯示這一串數(shù)據(jù)的Activityimportandroid.content.Intent;--引入Intent類,引入Android系統(tǒng)起步開機的操作方法importandroid.os.Bundle;--Android使用Bundle進行數(shù)據(jù)傳遞分析學習參考資料分享 WORD格式整理importandroid.view.View;--android.view.view應該是android的封裝類,引入后就可以用view中的方法了importandroid.widget.ListView;--引入widget.ListView這個類,該類的作用是可以實現(xiàn)以列表的形式展示具體內(nèi)容,并且能夠根據(jù)數(shù)據(jù)的長度自適應顯示importandroid.widget.SimpleAdapter;--引入Simple.Adapter這個類,可以將靜態(tài)數(shù)據(jù)映射到XML文件中定義好的視圖importandroid.widget.TextView;--引入TextView類,該類具有用來顯文本框的作用importcom.adapter.ImageSimpleAdapter;--引入ImageSimpleAdapter類,可以實現(xiàn)將靜態(tài)圖片數(shù)據(jù)映射到XML文件中定義好的視圖importcom.list.listinfo;--引入listinfo類,之后會用到該類中的一些方法publicclassshowextendsListActivity{@Override這段代碼是從R.java文件中調(diào)出所需的文本框TextView:1、name名字;2、miaoshu描述;3、shuliang數(shù)量;4、lujing路徑;5、jiage價格;6、id;7、biaoming表明protectedvoidonListItemClick(ListViewl,Viewv,intposition,longid){--是ListView對應的響應事件,一共有四個參數(shù):ListView就是用戶單擊項所在的列表;View就是我們單擊項的視圖;Position單擊在列表的位置;Id單擊項的idTextViewt1=(TextView)v.findViewById(R.id.text1);--從R文件中調(diào)出文本框t1TextViewt2=(TextView)v.findViewById(R.id.yin_miaoshu);--從R文件中調(diào)出描述商品信息的文本框t2TextViewt3=(TextView)v.findViewById(R.id.yin_shuliang);--從R文件中調(diào)出顯示商品數(shù)量信息的文本框t3TextViewt6=(TextView)v.findViewById(R.id.yin_id);--從R文件中調(diào)出顯示商品id信息的文本框t6TextViewt7=(TextView)v.findViewById(R.id.yin_biaoming);--從R文件中調(diào)出表明商品信息的文本框t7TextViewt4=(TextView)v.findViewById(R.id.yin_lujing);--從R文件中調(diào)出顯示商品路徑信息的文本框t4TextViewt5=(TextView)v.findViewById(R.id.text3);學習參考資料分享 WORD格式整理--從R中調(diào)出text3文本框t5Intenti=newIntent(show.this,shangpin.class);切換到顯示商品信息的新界面i.putExtra("name",t1.getText());--顯示商品名稱i.putExtra("miaoshu",t2.getText());--顯示商品的描述信息i.putExtra("shuliang",t3.getText());--顯示商品的數(shù)量信息i.putExtra("lujing",t4.getText().toString().substring(8));--顯示商品的路徑信息i.putExtra("jiage",t5.getText());--顯示商品的價格信息i.putExtra("id",t6.getText());--顯示商品的id號碼i.putExtra("biaoming",t7.getText());--顯示商品的表明信息startActivity(i);--執(zhí)行跳轉(zhuǎn)新界面的操作}/**Calledwhentheactivityisfirstcreated.*/這段代碼是設置展示所需商品信息的方式,即show商品的方式@OverridepublicvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法super.onCreate(savedInstanceState);--繼承該類方法setContentView(R.layout.show);--載入購物展示頁面的視圖Intenti=getIntent();--是將檢索出來的intent賦值給一個Intent類型的變量iListinfol=newlistinfo(i.getStringExtra("show"));List>list=l.list1();--以列表的形式顯示商品的信息SimpleAdaptersa=newImageSimpleAdapter(this,list,R.layout.show_list_item,--設置需要展示的商品信息的布局方式newString[]{"product_item_image","text1","text2","text3","list_idex","yin_miaoshu","yin_shuliang","yin_lujing","yin_id","yin_biaoming"},newint[]{R.id.product_item_image,R.id.text1,R.id.text2,R.id.text3,R.id.list_idex,R.id.yin_miaoshu,R.id.yin_shuliang,R.id.yin_lujing,R.id.yin_id,R.id.yin_biaoming});學習參考資料分享 WORD格式整理setListAdapter(sa);--設置show頁面上文本框,圖片的視圖方式}4.2.4客戶端購物車功能內(nèi)容在搜索的商品添加一個監(jiān)聽器,實現(xiàn)onListItemClick方法,在點擊商品,實例Intent對象,將畫面跳轉(zhuǎn)到購物車的畫面,同理用onListItemClick方法,實現(xiàn)商品的購買功能的實現(xiàn)。如圖4-5所示:客戶端本地請求,讀取本地文件,造型為對象點擊購物車Tab將列表中元素在客戶端顯示點擊結(jié)算,將數(shù)據(jù)寫成字節(jié)流,發(fā)送至服務器服務器讀取數(shù)據(jù),寫入數(shù)據(jù)庫圖4-5客戶端購物車流程圖1.將所選商品加入購物車功能編碼和部分解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importandroid.app.Activity;--引入Activity這個類,因為之后會用到這個類中的一些方法importandroid.app.AlertDialog;--引入AlertDialog這個類,可以引用該類中對話框的方法importandroid.content.DialogInterface;--引入DialogInterface這個類,可以引用該類中加入對話框的操作方法importandroid.content.Intent;--Android系統(tǒng)起步開機importandroid.graphics.Bitmap;--引入Bitmap類,可以調(diào)用該類中對圖片排序的方法importandroid.graphics.BitmapFactory;--引入BitmapFactory類,可以調(diào)用該類中設置圖片大小的方法importandroid.os.Bundle;--Android使用Bundle進行數(shù)據(jù)傳遞分析importandroid.os.Environment;--引入這個類,設置java運行環(huán)境importandroid.util.Log;--引入Log這個類,學習參考資料分享 WORD格式整理能夠查看你想要知道的一些參數(shù)數(shù)據(jù),而且可以幫找到程序的運行出錯的位置importandroid.view.View;--android.view.view應該是android的封裝類,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener類,是一種處理的是點擊事件的接口。importandroid.widget.Button;--引入widget.Button這個類,就可以使用該類中按鈕的一些使用方法importandroid.widget.EditText;--引入widget.EditText這個類,即可以在下面程序中使用編輯文本框中的方法了importandroid.widget.ImageView;--引入widget.ImageView這個類,即可以在下面程序中使用圖片信息的方法了importandroid.widget.LinearLayout;--引入LinearLayout類,該類是線性布局控件,它包含的子控件將以橫向或豎向的方式排列importandroid.widget.RatingBar;--引入RatingBar,用星形來顯示等級評定的方法importandroid.widget.TextView;--引入TextView類,該類具有用來顯文本框的作用importandroid.widget.Toast;--引入widget.Toast這個類,作用是實現(xiàn)在界面上彈出一個懸浮提示框importcom.SQL.sql;--這個類放在了com..SQL這個文件夾下面publicclassshangpinextendsActivity{privateButtonbutton2;--定義一個按鈕button2TextViewtextview3;//庫存--定義一個文本框3顯示商品庫存數(shù)量TextViewtextview1;//描述--定義一個文本框1顯示描述商品的信息TextViewtextview9;//價格--定義一個文本框9.顯示商品的價格信息EditTexteditText1;//購買數(shù)量--定義一個編輯文本框,用來輸入購買商品的數(shù)量ImageViewiv;--定義一個圖片ivLinearLayoutll;--定義一個布局方式llRatingBarrb;--定義一個顯示用戶等級的方法llIntentin;--定義一個能夠映射和傳遞給能夠處理特定任務的組件in學習參考資料分享 WORD格式整理@Override從R.java文件中調(diào)出商品頁面所需的文本框textview:1、數(shù)量;2、描述;3、價格和編輯文本框editText,一個加入購物車的按鈕button。并按照R.layout設定好的shangpin頁面的布局方式進行布局publicvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法super.onCreate(savedInstanceState);--繼承該類方法setContentView(R.layout.shangpin);--載入購物商品頁面的視圖textview3=(TextView)findViewById(R.id.textView3);--從R文件中調(diào)出文本框3textview1=(TextView)findViewById(R.id.textView1);--從R中調(diào)出文本框1textview9=(TextView)findViewById(R.id.textView9);--從R中調(diào)出文本框9editText1=(EditText)findViewById(R.id.shangpin_editText1);--從R中調(diào)出編輯文本框1in=getIntent();--是將檢索出來的intent賦值給一個Intent類型的變量intextview3.setText(in.getStringExtra("shuliang"));--設置文本框以顯示商品數(shù)量信息textview1.setText(in.getStringExtra("miaoshu"));--設置文本框1顯示商品的描述信息textview9.setText(in.getStringExtra("jiage"));--設置文本框9顯示商品的價格信息ll=(LinearLayout)findViewById(R.id.ll1);--從R文件中調(diào)出該頁面的布局方式ll.setOnClickListener(newOnClickListener(){--添加一個OnClickListener接口的匿名實例/對象11publicvoidonClick(Viewv){--當點擊事件發(fā)生時會調(diào)用這個onclick方法System.out.println("haha");--顯示所有haha商品的信息}});將所選商品加入購物車:1、如果購買數(shù)量大于庫存-------則顯示“庫存量不夠啊”;2、如果購買數(shù)量小于庫存-------則成功加入購物車------之后會出現(xiàn)一個對話框可選擇:1、去購物車;2、再逛逛button2=(Button)findViewById(R.id.button2);--從R文件中調(diào)出按鈕2學習參考資料分享 WORD格式整理button2.setOnClickListener(newOnClickListener(){--設立一個“加入購物車”按鈕publicvoidonClick(Viewv){--點擊加入購物車的這個按鈕,并執(zhí)行該按鈕下的操作inta=(int)Double.parseDouble(textview3.getText().toString());--將數(shù)據(jù)類型轉(zhuǎn)換成整數(shù)型,a代表庫存量intb=(int)Double.parseDouble(editText1.getText().toString());--將數(shù)據(jù)類型轉(zhuǎn)換成整數(shù)型,b代表購買數(shù)量if(ab){Toast.makeText(car.this,"庫存量不夠啊!親!",Toast.LENGTH_LONG).show();}--當購買商品的數(shù)量>商品的庫存數(shù)量,則彈出提示信息顯示“庫存量不夠啊!親!”Stringd=Integer.parseInt(str1)*Integer.parseInt(jiage.getText().toString())+"";--將購買數(shù)量轉(zhuǎn)換成整數(shù)型放入d中dialog1(name.getText().toString(),str1,d,kucun.getText().toString(),t.getText().toString());}else{Toast.makeText(car.this,"請輸入數(shù)量!",Toast.LENGTH_LONG).show();--當購買商品的數(shù)量<商品的庫存數(shù)量時,彈出提示框顯示信息為“請輸入數(shù)量”}}});dialog07.setNegativeButton("取消",newDialogInterface.OnClickListener()--對話框中設置一個“取消”按鈕{publicvoidonClick(DialogInterfacedialog,intwhichButton){--點擊這個“取消”按鈕,并執(zhí)行這個按鈕的操作}});dialog07.create().show();--顯示對話框}學習參考資料分享 WORD格式整理這段代碼是執(zhí)行刪除購物車中商品的操作else{TextViewt=(TextView)v1.findViewById(R.id.car_list_item_id);--從R文件中調(diào)出購物車所需的文本框tsqlsql3=newsql(car.this,"shangpin");--購物車中購買商品的信息放到sql3中SQLiteDatabasedb=sql3.getdb();db.delete("shangpin",shangpinBean.ID+"="+t.getText().toString(),null);--刪除購物車中所選的商品SimpleAdaptersa=list1();setListAdapter(sa);--更新購物車頁面中列表的元素zong();}}});dialog06.create().show();--顯示對話框}/**Calledwhentheactivityisfirstcreated.*/@OverridepublicvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法super.onCreate(savedInstanceState);--繼承該方法setContentView(R.layout.car);--載入購物車頁面的視圖zong();SimpleAdaptersa=list1();setListAdapter(sa);--更新購物車頁面中列表的元素button1=(Button)findViewById(R.id.car_button1);--從R文件中購物車頁面所需的按鈕1button1.setOnClickListener(newOnClickListener(){--設立這個“結(jié)算”按鈕publicvoidonClick(Viewv){--點擊“結(jié)算”按鈕,并執(zhí)行該按鈕下的操作Intenti=newIntent(car.this,jiesuan.class);--從購物車頁面切換到結(jié)算頁面學習參考資料分享 WORD格式整理i.putExtra("qian",car_textView2.getText().toString());--在文本框2中顯示所需要交付的親屬startActivity(i);--開始執(zhí)行切換界面的操作}});button2=(Button)findViewById(R.id.car_button2);--從R文件中調(diào)出購物車頁面所需的按鈕2button2.setOnClickListener(newOnClickListener(){--設立“清空”按鈕publicvoidonClick(Viewv){--點擊“清空”按鈕,并執(zhí)行該按鈕下的操作Log.d("Jersey","清空");--藍色顯示“清空”內(nèi)容sqlsql3=newsql(car.this,"shangpin");--將購物車中商品信息放入sql3中Cursorc=sql3.select("");--將隨機選出的數(shù)放入c中SQLiteDatabasedb=sql3.getdb();c.moveToFirst();--將c數(shù)值定位到第一行while(!c.isAfterLast()&&(c.getString(1)!=null)){db.delete("shangpin",shangpinBean.ID+"="+c.getString(0),null);--刪除購物車中的商品c.moveToNext();--c的數(shù)值定位到下一行}SimpleAdaptersa=list1();setListAdapter(sa);--購物車中的信息是以列表形式展示的,更新購物車頁面的列表zong();}});}privateImageSimpleAdapterlist1(){--列表中顯示圖片sqlsql1=newsql(this,"shangpin");--將購物車中商品信息放到sql1中List>list=newArrayList>();Cursorc=sql1.select("");--將sql1中菜單的值放到c中學習參考資料分享 WORD格式整理c.moveToFirst();--c值定位到第一行while(!c.isAfterLast()&&(c.getString(1)!=null)){HashMapmap=newHashMap();map.put("car_list_item_id",c.getString(0));--購物車頁面中首行顯示id信息map.put("car_list_item_shangid",c.getString(1));--購物車頁面中第一行顯示商品id信息map.put("car_list_item_biaoming",c.getString(2));--購物車頁面中第二行的商品表明信息內(nèi)容map.put("car_list_item_textView1",c.getString(3));--購物車頁面第三行顯示文本框1中商品名字map.put("car_list_item_textView2",c.getString(4));--購物車頁面第四行顯示文本框2中商品價格map.put("car_list_item_textView3",c.getString(5));--購物車頁面第五行顯示文本框3中購買商品數(shù)量map.put("car_list_item_kucun",c.getString(6));--購物車頁面第六行顯示商品庫存數(shù)量list.add(map);c.moveToNext();--c值定位到下一行}ImageSimpleAdaptersa1=newImageSimpleAdapter(this,list,R.layout.car_list_item,newString[]{"car_list_item_textView1","car_list_item_textView2","car_list_item_textView3","car_list_item_kucun","car_list_item_id","car_list_item_shangid","car_list_item_biaoming"},newint[]{R.id.car_list_item_textView1,R.id.car_list_item_textView2,R.id.car_list_item_textView3,R.id.car_list_item_kucun,R.id.car_list_item_id,R.id.car_list_item_shangid,R.id.car_list_item_shangid});returnsa1;--該段程序是用來安排購物車頁面中所有圖片、文本框等在該頁面的布局與視圖方式}顯示購物車頁面上所需的圖片及文本框并按在R.java文件中預先設定好的布局方式布局購物車頁面privatevoiddialog1(Stringname,Stringshuliang,Stringjiage,Stringkucun,Stringid){學習參考資料分享 WORD格式整理sqlsql2=newsql(this,"shangpin");--將商品信息放到sql2中sql2.update(name,shuliang,jiage,kucun,id);--修改sql2中商品的信息,包括商品的名稱,商品的數(shù)量,商品的價格,商品的庫存量以及商品的id號SimpleAdaptersa=list1();setListAdapter(sa);--修改完成后,更新購物車頁面的列表內(nèi)容zong();}privatevoidzong(){sqlsql1=newsql(this,"shangpin");--將商品信息存放到sql1中intq=0;--初始化q值Cursorc=sql1.select("");c.moveToFirst();--將c值定位到第一行while(!c.isAfterLast()&&(c.getString(1)!=null)){q+=Integer.parseInt(c.getString(5));--轉(zhuǎn)換商品數(shù)量信息的數(shù)據(jù)類型,q值即為購物商品的數(shù)量值c.moveToNext();--c值定位到下一行}car_textView2=(TextView)findViewById(R.id.car_textView2);--從R文件中調(diào)出購物車頁面所需的文本框2car_textView2.setText(q+"");--購物車頁面中文本框2顯示修改后的商品購買數(shù)量}}4.2.5客戶端訂單功能內(nèi)容連接到后臺數(shù)據(jù)庫,將填寫的訂單信息插入到數(shù)據(jù)庫中,通過后臺來實現(xiàn)對訂單的管理,管理員在發(fā)貨后,數(shù)據(jù)庫中將訂單狀態(tài)更改為已發(fā),前臺頁面中,返回數(shù)據(jù)庫中訂單狀態(tài)。如圖4-6所示:將訂單請求發(fā)送至客戶端服務器點擊訂單Tab服務器響應請求,將搜索結(jié)果列表造型,發(fā)送信息至客戶端將列表中元素在客戶端顯示學習參考資料分享 WORD格式整理圖4-6客戶端訂單流程圖訂單結(jié)算編碼和部分解釋packagecom.shopping;--這個類放在了com.shopping這個文件夾下面importandroid.app.Activity;--引入Activity這個類,因為之后會用到這個類中的一些方法importandroid.content.Intent;--Android系統(tǒng)起步開機importandroid.content.SharedPreferences;--SharedPreferences是Android平臺上一個輕量級的存儲類,主要是保存一些常用的配置比如窗口狀態(tài),importandroid.database.Cursor;--引入Cursor類,作用就是用于臨時存儲從數(shù)據(jù)庫中提取的數(shù)據(jù)塊importandroid.database.sqlite.SQLiteDatabase;--引入SQLiteDatabase類,用來引用數(shù)據(jù)庫的操作方法importandroid.os.Bundle;--引入Bundle這個類,Android使用Bundle進行數(shù)據(jù)傳遞分析importandroid.preference.PreferenceManager;--引入PreferenceManager類,用來保存簡單的數(shù)據(jù)類型importandroid.util.Log;--引入Log這個類,能夠查看你想要知道的一些參數(shù)數(shù)據(jù),而且可以幫找到程序的運行出錯的位置importandroid.view.View;--android.view.view應該是android的封裝類,引入后就可以用view中的方法了importandroid.view.View.OnClickListener;--引入onClickListener類,是一種處理的是點擊事件的接口。importandroid.widget.Button;--引入widget.Button這個類,就可以使用該類中按鈕的一些使用方法importandroid.widget.EditText;--引入widget.EditText這個類,即可以在下面程序中使用編輯文本框中的方法了importandroid.widget.TextView;--引入TextView類,該類具有用來顯文本框的作用importandroid.widget.Toast;--引入widget.Toast這個類,作用是實現(xiàn)在界面上彈出一個懸浮提示框importcom.SQL.shangpinBean;--引入shangpinBean類,用于引用商品素材importcom.SQL.sql;--引入sql類,用于引用數(shù)據(jù)庫操作方法學習參考資料分享 WORD格式整理importcom.http.httpclient;--引入HttpClient這個類,HttpClient是ApacheJakartaCommon下的子項目,可以用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包,Java應用程序需要直接通過HTTP協(xié)議來訪問網(wǎng)絡資源。publicclassjiesuanextendsActivity{結(jié)算privateTextViewt1;--定義一個結(jié)算頁面的文本框t1privateTextViewt2;--定義一個結(jié)算頁面的文本框t1privateTextViewt8;--定義一個結(jié)算頁面的文本框t8privateEditTexte1;--定義一個結(jié)算頁面的編輯文本框e1privateEditTexte2;--定義一個結(jié)算頁面的編輯文本框e2privateEditTexte3;--定義一個結(jié)算頁面的編輯文本框e3privateButtonb1;--定義一個結(jié)算頁面所需的按鈕b1privateButtonb2;--定義一個結(jié)算頁面所需的按鈕b2SharedPreferencessp;--定義一個數(shù)據(jù)存儲方式Intenti;--定義一個專門提供組件互相調(diào)用的相關(guān)信息,實現(xiàn)調(diào)用者與被調(diào)用者之間的解耦調(diào)出結(jié)算頁面所需要所需要的圖標、文本框textview、可編輯的文本框edittext、結(jié)算按鈕buttonpublicvoidonCreate(BundlesavedInstanceState){--這是Activity建立的時候一定會調(diào)用的onCreate()方法super.onCreate(savedInstanceState);--繼承該類方法setContentView(R.layout.jiesuan);--載入結(jié)算頁面視圖sp=PreferenceManager.getDefaultSharedPreferences(this);t1=(TextView)findViewById(R.id.jiesuan_textView1);--從R文件中調(diào)出結(jié)算頁面所需的文本框t1t2=(TextView)findViewById(R.id.jiesuan_textView2);--從R文件中調(diào)出結(jié)算頁面所需的文本框t2t8=(TextView)findViewById(R.id.jiesuan_textView8);--從R文件中調(diào)出結(jié)算頁面所需的文本框t8e1=(EditText)findViewById(R.id.jiesuan_editText1);--從R文件中調(diào)出結(jié)算頁面所需的編輯文本框e1學習參考資料分享 WORD格式整理e2=(EditText)findViewById(R.id.jiesuan_editText2);--從R文件中調(diào)出結(jié)算頁面所需的編輯文本框e2e3=(EditText)findViewById(R.id.jiesuan_editText3);--從R文件中調(diào)出結(jié)算頁面所需的編輯文本框e3b2=(Button)findViewById(R.id.jiesuan_button2);--從R文件中調(diào)出結(jié)算頁面所需的按鈕b2i=getIntent();--將intent值傳遞給調(diào)用的組件,并且完成組件的調(diào)用Strings=sp.getString("yu_e",null);--將用戶余額信息存到s中t2.setText(s);--文本框t2顯示用戶賬戶余額t1.setText(i.getStringExtra("qian"));--文本框t1中顯示需要結(jié)算的價錢inta=Integer.parseInt(i.getStringExtra("qian"));--將需要交付的錢轉(zhuǎn)換為整數(shù)型intb=Integer.parseInt(s);--將用戶余額錢數(shù)也轉(zhuǎn)換成整數(shù)型if(a>b){--當需要交付的錢數(shù)>用戶賬戶中的余額時t8.setVisibility(1);--顯示文本框t8中的內(nèi)容b2.setVisibility(1);--顯示b2按鈕}b1=(Button)findViewById(R.id.jiesuan_button1);--從R文件中調(diào)出結(jié)算頁面所需的b1結(jié)算按鈕b1.setOnClickListener(newOnClickListener(){--設立b1結(jié)算按鈕publicvoidonClick(Viewv){--點擊“結(jié)算”按鈕,并執(zhí)行該按鈕的操作Strings1=sp.getString("id",null);--將id號存放到字符串s1中//Log.d("Jersey",s1);--藍色字體顯示s1的內(nèi)容httpclienthc=newhttpclient("l=3&sql=select@pwd@from@user1@where@userid="+s1+";");--通過HTTP協(xié)議訪問網(wǎng)絡資源Strings2=hc.getshuju();--得到數(shù)據(jù),并將數(shù)據(jù)放到字符串s2中//Log.d("Jersey",s2);--看色字體顯示s2內(nèi)容結(jié)算完成后更新用戶數(shù)據(jù)---即得到余額信息學習參考資料分享 WORD格式整理if(s2.equals(e3.getText().toString())){--當s2中存放的內(nèi)容等于編輯文本框e3中的內(nèi)容時httpclienthc1=newhttpclient("l=4&sql=update@user1@set@yu_e=yu_e-"+i.getStringExtra("qian")+"@where@userid="+s1+";");--完成結(jié)算,并通過HTTP協(xié)議訪問網(wǎng)絡資源,修改用戶賬戶余額信息hc1.getshuju();--得到修改后的數(shù)據(jù)添加訂單數(shù)據(jù)包括訂單的1、時間;2、客戶名;3、收貨地址;4、金額;5、狀態(tài);6、電話httpclienthc2=newhttpclient("l=2&sql=insert@into@dingdang(shijian,kehu,shouhuodizhi,jin_e,zhuangtai,phone)@values(now(),'"+sp.getString("name",null)+"','"+e1.getText().toString()+"',"+t1.getText().toString()+",'已付款','"+e2.getText().toString()+"');");--通過HTTP協(xié)議訪問網(wǎng)絡資源來添加訂單信息,包括訂單的時間、客戶、收貨地址、金額、狀態(tài)、電話Strings5=hc2.getshuju();--將添加后的數(shù)據(jù)信息放到字符串s5中Log.d("Jersey",s5);--藍色字體顯示字符串s5的信息修改購買商品的數(shù)量sqlsql3=newsql(jiesuan.this,"shangpin");--將結(jié)算頁面中商品信息放到sql3中Cursorc=sql3.select("");--將sql3中的值放到c中SQLiteDatabasedb=sql3.getdb();c.moveToFirst();--將c的值定位到第一行while(!c.isAfterLast()&&(c.getString(1)!=null)){Stringshangid=c.getString(1);Stringbm=c.getString(2);Stringshuliang=c.getString(4);httpclienthc3=newhttpclient("l=4&sql=update@"+bm+"@set@shuliang=shuliang-"+shuliang+"@where@id="+shangid+";");--通過HTTP協(xié)議訪問網(wǎng)絡資源修改訂單中商品的數(shù)量Strings=hc3.getshuju();--得到修改后的數(shù)據(jù)放到字符串s中db.delete("shangpin",shangpinBean.ID+"="+c.getString(0),null);--執(zhí)行刪除商品的操作//Log.d("Jersey",s);--藍色顯示字符串s的信息學習參考資料分享 WORD格式整理c.moveToNext();--c值定位到下一行}結(jié)算操作兩種結(jié)果:1、購買成功2、密碼錯誤Toast.makeText(jiesuan.this,"購買成功!",Toast.LENGTH_LONG).show();--提示文本框中顯示內(nèi)容為“購買成功”Intenti=newIntent(jiesuan.this,ShoppingActivity.class);--切換到結(jié)算頁面startActivity(i);--開始執(zhí)行切換新界面的操作jiesuan.this.finish();--完成結(jié)算}else{Toast.makeText(jiesuan.this,"密碼錯誤!",Toast.LENGTH_LONG).show();--如果結(jié)算不成功,則提示文本框中顯示“密碼錯誤”}}});b2.setOnClickListener(newOnClickListener(){--設立“結(jié)算”按鈕publicvoidonClick(Viewv){--點擊“結(jié)算”按鈕,并執(zhí)行該按鈕的操作}});}}4.2.6客戶端httpclienthttpclient是用來支持HTTP協(xié)議的客戶端編程工具包;HTTP協(xié)議:允許超文本標記語言(HTML)文檔從Web服務器傳送到Web瀏覽器。HTML是一種用于創(chuàng)建文檔的標記語言,這些文檔包含到相關(guān)信息的鏈接。點擊該鏈接可訪問文檔,圖片或多媒體對象httpclient文檔從服務器傳送到web瀏覽器編碼packagecom.http;--這個類放在了com.http這個文件夾下面Importjava.io.BufferedReader;學習參考資料分享 WORD格式整理--引入BufferedReader類,該類是從緩沖區(qū)中讀取內(nèi)容,所有的輸入的字節(jié)數(shù)據(jù)都將放在緩沖區(qū)之中如果要想接收任意長度的數(shù)據(jù),而且避免亂碼產(chǎn)生importjava.io.InputStream;--引入InputStream類,該類的作用是標志哪些從不同數(shù)據(jù)起源產(chǎn)生輸入的類importjava.io.InputStreamReader;--引入InputStreamReader類,它是字節(jié)轉(zhuǎn)換為字符的橋梁importorg.apache.http.HttpEntity;--引入HttpEntity類,用于包裝內(nèi)容的相關(guān)的編碼格式,長度importorg.apache.http.HttpResponse;--引入HttpResponse類,封裝來自ASP.NET操作的HTTP響應信息importorg.apache.http.client.HttpClient;--引入HttpClient這個類,HttpClient是ApacheJakartaCommon下的子項目,可以用來提供高效的、最新的、功能豐富的支持HTTP協(xié)議的客戶端編程工具包,Java應用程序需要直接通過HTTP協(xié)議來訪問網(wǎng)絡資源。importorg.apache.http.client.methods.HttpGet;--引入HttpGet類,這個類用來提交HTTP?GET請求importorg.apache.http.impl.client.DefaultHttpClient;--引入DefaultHttpClient,用來訪問網(wǎng)絡的方法publicclasshttpclient{Stringurl1="http://192.168.0.102:8080/houtai/xiazai.php?";--統(tǒng)一資源定位符URL是www網(wǎng)頁的網(wǎng)址,是對可以從因特網(wǎng)上得到的資源的位置和訪問方法的一種簡潔的表示,只要能夠?qū)Y源定位,系統(tǒng)就可以對資源進行各種操作,如存取、更新、替換和查找其屬性;192.168.0.102為主機名;8080為端口號Stringurl=null;--定義統(tǒng)一資源定位符url為空集privateHttpResponsehttpResponse=null;--定義響應信息為空集privateHttpEntityhttpEntity=null;--定義編碼格式為空集publichttpclient(Stringurl2){url=url1+url2;}publicStringgetshuju(){--獲得數(shù)據(jù)--使用HttpGet都必須通過如下3步來訪問HTTP資源HttpGethttpGet=newHttpGet(url);學習參考資料分享 WORD格式整理--第一步:創(chuàng)建HttpGett對象,將要請求的URL通過構(gòu)造方法傳入HttpGet對象。HttpClienthttpClient=newDefaultHttpClient();InputStreaminputStream=null;Stringresult="";try{httpResponse=httpClient.execute(httpGet);--第二步:使用DefaultHttpClient類的execute方法發(fā)送HTTP?GET請求,并返回HttpResponse對象httpEntity=httpResponse.getEntity();--第三步:通過HttpResponse接口的getEntity方法返回響應信息,并進行相應的處理inputStream=httpEntity.getContent();--得到數(shù)據(jù)流BufferedReaderreader=newBufferedReader(newInputStreamReader(inputStream));--就是把輸入流作為參數(shù),構(gòu)建一個讀取數(shù)據(jù)用的InputStreamReader流,然后再把剛才構(gòu)建的流對象做個包裝,包裝成BufferedReader流,最后把它賦值給brStringline="";while((line=reader.readLine())!=null){result=result+line;--調(diào)用readLine方法,并將返回值賦給line變量。然后賦值語句會生成一個值-----要賦值表達式的值即result=result+line的值。所以可以使用一個關(guān)系操作符來比較一個賦值結(jié)果,并最終生成一個布爾結(jié)果即true或false;如果賦值為null,則賦值表達式result=result+line即為null,與null比較的結(jié)果將為true}System.out.println(result);--輸出結(jié)果}catch(Exceptione){--拋出異常e.printStackTrace();--輸出異常}finally{try{inputStream.close();--關(guān)閉輸入流}catch(Exceptione){--拋出異常e.printStackTrace();--輸出異常學習參考資料分享 WORD格式整理}}returnresult;--返回結(jié)果值}}4.3系統(tǒng)后臺邏輯結(jié)構(gòu)設計及其內(nèi)容編碼后臺系統(tǒng)主要有用戶信息管理,商品信息管理,訂單管理。其中用戶信息管理,商品信息管理,訂單管理功能基本相似。4.3.1系統(tǒng)后臺管理員和用戶登錄程序內(nèi)容管理員和用戶在后臺進行登入,輸入的賬號密碼,將發(fā)送到數(shù)據(jù)庫進行驗證,如果正確,將直接登入到主界面中,如果錯誤,將進行重新登入。如圖4-7所示:向服務器發(fā)送請求,校驗密碼登陸TrueFalse登入重新登入圖4-7后臺登陸系統(tǒng)后臺管理員和用戶登錄程序編碼和部分解釋packagecom.shop.action;--這個類放在了com.shop.action這個文件夾下面importjava.util.Map;--引入Map類,提供了一個更通用的元素存儲方法importcom.shop.dao.BaseDao;--引入BaseDAO類,提供從數(shù)據(jù)庫增加、刪除、修改記錄、查詢所有記錄、查詢符合某個條件記錄、取得某條記錄等方法的底層數(shù)據(jù)操作自定義類importcom.shop.util.BaseAction;--引入BaswAction類,增加了請求處理的靈活性@SuppressWarnings("serial")publicclassLoginActionextendsBaseAction{privateMapadminMap;--對得到的信息內(nèi)容進行排序privateStringloginName;--定義登錄名字參數(shù)字符串privateStringloginPass;--定義登錄密碼參數(shù)字符串學習參考資料分享 WORD格式整理privateStringinfo;--定義信息參數(shù)字符串privateStringflg;--定義flg變量/***@return*@throwsException*/管理員登錄程序輸入username用戶名和loginpass登錄密碼兩種可能:1、成功登陸2、登錄失?。ㄓ脩裘蛎艽a錯誤)publicStringadminLogin()throwsException{BaseDaobaseDao=newBaseDao();--創(chuàng)建新類this.adminMap=baseDao.selectOne("user1","userid,username,pwd,phone,power1,sex,yu_e","username='"+this.loginName+"'andpwd='"+this.loginPass+"'andpower1=1");--登錄操作需要輸入,管理員用戶名,登錄密碼;登錄成功后以列表形式顯示用戶名,用戶id號,用戶電話,用戶性別,賬戶余額等用戶信息if((this.adminMap!=null)&&(this.adminMap.size()>0)){--當滿足這個兩個條件時getHttpSession().setAttribute("admin",this.adminMap);--查詢到該管理員信息return"adminLogin";--成功登錄}this.info="登錄失敗!!!";return"adminLoginFalse";--不滿足((this.adminMap!=null)&&(this.adminMap.size()>0))這個條件時,則管理員登錄失敗并顯示登錄失敗}/****@return*/管理員注銷程序publicStringadminLogout(){getHttpSession().setAttribute("admin",null);--查詢到的管理員名字為空集this.info="成功注銷!!!";--則成功注銷管理員學習參考資料分享 WORD格式整理return"adminLogout";}/*****@return*@throwsException*用戶登錄程序,輸入用戶登錄名loginname和登陸密碼loginpass兩種可能結(jié)果:1、成功登陸2、登錄失?。ㄓ脩裘蛎艽a錯誤)publicStringuserLogin()throwsException{BaseDaobaseDao=newBaseDao();this.adminMap=baseDao.selectOne("user1","userid,username,pwd,phone,power1,sex,yu_e","username='"+this.loginName+"'andpwd='"+this.loginPass+"'andpower1=0");--登錄操作需要輸入,用戶的用戶名,登錄密碼;登錄成功后以列表形式顯示用戶名,用戶id號,用戶電話,用戶性別,賬戶余額等用戶信息if((this.adminMap!=null)&&(this.adminMap.size()>0)){--當滿足這個兩個條件時getHttpSession().setAttribute("user",this.adminMap);--查詢到用戶信息return"userLogin";--用戶登錄成功}this.info="登錄失敗!!!";if((this.flg!=null)&&(this.flg.equals("0"))){--當flg值不等于空集且flg值為0時outJson(this.adminMap,null);--查詢到想要登錄的用戶為空集,即不存在return"none";}return"userLoginFalse";--用戶登錄失敗}/*****@return*/學習參考資料分享 WORD格式整理用戶注銷程序publicStringuserLogout(){getHttpSession().setAttribute("user",null);--當查詢到用戶信息為空集時this.info="成功注銷!!!";--用戶實現(xiàn)成功注銷操作if((this.flg!=null)&&(this.flg.equals("0"))){--當flg不等于空集且flg等于0outJson(this.info,null);--用戶信息為空集return"none";--返回空集}return"userLogin";--返回用戶登錄}publicMapgetAdminMap(){returnthis.adminMap;--這里是定義了一個string變量Object,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取AdminMap的值而不能再設置AdminMap的值}publicvoidsetAdminMap(MapadminMap){this.adminMap=adminMap;--setAdminMap就是給AdminMap設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的AdminMap賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.adminMap=adminMap;便是賦值的部分,賦值之后不需要有返回值}publicStringgetLoginName(){returnthis.loginName;--這里是定義了一個string變量LoginName,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取LoginName的值而不能再設置LoginName的值}publicvoidsetLoginName(StringloginName){this.loginName=loginName;--setLoginName就是給LoginName設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的LoginName賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.loginName=loginName;便是賦值的部分,賦值之后不需要有返回值}學習參考資料分享 WORD格式整理publicStringgetLoginPass(){returnthis.loginPass;--這里是定義了一個string變量LoginPass,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取LoginPass的值而不能再設置LoginPass的值}publicStringgetInfo(){returnthis.info;--這里是定義了一個string變量Info,并為該變量提供了獲取方式。這樣的定義方式使得其他的地方只能獲取Info的值而不能再設置Info的值}publicvoidsetInfo(Stringinfo){this.info=info;--setInfo就是給Info設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的Info賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.info=info;便是賦值的部分,賦值之后不需要有返回值}publicvoidsetLoginPass(StringloginPass){this.loginPass=loginPass;--setLoginPass就是給LoginPass設置一個值,也就是通過外部調(diào)用該方法給商品的對象中的LoginPass賦值,所以外部方法肯定需要傳入一個String作為參數(shù)。而this.loginPass=loginPass;便是賦值的部分,賦值之后不需要有返回值}}4.3.2系統(tǒng)后臺商品管理程序內(nèi)容在管理員點擊商品列表的時候,數(shù)據(jù)庫將所有商品信息顯示在頁面中,管理員可對商品進行增加,修改,刪除,查詢的功能。如圖4-8所示:向數(shù)據(jù)庫發(fā)送請求,將數(shù)據(jù)顯示到頁面中商品列表查詢刪除增加修改學習參考資料分享 WORD格式整理圖4-8后臺商品管理圖系統(tǒng)后臺商品管理程序編碼和部分解釋packagecom.shop.action;--這個類放在了com.shop.action這個文件夾下面importjava.util.List;--引入util.List這個類,可以使用list進行批量數(shù)據(jù)序列操作importjava.util.Map;--引入Map類,提供了一個更通用的元素存儲方法importcom.shop.dao.BaseDao;--引入BaseDAO類,提供從數(shù)據(jù)庫增加、刪除、修改記錄、查詢所有記錄、查詢符合某個條件記錄、取得某條記錄等方法的底層數(shù)據(jù)操作自定義類importcom.shop.util.BaseAction;--引入BaswAction類,增加了請求處理的靈活性@SuppressWarnings("serial")publicclassProductActionextendsBaseAction{privateList>objList;--對得到的信息內(nèi)容進行排序privateMapobjMap;--對得到的信息內(nèi)容進行排序privateBaseDaobaseDao;--定義一個baseDao類privateStringwhereStr="1=1";--用于連接sql語句privateStringid;--定義一個字符串參數(shù)---idprivateStringname;--定義一個字符串參數(shù)---名字privateStringtupian;--定義一個字符串參量---圖片privateStringbiao;--定義一個字符串參量---表privateStringjiaqian;--定義一個字符串參數(shù)---價錢privateStringshuliang;--定義一個字符串參數(shù)---數(shù)量privateStringmiaoshu;--定義一個字符串參量---描述privateStringfujia;--定義一個字符串參量---附加privateStringptype;--定義一個字符串變量---ptypeprivateStringpdesc;--定義一個字符串變量---pdescprivateStringflg;--定義一個字符串變量---flg/***查詢所有**@return*@throwsException*/學習參考資料分享 WORD格式整理查詢所有商品這段程序是以biao表商品為例,當輸入biao(表)時,即顯示所有表商品的信息;可能的結(jié)果:1、無biao商品2、查到biao商品信息,并顯示出來商品信息包括1、商品ID號;2、商品名稱;3、商品的附加信息;4、商品的價錢;5、商品的數(shù)量;6、商品的圖片;7、對商品的描述publicStringfindAll()throwsException{System.out.println(biao);--輸出所有表商品的信息this.baseDao=newBaseDao();if((this.name!=null)&&(!this.name.equals(""))){--當輸入的商品名字不為空集且name值等于“”時this.whereStr=(this.whereStr+"andnamelike'%"+this.name+"%'");--查詢所有滿足條件的商品信息}this.whereStr+="orderbyiddesc";--將查詢到的商品按降序排列this.objList=this.baseDao.select(biao,"id,name,fujia,jiaqian,shuliang,tupian,miaoshu",this.whereStr);--列表中顯示表類商品的id號碼,名字,商品的附加信息,商品的價錢,商品的數(shù)量,商品的圖片,商品的描述信息if((this.flg!=null)&&(this.flg.equals("0"))){--當flg字不為空集且flg值等于0時outJson(this.objList,null);--想要查詢的該商品為空集returnNONE;}if((this.flg!=null)&&(this.flg.equals("1"))){--當flg不等于空集且flg的值等于1時return"AdminFindAll";--查詢到所有滿足該條件的商品}return"findAll";}/****學習參考資料分享 WORD格式整理*@return*@throwsException*/保存商品信息修改后的信息(商品信息的更新和修改)商品信息包括(商品名稱,圖片,價錢,附加信息,數(shù)量,商品描述內(nèi)容,商品ID號碼)publicStringsave()throwsException{this.baseDao=newBaseDao();--創(chuàng)建一個新的BaseDao類if((this.id!=null)&&(!this.id.equals("")))--當id不等于空集且id值等于“”時this.baseDao.update(this.biao,"name='"+this.name+"',tupian='"+this.tupian+"',jiaqian="+this.jiaqian+",fujia='"+this.fujia+"',shuliang="+this.shuliang+",miaoshu='"+this.miaoshu+"'","id="+this.id);--修改該商品的名字,圖片信息,價錢,附加信息,商品數(shù)量,對商品的描述信息else{this.baseDao.insert(biao,"name,fujia,jiaqian,shuliang,tupian,miaoshu","'"+this.name+"','"+this.fujia+"',"+this.jiaqian+","+this.shuliang+",'"+this.tupian+"','"+this.miaoshu+"'");}--當不滿足條件:“id不等于空集且id值等于“”的條件時,可以增加商品信息,包括商品的名字,商品的附加信息,商品的圖片,商品的描述信息if((this.flg!=null)&&(this.flg.equals("0"))){--當滿足flg不等于空集,且flg的值為0時getResponse().getWriter().write("{success:true}");--對修改或增加的商品信息數(shù)據(jù)沒有保存成功returnNONE;}if((this.flg!=null)&&(this.flg.equals("1"))){--當flg不等于空集且flg值為1時return"AdminSave";--對修改或增加的商品信息數(shù)據(jù)保存成功}return"save";}學習參考資料分享 WORD格式整理/****@return*@throwsException*/根據(jù)商品的ID號來查詢商品可能的結(jié)果:1、查無此商品2、查到商品并顯示商品信息(商品ID號、商品名稱、商品附加信息、商品價錢、商品數(shù)量、商品的圖片、商品的描述信息)publicStringgetById()throwsException{this.baseDao=newBaseDao();--創(chuàng)建一個新的基礎(chǔ)BaseDao類this.whereStr=(this.whereStr+"andid="+this.id);--通過商品的id號碼查詢商品信息this.objMap=this.baseDao.selectOne(biao,"id,name,fujia,jiaqian,shuliang,tupian,miaoshu",this.whereStr);--列出顯示查詢到的商品信息,包括商品的id號碼,商品的名稱,商品的附加信息,商品的價錢,商品的數(shù)量,商品的圖片,對商品的描述信息if((this.flg!=null)&&(this.flg.equals("0"))){--當flg不等于空集且flg值為0時outJson(this.objMap,null);--通過id號想要查詢到的商品為空集returnNONE;}if((this.flg!=null)&&(this.flg.equals("1"))){--當flg不等于空集,且flg的值為1時return"AdminGetById";--通過商品的id號成功查詢到該商品的信息}return"getById";}/*****@return*@throwsException*/學習參考資料分享 WORD格式整理刪除某商品的程序操作結(jié)果:1、刪除不成功2、成功刪除該商品publicStringdelete()throwsException{this.baseDao=newBaseDao();--創(chuàng)建一個新的BaseDao類this.baseDao.delete(biao,"ID="+this.id);--刪除想要刪除的商品的操作程序if((this.flg!=null)&&(this.flg.equals("0"))){--如果flg不等于空集,且flg的值為0時getResponse().getWriter().write("{success:true}");--刪除商品的操作不成功,即沒有實現(xiàn)刪除該商品returnNONE;}if((this.flg!=null)&&(this.flg.equals("1"))){--當flg不等于空集且flg的值為1時return"AdminDelete";--成功刪除該商品}return"delete";}4.3.3系統(tǒng)后臺訂單管理程序內(nèi)容管理員點擊訂單列表,頁面顯示出所有客戶的訂單,而管理員可以操作這些訂單,實現(xiàn)訂單狀態(tài)的修改,發(fā)貨或關(guān)閉交易。如圖4-9所示:向數(shù)據(jù)庫發(fā)送請求,將數(shù)據(jù)顯示到頁面中訂單列表關(guān)閉交易發(fā)貨圖4-9后臺訂單管理圖系統(tǒng)后臺訂單管理程序編碼和部分解釋學習參考資料分享 WORD格式整理packagecom.shop.action;--這個類放在了com.shop.action這個文件夾下面importjava.text.SimpleDateFormat;--引入SimpleDateFormat類,可以調(diào)用格式化日期的操作方法importjava.util.Date;--引入Date類,可以操作日期和時間各組成部分的方法importjava.util.HashMap;--引入util.HashMap這個類,可以調(diào)用HashMap中的“鏈接”方法importjava.util.List;--引入util.List這個類,可以使用list進行批量數(shù)據(jù)序列操作importjava.util.Map;--引入Map類,引用以按鍵/數(shù)值對的形式存儲數(shù)據(jù)的方法importjava.util.UUID;--引入UUID類,目的是讓分布式系統(tǒng)中的所有元素,都能有唯一的辨識信息,而不需要透過中央控制端來做辨識資訊的指定importjavax.servlet.http.HttpSession;--引入HttpSession類,調(diào)用客戶端與服務器端通信的方法importcom.shop.dao.BaseDao;--引入BaseDAO類,提供從數(shù)據(jù)庫增加、刪除、修改記錄、查詢所有記錄、查詢符合某個條件記錄、取得某條記錄等方法的底層數(shù)據(jù)操作自定義類importcom.shop.util.BaseAction;--引入BaswAction類,增加了請求處理的靈活性@SuppressWarnings("serial")publicclassOrderActionextendsBaseAction{privateList>objList;--對得到的信息內(nèi)容進行排序privateMapobjMap;--對得到的信息內(nèi)容進行排序privateMap>cartMap;--對得到的信息內(nèi)容進行排序privateBaseDaobaseDao;--定義一個BaseDao類privateStringwhereStr="1=1";--連接數(shù)據(jù)庫語句privateStringid;--定義一個字符串參量---idprivateStringkehu;--定義一個字符串參量---客戶privateStringprice;--定義一個字符串參量---價格privateStringaddress;--定義一個字符串參量---地址privateStringphone;--定義一個字符串參量---電話privateStringshijian;--定義一個字符串參量---時間privateStringmingxi;--定義一個字符串參量---明細privateStringzhuangtai;--定義一個字符串參量---狀態(tài)privateStringinfo;--定義一個字符串變量---info學習參考資料分享 WORD格式整理privateStringflg;--定義一個字符串變量---flg**@return*@throwsException*/管理員根據(jù)訂單關(guān)鍵字查詢訂單publicStringfindByKey()throwsException{this.baseDao=newBaseDao();--創(chuàng)建一個新的BaseDao類if(id!=null&&!id.equals("")){--當id不等于空集,且id等于“”時whereStr+="andid='"+id+"'";--找到與該關(guān)鍵字有關(guān)的訂單信息this.objList=this.baseDao.select("dingdang","id,shijian,kehu",this.whereStr);--列出信息,包括訂單的id號,訂單的時間以及這個訂單的客戶}return"findByKey";}/*****@return*@throwsException*/@SuppressWarnings("unchecked")管理員查詢某客戶所有訂單管理員需先登錄才能進行查詢查詢結(jié)果:1、無訂單2、查到訂單并顯示訂單信息,包括:1、訂單id號;2、訂單時間;3、客戶名稱;4、收貨地址;5、金額;6、訂單明細;7、訂單狀態(tài);8、客戶電話publicStringfindAll()throwsException{this.baseDao=newBaseDao();--創(chuàng)建一個新的BaseDao類if((this.id!=null)&&(!this.id.equals(""))){--當滿足條件id不等于空集,且id等于“”時學習參考資料分享 WORD格式整理this.whereStr=(this.whereStr+"andono='"+this.id+"'");--查找到該id號的訂單信息}if((this.kehu!=null)&&(!this.kehu.equals(""))){--當客戶信息不等于空集,且客戶信息等于“”時this.whereStr=(this.whereStr+"andkehu='"+this.kehu+"'");--查找到該客戶的所有訂單信息}if((this.id!=null)){--當id值不等于空集時Mapmap=(Map)getRequest().getSession().getAttribute("user");--執(zhí)行輸入的請求,并得到響應if((map==null)||(map.size()<=0)){--當map等于空集,且map的大小小于等于0值時this.info="您還沒有登錄!!!請您先進行登錄...";--顯示提示信息“您還沒有登錄!!!請您先進行登錄”return"userLoginFalse";--返回用戶登錄失敗}Stringid=map.get("ID").toString();this.whereStr=(this.whereStr+"andid='"+id+"'");}this.whereStr+="orderbyiddesc";--將查詢到的信息按降序排列this.objList=this.baseDao.select("dingdang","id,shijian,kehu,shouhuodizhi,jin_e,mingxi,zhuangtai,phone",this.whereStr);--列舉顯示出訂單信息,包括訂單的id號,訂單的時間,訂單的客戶,訂單的收貨地址,訂單的金額,訂單的明細內(nèi)容,訂單的狀態(tài),訂單客戶的電話if((this.flg!=null)&&(this.flg.equals("0"))){--當flg不等于空集且flg的值等于0時outJson(this.objList,null);--則沒有查詢到想要查詢的訂單信息returnNONE;}if((this.flg!=null)&&(this.flg.equals("1"))){--當flg不等于空集,且flg的值等于1時學習參考資料分享 WORD格式整理return"AdminFindAll";--查詢操作成功,查詢到所有滿足條件的訂單信息}return"findAll";}/*****@return*@throwsException*/4.4本章小結(jié)本章主要介紹了手機網(wǎng)絡商城設計的詳細過程,還對其重要部分的編程和代碼進行了分析和講解.系統(tǒng)是如何實現(xiàn)的會在下一章體現(xiàn)出來學習參考資料分享 WORD格式整理5.系統(tǒng)的具體實現(xiàn)5.1前臺android主要功能的實現(xiàn)5.1.1登入界面;如圖5-1所示圖5-1前臺登入這是用戶登陸的實現(xiàn)界面;用戶登陸時需要輸入注冊的賬號密碼和用戶名,填入正確后便可登入到主界面。調(diào)出R.java文件下login頁面所需的按鈕button,編輯文本框EditText,按照R.layout對login頁面所設定好的布局方式進行布局。操作時會出現(xiàn)以下4種情況結(jié)果:1、顯示“用戶名不存在”2、登錄成功并顯示用戶信息;包括1、用戶名;2、余額3、顯示“密碼錯誤”4、如果沒填寫用戶名或密碼則顯示“您是不是有東西沒填啊”如果登陸之前未注冊則需要點擊注冊按鈕先進行注冊,注冊完成后才可以進行登陸。主要是判斷了用戶輸入的信息,并對其進行驗證,如果正確,可直接登入到主界面,如果錯誤,或者有些內(nèi)容沒填,會出現(xiàn)相應的提示。學習參考資料分享 WORD格式整理5.1.2注冊界面;如圖5-2所示圖5-2前臺注冊這是用戶注冊頁面;用戶注冊時需要填入用戶名和對應的密碼,并且需要再次輸入密碼來保證密碼的正確和有效,還需填寫用戶的手機號碼,以便未來密碼忘記的時候可以及時地找回,并且還需填寫性別。以上填寫確認無誤后方可注冊成功。從R.java文件中調(diào)出注冊頁面所需的Button注冊按鈕;EditText編輯文本框設立一個注冊按鈕,點擊該頁面上的注冊按鈕后可進入頁面填寫注冊信息------可能的結(jié)果:1、注冊成功;2、注冊失敗原因:兩次密碼輸入不一致;3、注冊失敗原因:您是不是有東西沒填??;主要解釋了在用戶注冊時,讀取用戶所填寫的信息,并將這些信息插入到后臺數(shù)據(jù)庫中。用戶在密碼填寫時必須保持前后一致,如果不一致并會出現(xiàn)提示。5.1.3商品主界面;如圖5-3所示:學習參考資料分享 WORD格式整理圖5-3前臺主界面這是商城商品的主頁面;進入網(wǎng)上商城主頁面,可點擊服裝、電視機、手機、包包、運動鞋這五個圖片按鈕進入該類商品詳細頁面進行瀏覽。從R.java文件中調(diào)出sousuo頁面所需要的文本框TextView:1、name名字;2、miaoshu描述;3、shuliang數(shù)量;4、lujing路徑;5、jiage價格;6、id;7:biaoming表明從R.java文件中調(diào)出sousuo頁面所需的EditText編輯文本框(可輸入搜索信息的文本框),搜索button按鈕。并按照R.layout中對sousuo頁面的布局方式進行布局學習參考資料分享 WORD格式整理搜索:1、包包;2、服裝;3、電視;4、運動鞋;5、手機的搜索程序搜索結(jié)果:1、沒有找到該商品;2、找到該商品并且按照預先設定好的布局方式將商品信息顯示在頁面中退出商城的程序:出現(xiàn)一個對話框:1、點擊確定按鈕即可退出商城2、點擊取消按鈕即繼續(xù)購物設置4個menu菜單按鈕1、UPDATE購物車;2、ABOUT關(guān)于;3、GEREN個人;4、EXIT退出四個按鈕;并從R.java文件下調(diào)出:1、服裝;2、電視;3、手機;4、包包;5、鞋子這五個圖片按鈕;并按照R.layout中對于main頁面即主頁面的布局進行布局。點擊四個menu菜單按鈕的操作程序。點擊5個圖片按鈕的操作程序,點擊后即顯示該類商品信息展示所需商品信息的編碼和部分解釋這段代碼是設置展示所需商品信息的方式,即show商品的方式@OverridepublicvoidonCreate(BundlesavedInstanceState){super.onCreate(savedInstanceState);setContentView(R.layout.show);Intenti=getIntent();listinfol=newlistinfo(i.getStringExtra("show"));List>list=l.list1();SimpleAdaptersa=newImageSimpleAdapter(this,list,R.layout.show_list_item,newString[]{"product_item_image","text1","text2","text3","list_idex","yin_miaoshu","yin_shuliang","yin_lujing","yin_id","yin_biaoming"},newint[]{R.id.product_item_image,R.id.text1,R.id.text2,R.id.text3,R.id.list_idex,R.id.yin_miaoshu,R.id.yin_shuliang,R.id.yin_lujing,R.id.yin_id,R.id.yin_biaoming});setListAdapter(sa);}5.1.4商品服裝的詳細頁面;如圖5-4所示學習參考資料分享 WORD格式整理圖5-4服裝商品瀏覽列表從5個商品按鈕中選擇按鈕點擊商品按鈕便可跳轉(zhuǎn)到此頁面,點擊其中一類商品服裝,即可跳轉(zhuǎn)到相關(guān)商品瀏覽此商品的詳細信息信息。當點擊服裝圖片按鈕時則出現(xiàn)服裝的詳細頁面classibocl1implementsOnClickListener{publicvoidonClick(Viewv){listinfol=newlistinfo("fuzhuang");l.list1();Intenti=newIntent(ShoppingActivity.this,show.class);i.putExtra("show","fuzhuang");startActivityForResult(i,0);}}點擊其中一類商品手機,可跳轉(zhuǎn)到相關(guān)商品的瀏覽信息如圖5-5所示:學習參考資料分享 WORD格式整理圖5-5手機商品瀏覽列表當點擊手機圖片按鈕后出現(xiàn)以上頁面classibocl3implementsOnClickListener{publicvoidonClick(Viewv){Intenti=newIntent(ShoppingActivity.this,show.class);i.putExtra("show","shouji");startActivityForResult(i,0);}}5.1.5htc手機商品的詳細界面和將想要購買的加入購物車界面如圖5-6和圖5-7所示:學習參考資料分享 WORD格式整理圖5-6htc商品詳細信息圖5-7商品加入購物車點擊選中的商品中手機htc,便可以出現(xiàn)此款手機的具體信息,詳細界面中顯示出該商品的具體信息,其中有價格,描述,庫存以及用戶想要購買的數(shù)量等等。用戶可將選購好的想要購買的商品加入購物車從R.java文件中調(diào)出商品頁面所需的文本框textview:1、數(shù)量;2、描述;3、價格和編輯文本框editText,一個加入購物車的按鈕button。并按照R.layout設定好的shangpin頁面的布局方式進行布局將所選商品加入購物車,會出現(xiàn)兩種情況:1、如果購買數(shù)量大于庫存-------則顯示“庫存量不夠啊”;2、如果購買數(shù)量小于庫存-------則成功加入購物車------之后會出現(xiàn)一個對話框可選擇:1、去購物車;2、再逛逛圖片從SD卡中調(diào)出商品的圖片并顯示在shangpin頁面上結(jié)算價格的程序:intc=a*b總價格=商品價格*購買數(shù)量是在購物車中,對購買的商品信息的修改,主要是對購買數(shù)量的修改。如果客戶不想購買這件商品,也可進行刪除操作。5.1.6購物車界面;如圖5-8所示學習參考資料分享 WORD格式整理圖5-8購物車界面打開購物車頁面,可以看到已加入購物車中的商品,可以繼續(xù)購物還可以選擇去結(jié)算按鈕或者清空按鈕進行操作。購物車界面還會顯示商品的總價格。對購物車中的內(nèi)容進行修改1、代表所購買的數(shù)量;1、代表庫存修改購物車操作會出現(xiàn)3種情況1.如果a大于b則顯示“庫存量不夠”2.如果a小于b則修改操作成功3.也可取消修改操作也可以執(zhí)行刪除購物車中商品的操作,顯示購物車頁面上所需的圖片及文本框并按在R.java文件中預先設定好的布局方式布局購物車頁面5.1.7訂單結(jié)算界面;如圖5-9所示學習參考資料分享 WORD格式整理圖5-9商品訂單結(jié)算圖在付款頁面中,用戶需要填入相關(guān)信息,如收貨地址和聯(lián)系電話,并且還需要填寫注冊時用戶會員設置的密碼,填寫正確后,便可生產(chǎn)訂單。調(diào)出結(jié)算頁面所需要所需要的圖標、文本框textview、可編輯的文本框edittext、結(jié)算按鈕button結(jié)算完成后更新用戶數(shù)據(jù)---即顯示用戶的余額添加訂單數(shù)據(jù),包括訂單的1、時間2、客戶名3、收貨地址4、金額5、狀態(tài)6、電話,購買后可以更新購買商品的數(shù)量。結(jié)算操作是會出現(xiàn)兩種結(jié)果:1、購買成功2、密碼錯誤這張圖片實現(xiàn)主要是讀取用戶填寫的訂單信息,并插入到數(shù)據(jù)庫中生成訂單表,最后一項要填寫密碼,是用戶的登入密碼,填寫錯誤會出現(xiàn)提示并重新填寫,正確后會有個提示信息,購買成功。5.2后臺web端主要功能實現(xiàn)5.2.1后臺登入界面;如圖5-10所示:學習參考資料分享 WORD格式整理圖5-10后臺登入界面這是后臺管理員登陸頁面;管理員在后臺進行登入,需要輸入正確的賬號和密碼,輸入的帳號的密碼將發(fā)送到數(shù)據(jù)庫進行驗證,如果正確,將直接登入到主界面中,如果錯誤,將進行重新登入。管理員登錄程序輸入username用戶名和loginpass登錄密碼兩種可能:1、成功登陸2、登錄失?。ㄓ脩裘蛎艽a錯誤)用戶登錄程序輸入用戶登錄名loginname和登陸密碼loginpass兩種可能結(jié)果:1、成功登陸2、登錄失?。ㄓ脩裘蛎艽a錯誤)5.2.2后臺主界面;如圖5-11所示圖5-11后臺主界面5.2.3商品列表界面;如圖5-12所示學習參考資料分享 WORD格式整理圖5-12商品列表信息圖在管理員點擊商品列表的時候,數(shù)據(jù)庫將所有商品信息顯示在頁面中,管理員可對商品進行增加,修改,刪除,查詢等的功能。查詢所有商品是以biao表商品為例,當輸入biao(表)時,即顯示所有表商品的信息;可能產(chǎn)生的結(jié)果:1、無biao商品2、查到biao商品信息,并顯示出來商品信息包括1、商品ID號;2、商品名稱;3、商品的附加信息;4、商品的價錢;5、商品的數(shù)量;6、商品的圖片;7、對商品的描述可以保存商品信息修改后的信息(商品信息的更新和修改)商品信息包括(商品名稱,圖片,價錢,附加信息,數(shù)量,商品描述內(nèi)容,商品ID號碼)根據(jù)商品的ID號可以來查詢商品可能產(chǎn)生的結(jié)果:1、查無此商品2、查到商品并顯示商品信息(商品ID號、商品名稱、商品附加信息、商品價錢、商品數(shù)量、商品的圖片、商品的描述信息)刪除某商品的程序會出現(xiàn)一下兩種操作結(jié)果:1、刪除不成功2、成功刪除該商品5.2.4后臺添加商品界面;如圖5-13所示:學習參考資料分享 WORD格式整理圖5-13訂單商品添加界面點擊添加商品,填入商品的具體信息,如商品名稱;附加信息;圖片的來源地址;商品價格;庫存等等信息,即可實現(xiàn)商品的添加。這段代碼是對商品添加的實現(xiàn),通過insert這個方法,將信息插入到數(shù)據(jù)庫中。訂單商品添加界面代碼的具體的實現(xiàn)和部分代碼的解釋如下:publicintinsert(StringtableName,Stringfields,Stringvalues)throwsException{intresult=0;StringBuildersql=newStringBuilder();try{sql.append("insertinto").append(tableName).append("(").append(fields).append(")").append("values(").append(values).append(")");System.out.println(sql);result=executeUpdate(sql.toString());}catch(Exceptione){e.printStackTrace();thrownewException("執(zhí)行添加sql語句:"+sql.toString()+"錯誤!");}finally{this.closeAll();}returnresult;}學習參考資料分享 WORD格式整理5.2.5后臺編輯商品界面;如圖5-14所示:圖5-14后臺商品編輯界面對某一商品可進行編輯,可以更改商品的屬性,如商品名稱;商品的附加標注;商品的圖片來源地址;商品價格;庫存量;商品的描述以及商品的類型。便可在數(shù)據(jù)庫中實現(xiàn)更改。后臺商品編輯界面代碼的具體的實現(xiàn)和部分代碼的解釋如下:publicintupdate(StringtableName,Stringsettings,StringwhereStr)throwsException{intresult=0;StringBuildersql=newStringBuilder();try{sql.append("update").append(tableName).append("set").append(settings);if((whereStr!=null)&&(!"".equals(whereStr))){sql.append("where").append(whereStr);}System.out.println(sql);result=executeUpdate(sql.toString());}catch(Exceptione){e.printStackTrace();thrownewException("執(zhí)行修改sql語句:"+sql.toString()+"錯誤!");學習參考資料分享 WORD格式整理}finally{this.closeAll();}returnresult;}5.2.6后臺訂單管理界面;如圖5-15所示:圖5-15后臺訂單界面管理員從后臺查詢所有訂單,處理用戶的訂單,點擊發(fā)貨,或關(guān)閉交易,改變訂單的狀態(tài)。管理員可以查詢某客戶所有訂單,管理員需先登錄才能進行查詢根據(jù)訂單的ID號碼來查詢訂單信息結(jié)果兩種結(jié)果:1、查無此訂單2、查到訂單并顯示訂單信息。訂單信息包括:1、訂單ID號碼;2、時間;3、客戶名稱;4、收貨地址;5、金額;6、訂單明細;7、訂單狀態(tài);8、客戶電話修改訂單狀態(tài),根據(jù)this.zhuangtai.equals(“”)值得改變修改訂單狀態(tài)訂單的狀態(tài)有:equals(“1”)已發(fā)貨equals(“2”)客戶已付款equals(“3”)關(guān)閉(交易完成)可以保存訂單修改后的狀態(tài)1、已發(fā)貨2、客戶已付款3、關(guān)閉學習參考資料分享 WORD格式整理5.3本章小結(jié)第五章中在Eclipse開發(fā)平臺下,使用Andriod模擬器對該手機購物商城系統(tǒng)進行測試實現(xiàn)。從中找出不足之處,予以改進。學習參考資料分享 WORD格式整理6.總結(jié)與展望6.1基于Android平臺的移動手機商城的設計回顧此次畢業(yè)設計采用了Android和JavaWeb的技術(shù),難度比想象中要大的多,是本人目前做過的最大的,也是難度最高的程序。.因此在完成的過程中并沒有做到最完美。在設計初期,遇到了很多難題,但經(jīng)過自己的努力和指導老師的幫助,其中的問題很快的都得到了解決。本次設計的主要思想還是注重于商品從瀏覽到購買這一系列流程,并實現(xiàn)前臺到后臺數(shù)據(jù)間的交互。前臺主要是用了android的界面框架來設計,通過列表視圖來顯示出商品,并連接到后臺,實現(xiàn)商品的第一時間更新。后臺運用了JSP+SSH的MVC模型來設計管理頁面,主要是針對商品的增,刪,改,查和對訂單的處理。客戶端連接服務器,服務器鏈接數(shù)據(jù)庫;客戶端連接數(shù)據(jù)庫是網(wǎng)絡連接,基于TCP/IP連接.服務器是通過jdbc接口與數(shù)據(jù)庫實現(xiàn)連接的。在此次設計中,有著很多的不足之處,各個模塊的功能并沒有設計的太全面,由于技術(shù)方面的問題,也只能將一些復雜的問題簡單化。在這次的設計中讓我學到了很多知識,尤其是android方面的,讓我對移動通信方面的技術(shù)產(chǎn)生了很大的興趣,對android的開發(fā)有了一個更深的認識,相信在以后的學習或工作中,都能帶給我許多幫助!6.2Android平臺的移動手機商城的設計經(jīng)驗總結(jié)1.對Java語言有一定了解是必要的,而Java語言本身是面向?qū)ο缶幊痰囊环N語言,因此,對類與對象的概念要有必要的了解,而這些內(nèi)容在論文中就不進行介紹了。2.要對開發(fā)環(huán)境進行很深和更透徹的了解3.關(guān)于Activity:如果把Activity看作MVC中的Control。它負責管理用戶的輸入,雖然說一個Activity通常對應一個屏幕,但事實上,我們是可以只用一個Activity管理多個不同的View來實現(xiàn)簡單的邏輯。4.關(guān)于Intent的使用:Intent分為兩大類,顯性的(Explicit)和隱性的(Implicit)。一般來說,intent要定位事件的目的地,無外乎需要以下幾個信息:(1).種類(category)(2).類型(type)(3).組件(component)(4).附加數(shù)據(jù)(extras)其實,如果是在一個應用內(nèi)部,這種隱性的intent實在有點別扭,個人覺得,這種實現(xiàn)方法,只適用于那些較大的系統(tǒng)或者多個不同的應用之間的調(diào)用。學習參考資料分享 WORD格式整理6.3本章小結(jié)第六章中回顧了基于Android平臺的移動手機商城設計過程中的遇到的難題,總結(jié)了設計過程中得到的經(jīng)驗與啟示。學習參考資料分享 WORD格式整理參考文獻[1]公磊,周聰.基于Android的移動終端應用程序開發(fā)與研究.計算機與現(xiàn)代化,2008[2]夏昕.Spring開發(fā)指南[M].北京:電子工業(yè)出版社,2004.[3]高煥堂.Android的開發(fā)入門與實戰(zhàn).人民郵電出版社.2012年4月[4]傅鸝.基于Struts+Spring+Hibernate+Ajax技術(shù)的科研管理系統(tǒng)設計[J].軟件導刊,2009,8(1):134-136.[5]夏昕,曹曉鋼.深入淺出Hibernate[M].北京:電子工業(yè)出版社,2005.[6]馬越.Android的架構(gòu)與應用[D].北京:中國地質(zhì)大學(北京)碩士學位論文,2008:9-20.[7]何玉潔.數(shù)據(jù)庫原理與應用教程.機械工業(yè)出版社2005.12[8]劉衛(wèi)國姚昱禹.Android的架構(gòu)與應用開發(fā)研究.中南大學信息科學與工程學院計算機系統(tǒng)應用2008-11[9]孫曉宇.Android手機界面管理系統(tǒng)的設計與實現(xiàn).北京郵電大學.2009年[10]曹大有.基于Struts和Spring框架技術(shù)的Web應用的開發(fā)過程[J].計算機應用與軟件,2008,25(8):203-204.[11學習參考資料分享 WORD格式整理]孫強.基于Struts+Spring+iBATIS的輕量級Web應用框架研究[J].計算機應用與軟件,2008,25(10):135-137.[12]劉平.Android手機訪問服務器的一種數(shù)據(jù)交互方法.西安財經(jīng)學院網(wǎng)絡與現(xiàn)在教育技術(shù)中心2010-09[13]陳天河.Struts,Hibernate,Spring集成開發(fā)寶典[M].北京:電子工業(yè)出版社,2007.[14]黃志明.基于Spring+Struts+Hibernate的報備系統(tǒng)的設計與實現(xiàn)[J].電腦知識與技術(shù),2008,4(Z2):40-41..[15]鄧子云.基于Struts2+Hibernate3+Spring2的物流數(shù)據(jù)交換平臺[J].計算機應用與軟件,2009,26(10):88-100.[16]趙少卡.基于Struts+Spring+Hibernate架構(gòu)的信息交流平臺的設計與實現(xiàn)[J].計算機與現(xiàn)代化,2009(2):62-66..[17]郝玉龍.安卓程序設計基礎(chǔ)清華大學出版社2011[18]邸爍,Android手機平臺揭秘和未來發(fā)展趨勢2008[19]馬越.Android的架構(gòu)與應用[D].北京:中國地質(zhì)大學(北京)碩士學位論文,2008:9-20.[20]孫更新,Android從入門到精通電子工業(yè)出版社2011[21]魯霞.基于Struts_Spring_Hibernate架構(gòu)的綜合積分系統(tǒng)的研究與實現(xiàn)[D].成都:西南交通大學碩士學位論文,2008.[22]吳善財,Android基礎(chǔ)開發(fā)與實踐清華大學出版社2012[23]開放手機聯(lián)盟.Android[DB/OL].2008-07-30.[24]韓超,Android經(jīng)典應用程序開發(fā)電子工業(yè)出版社2012[25]李剛.Struts2權(quán)威指南——基于WebWork核心的MVC開發(fā)[M].北京:電子工業(yè)出版社,2007.[26]汪永松,Android平臺開發(fā)之旅機械工業(yè)出版社2010[27]高煥堂.Android應用框架原理與程式設計36技[M/OL].Google公司,2008:132-150.[28]楊豐盛,Android應用開發(fā)揭秘機械工業(yè)出版社2010年9月[29]陳天河.Struts,Hibernate,Spring集成開發(fā)寶典[M].北京:電子工業(yè)出版社,2007.學習參考資料分享 WORD格式整理[30]CHENYu-fen.?Mapspatialcognitionresearchandspatialinformationvisualization.,Informationsystem,2009,23(6),532-541[31]孫衛(wèi)琴.Java面向?qū)ο缶幊?電子工業(yè)出版社,2006.7[32]閻宏.《JAVA與模式》電子工業(yè)出版社2002.10[33]趙能.基于Eclipse的嵌入式軟件開發(fā)平臺若干關(guān)鍵技術(shù)研究.浙江大學碩士學位論文2007.6[34]王世江,蓋索林.GoogleAndroid開發(fā)人門指南[M].北京:人民郵電出版社,2009[35]李興華Java開發(fā)實戰(zhàn)經(jīng)典[M].北京:清華大學出版社,2009[36]楊豐盛.Android技術(shù)內(nèi)幕[M].北京:機械工業(yè)出版社,2011.[37]劉帥旗.Android移動開發(fā)從入門到精通.北京.中國鐵道出版社,2012.3.386-409[38]簡朝陽.MySQL性能調(diào)優(yōu)與架構(gòu)設計.北京.電子工業(yè)出版社,2009.121-155[39]余志龍,鄭名杰.AndroidSDK開發(fā)范例大全(第二版).北京.人民郵電出版社,2010.36-43[40]ErichGamma,KentBeck.ContributingtoEclipse中國屯力出版社,2005-01學習參考資料分享

當前文檔最多預覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。
關(guān)閉