android畢業(yè)論文--基于android平臺(tái)的商城_第1頁(yè)
已閱讀1頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  學(xué) 士 學(xué) 位 論 文</p><p>  題 目:基于A(yíng)ndroid平臺(tái)的商城</p><p>  學(xué) 院: 軟件學(xué)院 系 計(jì)算機(jī)軟件 </p><p>  專(zhuān) 業(yè): 計(jì)算機(jī)軟件 </p><p>  學(xué) 號(hào):

2、 </p><p>  姓 名: </p><p>  指導(dǎo)教師: </p><p>  起訖日期: 2010年12月至2011年5月 </p><p><b>  目 錄</b>&l

3、t;/p><p><b>  論文總頁(yè)數(shù):35頁(yè)</b></p><p><b>  1 緒論3</b></p><p><b>  1.1課題背景3</b></p><p>  1.2相關(guān)技術(shù)的發(fā)展現(xiàn)狀4</p><p>  1.2.1手機(jī)操作系統(tǒng)的

4、發(fā)展現(xiàn)狀4</p><p>  1.3手機(jī)操作系統(tǒng)的發(fā)展現(xiàn)狀5</p><p>  2.Android的架構(gòu)分析6</p><p>  2.1 Android特征6</p><p>  2.2 Android架構(gòu)7</p><p>  2.2.1關(guān)鍵應(yīng)用程序7</p><p>  2

5、.2.2應(yīng)用程序框架7</p><p>  2.2.3系統(tǒng)運(yùn)行庫(kù)7</p><p>  2.3Android應(yīng)用的構(gòu)成和工作機(jī)制8</p><p>  2.4 Android與其他手機(jī)操作系統(tǒng)的比較9</p><p>  2.5本章小結(jié)10</p><p>  3系統(tǒng)的總體框架10</p>&

6、lt;p>  3.1系統(tǒng)需求分析10</p><p>  3.2系統(tǒng)主要功能描述11</p><p>  3.2.1客戶(hù)端登陸注冊(cè)11</p><p>  3.2.2系統(tǒng)主要功能描述12</p><p>  3.2.3訂單功能13</p><p>  3.2.4留言評(píng)價(jià)功能13</p>

7、<p>  3.2.5服務(wù)器管理功能14</p><p>  3.3系統(tǒng)流程15</p><p>  3.4系統(tǒng)框架16</p><p>  4詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)17</p><p>  4.1詳細(xì)設(shè)計(jì)17</p><p>  4.1.1詳細(xì)設(shè)計(jì)17</p><p>  4.1

8、.2后臺(tái)實(shí)現(xiàn)18</p><p>  4.2系統(tǒng)實(shí)現(xiàn)19</p><p>  4.2.1用戶(hù)首頁(yè)的實(shí)現(xiàn)過(guò)程18</p><p>  4.2.2用戶(hù)注冊(cè)的實(shí)現(xiàn)過(guò)程18</p><p>  4.2.3用戶(hù)登錄的實(shí)現(xiàn)過(guò)程19</p><p>  4.2.4用戶(hù)搜索的實(shí)現(xiàn)過(guò)程20</p><p&

9、gt;  4.2.5用戶(hù)瀏覽的實(shí)現(xiàn)過(guò)程21</p><p>  4.2.6用戶(hù)購(gòu)買(mǎi)的實(shí)現(xiàn)過(guò)程21</p><p>  4.2.7數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)22</p><p>  4.2.8后臺(tái)的實(shí)現(xiàn)23</p><p>  5.總結(jié)和展望24</p><p>  6 Android手機(jī)前景31</p>

10、<p><b>  7結(jié)束語(yǔ)35</b></p><p><b>  8參考文獻(xiàn)35</b></p><p>  基于A(yíng)ndroid的小小手機(jī)商城</p><p>  內(nèi)容提要:隨著移動(dòng)通信與Internet的飛速發(fā)展及相互融合,GPRS使無(wú)線(xiàn)網(wǎng)絡(luò)高速接入到Internet成為現(xiàn)實(shí),移動(dòng)用戶(hù)從而可以享受到I

11、nternet提供的服務(wù)。這樣,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終端,還將成為互聯(lián)網(wǎng)的終端。本文首先給出了系統(tǒng)研究背景,對(duì)當(dāng)前手機(jī)操作系統(tǒng)發(fā)展做了簡(jiǎn)單的介紹。進(jìn)而詳細(xì)的分析了android的特征、架構(gòu)、以及android應(yīng)用的構(gòu)成和工作機(jī)制,并對(duì)android于其他手機(jī)操作系統(tǒng)進(jìn)行了比較,說(shuō)明了android在手機(jī)操作系統(tǒng)中的優(yōu)勢(shì)。本系統(tǒng)主要用于對(duì)手機(jī)上網(wǎng)用戶(hù),在線(xiàn)瀏覽該網(wǎng)站,用戶(hù)管理員可以對(duì)商品信息進(jìn)行增刪改查等功能,用戶(hù)可以在該網(wǎng)站注冊(cè),

12、注冊(cè)后的用戶(hù)還可以商品進(jìn)行購(gòu)買(mǎi)以及評(píng)價(jià)。使用該系統(tǒng)很大的提高了用戶(hù)購(gòu)買(mǎi)能力。</p><p>  關(guān)鍵詞: Android、JSP、eclipse、myeclipse-6.5、tomcat、開(kāi)源、服務(wù)器、移動(dòng)客戶(hù)端、手機(jī)商城。</p><p>  Summary:With mobile communication and internet the rapid development and

13、 integration. GPRS the wireless network speed internet access to mobile users to become a reality, so we can enjoy the internet service. thus, the mobile terminal not only a communications network terminal, will become t

14、he internet terminals. the first to study the background to the current system, mobile operating system development made a brief introduction. then the detailed analyses the characteristics, a schema about th</p>

15、<p>  Keyword: Android、JSP、eclipse、myeclipse-6.5、tomcat、Open source、 the server、 a mobile client 、mobile phones shopping center.</p><p><b>  1.緒論</b></p><p><b>  1.1課題背景&l

16、t;/b></p><p>  隨著移動(dòng)通信與Internet向移動(dòng)終端的普及,網(wǎng)絡(luò)和用戶(hù)對(duì)移動(dòng)終端的要求越來(lái)越高,而Symbian,Windows Mobile,PalmOS等手機(jī)平臺(tái)過(guò)于封閉,不能很好的滿(mǎn)足用戶(hù)的需求,因此市場(chǎng)迫切需要一個(gè)開(kāi)發(fā)性很強(qiáng)的平臺(tái)。經(jīng)過(guò)多年的發(fā)展,第三代數(shù)字通信(3G)技術(shù)活動(dòng)了廣泛的接受,它為移動(dòng)終端用戶(hù)帶來(lái)了更快的數(shù)據(jù)傳輸速率。隨著3G網(wǎng)絡(luò)的使用,移動(dòng)終端不再僅是通訊網(wǎng)絡(luò)的終

17、端,還將成為互聯(lián)網(wǎng)的終端。因此,移動(dòng)終端的應(yīng)用軟件和需要的服務(wù)將會(huì)有很大的發(fā)展空間。Google為此與2007年11月推出了一個(gè)專(zhuān)為移動(dòng)設(shè)備設(shè)計(jì)的軟件平臺(tái)——Android。</p><p>  Android 是一套真正意義上的開(kāi)發(fā)性的移動(dòng)設(shè)備綜合平臺(tái),它包括操作系統(tǒng)、中間件和一些關(guān)鍵的平臺(tái)應(yīng)用。Android 是由Linux+Java構(gòu)成的開(kāi)源軟件,允許所有廠(chǎng)商和個(gè)人在其基礎(chǔ)上進(jìn)行開(kāi)發(fā)。Android平臺(tái)的開(kāi)

18、放性等特點(diǎn)既能促進(jìn)技術(shù)(包括平臺(tái)本身)的創(chuàng)新,又有助于降低開(kāi)發(fā)成本,還可以是運(yùn)營(yíng)商能非常方便地制定自己的特色化的產(chǎn)品。因此,它具有很大的市場(chǎng)發(fā)展?jié)摿Α?lt;/p><p>  根據(jù)中國(guó)互聯(lián)網(wǎng)信息中心(CNNIC)發(fā)布的《第22次中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截止2008年6月底,我國(guó)網(wǎng)民數(shù)量達(dá)到了2.53億,首次大幅超過(guò)美國(guó),網(wǎng)民規(guī)模躍居世界第一位,</p><p>  其中手機(jī)網(wǎng)民達(dá)到

19、7305萬(wàn),手機(jī)上網(wǎng)成為網(wǎng)絡(luò)接入的一個(gè)重要發(fā)展方向。</p><p>  1.2相關(guān)技術(shù)的發(fā)展現(xiàn)狀</p><p>  1.2.1手機(jī)操作系統(tǒng)的發(fā)展現(xiàn)狀</p><p>  Palm OS是一套專(zhuān)門(mén)為掌上電腦編寫(xiě)的操作系統(tǒng),是一種輕量級(jí)、比較開(kāi)放的操作系統(tǒng),占用的內(nèi)存非常小,允許用戶(hù)在其基礎(chǔ)上編寫(xiě)和修改相關(guān)軟件,是支持的應(yīng)用程序更加豐富多彩。Plam 在其它方面也還

20、存在一些不足,如Plam操作系統(tǒng)本身不具備錄音、MP3播放功能等,但是可以通過(guò)加入第三方軟件或硬件設(shè)備來(lái)實(shí)現(xiàn)。其代表性的產(chǎn)品有Palm m505、Palm m500、Palm III等。</p><p>  Symbian是一個(gè)實(shí)時(shí)性、多任務(wù)的純32位操作系統(tǒng),具有功耗低、內(nèi)存占用少等特點(diǎn),非常適合手機(jī)等移動(dòng)設(shè)備使用,經(jīng)過(guò)不斷完善,可以支持GPRS、藍(lán)牙、SyncML以及3G技術(shù)。</p><

21、p>  Windows mobile系列操作系統(tǒng)是從微軟計(jì)算機(jī)的Windows操作系統(tǒng)上變化而來(lái)的。Windows mobile系列操作系統(tǒng)功能強(qiáng)大,而且支持該操作系統(tǒng)的智能手機(jī)大多數(shù)都采用了英特爾嵌入式處理器,主頻比較高,在其它硬件設(shè)置(如內(nèi)存、儲(chǔ)存卡容量等)上也采用其他操作系統(tǒng)的智能手機(jī)要高出許多,因此性能比較強(qiáng)勁,速度比較快。Windows mobile系列操作系統(tǒng)包括SmartPhone以及Pocket PC Phone兩

22、種平臺(tái)。Pocket PC Phone主要用于掌上電腦型的智能手機(jī),而SmartPhone則主要為手上智能手機(jī)提供操作系統(tǒng)。</p><p>  Linux系統(tǒng)是一個(gè)源代碼開(kāi)放的操作系統(tǒng)。由于其開(kāi)源性,手機(jī)制造商可以根據(jù)實(shí)際情況開(kāi)放自己的Linux手機(jī)操作系統(tǒng),從而也能夠吸引更多的軟件制造商在其上開(kāi)發(fā)更多的應(yīng)用軟件,豐富第三方的應(yīng)用。但是Linux操作系統(tǒng)也還存在一些不足,集成開(kāi)放環(huán)境和基于Linux的產(chǎn)品與PC

23、的連接性比較差等。</p><p><b>  1.3論文組織結(jié)構(gòu)</b></p><p>  本文首先分析了系統(tǒng)的研究背景,介紹了當(dāng)前手機(jī)操作系統(tǒng)、即時(shí)通訊軟件的發(fā)展現(xiàn)狀和即時(shí)通訊協(xié)議,以及本文的主要內(nèi)容。</p><p>  第二章,介紹了Android的特征、Android的架構(gòu)以及Android應(yīng)用的構(gòu)成和工作機(jī)制,并對(duì)Android與

24、其它手機(jī)操作系統(tǒng)進(jìn)行了比較,說(shuō)明了Android的優(yōu)勢(shì)。</p><p>  第三章,詳細(xì)論述了在A(yíng)ndroid平臺(tái)上開(kāi)發(fā)小小手機(jī)商城系統(tǒng),提出了系統(tǒng)的主要功能,系統(tǒng)的總體業(yè)務(wù)描述和架構(gòu)設(shè)計(jì)。</p><p>  第四章,介紹了系統(tǒng)的設(shè)計(jì)特點(diǎn),著重論述了賬戶(hù)操作的工作流程。</p><p>  第五章,給出本文的結(jié)論并對(duì)課題進(jìn)行了進(jìn)一步的展望。</p>

25、<p>  2.Android的架構(gòu)分析</p><p>  Android是一個(gè)移動(dòng)設(shè)備的軟件平臺(tái),是由Linux+Java構(gòu)成的開(kāi)源軟件,它提供包括SDK、Key Apps、Middleware、Linux Kernel四個(gè)部分在內(nèi)的全套手機(jī)軟件方案。它開(kāi)放了基于Linux內(nèi)核以上的開(kāi)發(fā)工具,從而保證了內(nèi)容的可移植性和多樣性。Android平臺(tái)為我們開(kāi)發(fā)應(yīng)用程序提供了一套很好的框架,我們可以在這個(gè)

26、平臺(tái)的基礎(chǔ)上開(kāi)發(fā)不同的應(yīng)用程序,也可以開(kāi)發(fā)新的組件供應(yīng)用程序調(diào)用。</p><p>  2.1Android特征</p><p>  應(yīng)用框架:用于開(kāi)發(fā)可重用、可替代的組件。</p><p>  Dalvik虛擬機(jī):Android采用的Java虛擬機(jī)是自主開(kāi)發(fā)的代號(hào)為Dalvik的虛擬機(jī)技術(shù),在保證API方面兼容的同時(shí)Dalvik針對(duì)移動(dòng)手機(jī)進(jìn)行了大幅優(yōu)化,占用資源

27、更小,運(yùn)行效率更高。</p><p>  內(nèi)嵌瀏覽器:基于開(kāi)源的瀏覽器網(wǎng)頁(yè)排版引擎WebKit。</p><p>  優(yōu)化的圖形:強(qiáng)大的自定義二維圖形庫(kù)?;贠penGL ES 1.0標(biāo)準(zhǔn)的3D圖形功能,在移動(dòng)3D開(kāi)發(fā)中有著至關(guān)重要的地位。</p><p>  SQLite數(shù)據(jù)庫(kù):SQLite提供結(jié)構(gòu)化的數(shù)據(jù)存儲(chǔ)。它是一款輕型免費(fèi)的且開(kāi)源的數(shù)據(jù)庫(kù),它的設(shè)計(jì)目標(biāo)是嵌入

28、式的,它占用的資源非常低、需要的內(nèi)存空間少、處理速度比較快和支持事務(wù)處理功能等。</p><p>  多媒體支持:支持各種通用的音頻、視頻和靜態(tài)圖像格式,如MP3、JPG、PNG等。Open Core是Android多媒體框架的核心,所有Android平臺(tái)的音頻和視頻采集、播放的操作都是通過(guò)它來(lái)實(shí)現(xiàn)的。通過(guò)Open Core,程序員可以方便快速的開(kāi)發(fā)出想要的多媒體應(yīng)用程序。</p><p>

29、;  GSM技術(shù):(依賴(lài)硬件)Global System for Mobile Communications,全球通訊系統(tǒng),俗稱(chēng)“全球通”,是第二代移動(dòng)通信技術(shù),其開(kāi)發(fā)目的是讓全球各地可以共同使用一個(gè)移動(dòng)電話(huà)網(wǎng)絡(luò)標(biāo)準(zhǔn),讓用戶(hù)使用一部手機(jī)就能行遍全球。</p><p>  藍(lán)牙,EDGE,3G and WiFi:(依賴(lài)硬件)藍(lán)牙和Wi-Fi都是一種短距離的無(wú)線(xiàn)連接技術(shù),在短距離內(nèi)可以實(shí)現(xiàn)話(huà)音和數(shù)據(jù)的無(wú)線(xiàn)傳輸。EDG

30、E(Enhanced Data Rate for GSM Evolution),是增強(qiáng)型數(shù)據(jù)速率GSM演進(jìn)技術(shù)。</p><p>  Cameram,GPS,compass,andaccelerometer:(依賴(lài)硬件)GPS(Global Positioning System),即全球定位系統(tǒng)。它是由一個(gè)由覆蓋全球的24顆衛(wèi)星組成的衛(wèi)星系統(tǒng)。Compass是一個(gè)開(kāi)放源碼的Java搜索引擎框架。</p>

31、;<p>  強(qiáng)大的開(kāi)發(fā)環(huán)境:包括一個(gè)設(shè)備模擬器,調(diào)試工具,內(nèi)存和性能檢測(cè),以及Eclipse IDE的開(kāi)發(fā)插件。Eclipse是個(gè)集成開(kāi)放環(huán)境。</p><p>  2.2 Android架構(gòu)</p><p>  Android的架構(gòu)是由Linux內(nèi)核、C/C++函數(shù)庫(kù)、Dalvik虛擬機(jī)、應(yīng)用框架以及關(guān)鍵應(yīng)用程序構(gòu)成的。通過(guò)編譯基于框架的應(yīng)用程序可以降低開(kāi)發(fā)負(fù)荷。應(yīng)用軟件

32、原則上是在DalvikVM上運(yùn)行的。</p><p>  圖2-1Android架構(gòu)</p><p>  2.2.1.關(guān)鍵應(yīng)用程序 Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括email客戶(hù)端,SMS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語(yǔ)言編寫(xiě)的。 </p><p>  2.2.2.應(yīng)用程

33、序框架  開(kāi)發(fā)人員也可以完全訪(fǎng)問(wèn)核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過(guò)得遵循框架的安全性限制)。同樣,該應(yīng)用程序重用機(jī)制也使用戶(hù)可以方便的替換程序組件。隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括; 豐富而又可擴(kuò)展的視圖(Views),可以用來(lái)構(gòu)建應(yīng)用程序, 它包括列表(lists),網(wǎng)格(gr

34、ids),文本框(text boxes),按鈕(buttons), 甚至可嵌入的web瀏覽器。 內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪(fǎng)問(wèn)另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫(kù)), 或者共享它們自己的數(shù)據(jù) 資源管理器(Resource Manager)提供 非代碼資源的訪(fǎng)問(wèn),如本地字符串,圖形,和布局文件( layout files )。 通知管理器 (Notification Manag

35、er) 使得應(yīng)用程序可以在狀態(tài)欄中顯示自定義的提示信息。 活動(dòng)管理器( Activity Ma</p><p>  2.2.3.系統(tǒng)運(yùn)行庫(kù)</p><p>  2.2.3.1程序庫(kù)</p><p>  Android 包含一些C/C++庫(kù),這些庫(kù)能被Android系統(tǒng)中不同的組件使用。它們通過(guò) Android 應(yīng)用程序框架為開(kāi)發(fā)者提供服務(wù)。以下是一些核心庫(kù):

36、 系統(tǒng) C 庫(kù) - 一個(gè)從 BSD 繼承來(lái)的標(biāo)準(zhǔn) C 系統(tǒng)函數(shù)庫(kù)( libc ), 它是專(zhuān)門(mén)為基于 embedded linux 的設(shè)備定制的。 媒體庫(kù) - 基于 PacketVideo OpenCORE;該庫(kù)支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。</p><p>  Surface

37、Manager - 對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提 供了2D和3D圖層的無(wú)縫融合。</p><p>  LibWebCore - 一個(gè)最新的web瀏覽器引擎用,支持Android瀏覽器和一個(gè)可嵌入的web視圖。</p><p>  SGL - 底層的2D圖形引擎</p><p>  3D libraries - 基于OpenGL ES 1.0 APIs實(shí)現(xiàn)

38、;該庫(kù)可以使用硬件 3D加速(如果可用)或者使用高度優(yōu)化的3D軟加速。</p><p>  FreeType -位圖(bitmap)和矢量(vector)字體顯示。</p><p>  SQLite - 一個(gè)對(duì)于所有應(yīng)用程序可用,功能強(qiáng)勁的輕型關(guān)系型數(shù)據(jù)庫(kù)引擎。 </p><p>  2.2.3.1運(yùn)行庫(kù)</p><p>  Andr

39、oid 包括了一個(gè)核心庫(kù),該核心庫(kù)提供了JAVA編程語(yǔ)言核心庫(kù)的大多數(shù)功能。每一個(gè)Android應(yīng)用程序都在它自己的進(jìn)程中運(yùn)行,都擁有一個(gè)獨(dú)立的Dalvik虛擬機(jī)實(shí)例。Dalvik被設(shè)計(jì)成一個(gè)設(shè)備可以同時(shí)高效地運(yùn)行多個(gè)虛擬系統(tǒng)。 Dalvik虛擬機(jī)執(zhí)行(.dex)的Dalvik可執(zhí)行文件,該格式文件針對(duì)小內(nèi)存使用做了優(yōu)化。同時(shí)虛擬機(jī)是基于寄存器的,所有的類(lèi)都經(jīng)由JAVA編譯器編譯,然后通過(guò)SDK中 的 "dx" 工

40、具轉(zhuǎn)化成.dex格式由虛擬機(jī)執(zhí)行。Dalvik虛擬機(jī)依賴(lài)于linux內(nèi)核的一些功能,比如線(xiàn)程機(jī)制和底層內(nèi)存管理機(jī)制。2.2.4.Linux內(nèi)核</p><p>  Android 的核心系統(tǒng)服務(wù)依賴(lài)于 Linux 2.6 內(nèi)核,如安全性、內(nèi)存管理、進(jìn)程管理、網(wǎng)絡(luò)協(xié)議和驅(qū)動(dòng)模型。Linux 內(nèi)核也同時(shí)作為硬件和軟件棧之間的抽象層。</p><p>  2.3Android應(yīng)用的構(gòu)成和

41、工作機(jī)制</p><p>  Android應(yīng)用程序來(lái)說(shuō),是由Activity、Intent Receiver、Service、ContentProvider四部分組成,但并不是每一個(gè)Android應(yīng)用程序都必須由這四部分組成。在應(yīng)用程序中使用時(shí),需要在配置文件Android應(yīng)用程序中所必需的,用于定義應(yīng)用程序的組件、組件的功能以及必要條件等。Android應(yīng)用的構(gòu)成和工作流程圖如下:</p>&l

42、t;p>  圖2-2Android的構(gòu)成和工作流程</p><p>  2.4 Android與其他手機(jī)操作系統(tǒng)的比較</p><p>  我們主要從手機(jī)操作系統(tǒng)的Portablity、Reliability、Connectivity、Product Diversity、</p><p>  Open Platform、Kernal Size、Standard

43、s、Security和Special Features這九個(gè)方面進(jìn)行了比較,具體的比較結(jié)果如下表:</p><p>  對(duì)上表比較的九項(xiàng)每一項(xiàng)以1分、0.5分、0分三個(gè)級(jí)別來(lái)進(jìn)行了評(píng)分,綜合各項(xiàng)評(píng)分,最好得到的評(píng)分結(jié)果是Android 8.5分、Windows mobile 5.5分、Symbian6.5分。Android基于開(kāi)源的Linux以及標(biāo)準(zhǔn)的跨平臺(tái)的編程語(yǔ)言Java,而且源代碼開(kāi)放,并且免費(fèi)允許所有廠(chǎng)商

44、和個(gè)人在其基礎(chǔ)上進(jìn)行開(kāi)發(fā),其開(kāi)源和免費(fèi)政策將贏(yíng)得不少手機(jī)制造商的支持。而且在其平臺(tái)上集成了不少優(yōu)秀的開(kāi)源工程,如Webkit、OpenGL等,相信在不久,將會(huì)有更多的優(yōu)秀工程加入到Android中來(lái)。相比其他手機(jī)操作系統(tǒng)過(guò)于封閉的特性來(lái)說(shuō),Android在手機(jī)操作系統(tǒng)領(lǐng)域?qū)?huì)占有很大的優(yōu)勢(shì),其功能也將會(huì)越來(lái)越強(qiáng)大。</p><p>  2.5 本章小結(jié) </p><p>  本章對(duì)And

45、roid平臺(tái)的特征、架構(gòu)以及Android應(yīng)用的構(gòu)成和工作機(jī)制進(jìn)行了詳細(xì)的分析。對(duì)于A(yíng)ndroid應(yīng)用程序來(lái)說(shuō),主要由Activity、 Service、 Intent Receiver和Content Provider四部分組成,但并不是對(duì)于每一個(gè)應(yīng)用程序,這四部分都是必須的。Activity是應(yīng)用程序中最重要的一種構(gòu)成塊,我們對(duì)其進(jìn)行了詳細(xì)的分析,包括Activity的生命周期以及Activity之間的切換。最后對(duì)Android與其

46、它的手機(jī)操作系統(tǒng)從九個(gè)方面進(jìn)行了比較,說(shuō)明了Android的優(yōu)勢(shì)。</p><p><b>  3.系統(tǒng)的總體框架</b></p><p><b>  3.1系統(tǒng)需求分析</b></p><p>  本系統(tǒng)主要用于對(duì)手機(jī)上網(wǎng)用戶(hù),在線(xiàn)瀏覽該網(wǎng)站,用戶(hù)管理員可以對(duì)商品信息進(jìn)行增刪改查等功能,用戶(hù)可以在該網(wǎng)站注冊(cè),注冊(cè)后的用戶(hù)

47、還可以商品進(jìn)行購(gòu)買(mǎi)以及評(píng)價(jià)。使用該系統(tǒng)很大的提高了用戶(hù)購(gòu)買(mǎi)能力.具體實(shí)現(xiàn)目標(biāo)如下: </p><p>  (1)手機(jī)上網(wǎng)用戶(hù)可以進(jìn)行瀏覽網(wǎng)站所有商品。</p><p>  (2)手機(jī)上網(wǎng)用戶(hù)可以進(jìn)行所需商品的查詢(xún)。</p><p>  (3)手機(jī)上網(wǎng)用戶(hù)可以對(duì)喜歡的商品進(jìn)行購(gòu)買(mǎi)但必須進(jìn)行注冊(cè)網(wǎng)站會(huì)員才可以進(jìn)行購(gòu)買(mǎi)。 </p><p>

48、  (4)手機(jī)上網(wǎng)用戶(hù)進(jìn)行網(wǎng)站會(huì)員的注冊(cè),然后進(jìn)入用戶(hù)主界面進(jìn)行對(duì)商品選購(gòu),還可以對(duì)網(wǎng)站進(jìn)行留言評(píng)價(jià)。</p><p>  (5)商品管理模塊,詳細(xì)記錄了產(chǎn)品種類(lèi)、名稱(chēng)、價(jià)格等信息,并根據(jù)需求及時(shí)更新商品信息。</p><p>  3.2系統(tǒng)主要功能概述</p><p>  本系統(tǒng)主要實(shí)現(xiàn)功能:客戶(hù)端登陸注冊(cè)、瀏覽功能、訂單功能、留言評(píng)價(jià)功能、服務(wù)器管理功能。<

49、;/p><p>  該系統(tǒng)的架構(gòu)如圖3-2-1所示</p><p>  3.2.1客戶(hù)端登陸注冊(cè)</p><p>  客戶(hù)端登陸注冊(cè)功能:注冊(cè)手機(jī)商城的會(huì)員可以進(jìn)行登錄進(jìn)入該用戶(hù)的主界面。</p><p>  圖3-2-2客戶(hù)端登陸注冊(cè)流程圖</p><p>  圖3-2-3客戶(hù)端登陸注冊(cè)用例圖</p>&l

50、t;p>  3.2.2 瀏覽功能</p><p>  瀏覽功能:對(duì)網(wǎng)站所有的商品進(jìn)行瀏覽操作。</p><p>  圖3-2-4瀏覽功能的流程圖</p><p>  圖3-2-5瀏覽功能的用例圖</p><p><b>  3.2.3訂單功能</b></p><p>  訂單功能:注冊(cè)手機(jī)商

51、城的會(huì)員可以進(jìn)行登陸,然后對(duì)所選商品進(jìn)行購(gòu)買(mǎi),下訂單。 </p><p>  圖3-2-6訂單功能的流程圖</p><p>  圖3-2-7訂單功能的用例圖</p><p>  3.2.4留言評(píng)價(jià)功能</p><p>  留言評(píng)價(jià)功能:手機(jī)商城的注冊(cè)用戶(hù)可以在登錄自己的用戶(hù)主界面后對(duì)商品進(jìn)行評(píng)價(jià)。</p><p>  

52、圖3-2-8留言評(píng)價(jià)流程圖</p><p>  圖3-2-9留言評(píng)價(jià)用例圖</p><p>  3.2.5服務(wù)器管理功能</p><p>  服務(wù)器管理功能:手機(jī)商城的網(wǎng)站管理員登錄到后臺(tái)數(shù)據(jù)庫(kù)可以對(duì)商品信息進(jìn)行查詢(xún),修改,增加以及刪除。例如節(jié)假日要對(duì)商品進(jìn)行促銷(xiāo)的修改價(jià)格。</p><p>  圖3-2-10服務(wù)管理流程圖</p>

53、;<p>  圖3-2-11服務(wù)管理用例圖</p><p><b>  3.3系統(tǒng)流程</b></p><p>  用戶(hù)在瀏覽網(wǎng)站時(shí)首先看到的就是網(wǎng)站首頁(yè)。在首頁(yè)用戶(hù)可以快速瀏覽最新商品,了解熱門(mén)商品和推薦商品,也可以搜索已知的商品查看具體信息。用戶(hù)如果想要購(gòu)買(mǎi)商品時(shí)必須要注冊(cè)成為會(huì)員,在用戶(hù)查看完商品的詳細(xì)作息后,可以把自己想要購(gòu)買(mǎi)的商品放入購(gòu)物車(chē)當(dāng)中

54、,也可以隨時(shí)修改、刪除購(gòu)物車(chē)?yán)锏纳唐?,如果用?hù)對(duì)購(gòu)物車(chē)?yán)锏纳唐范己軡M(mǎn)意,可以去下訂單。這時(shí)相關(guān)的程序模塊會(huì)將用戶(hù)所提交的所有信息都記錄在數(shù)據(jù)里以便于商城的管理人員可以核對(duì)信息并在收款后準(zhǔn)備發(fā)貨,發(fā)貨成功并且用戶(hù)確認(rèn)收到貨物時(shí)整個(gè)購(gòu)物過(guò)程便結(jié)束了。在電子商城的后臺(tái)管理方面還需要添加、修改、刪除商品,同時(shí)要對(duì)商品進(jìn)行分類(lèi),訂單的處理等都需要電子商城的管理人員來(lái)操作。</p><p>  為了更加清晰地表達(dá)系統(tǒng)的業(yè)務(wù)功

55、能模塊,畫(huà)出流程圖,對(duì)于不同的角色,所承擔(dān)的任務(wù)各自不同,流程不一樣,包括客戶(hù)端流程(如圖3-3-1所示)和服務(wù)端流程(如圖3-3-2所示)。</p><p>  圖3-3-1客戶(hù)端流程圖</p><p>  圖3-3-2服務(wù)端流程圖</p><p><b>  3.4系統(tǒng)框架</b></p><p>  圖3-3-1后

56、臺(tái)管理框圖</p><p>  圖3-3-2客戶(hù)端框圖</p><p><b>  4.詳細(xì)設(shè)計(jì)與實(shí)現(xiàn)</b></p><p><b>  4.1.詳細(xì)設(shè)計(jì)</b></p><p><b>  4.1.1前臺(tái)實(shí)現(xiàn)</b></p><p>  根據(jù)客戶(hù)需求

57、分析,小小手機(jī)商城的前臺(tái)主要包括:搜索,登錄,注冊(cè),商品瀏覽,商品購(gòu)買(mǎi),留言評(píng)價(jià)等功能模塊。前臺(tái)流程如下圖4-1-1:</p><p>  圖4-1-1前臺(tái)實(shí)現(xiàn)流程圖</p><p><b>  4.1.2后臺(tái)實(shí)現(xiàn)</b></p><p>  小小手機(jī)商城的后臺(tái)主要是三個(gè)模塊組成,分別是:會(huì)員管理,購(gòu)買(mǎi)信息的管理和商品信息的管理(包括數(shù)據(jù)的查詢(xún)

58、,修改,增加,刪除)。后臺(tái)流程如下圖4-1-2:</p><p>  圖4-1-2后臺(tái)實(shí)現(xiàn)流程圖</p><p><b>  4.2系統(tǒng)實(shí)現(xiàn)</b></p><p>  4.2.1用戶(hù)首頁(yè)的實(shí)現(xiàn)過(guò)程</p><p>  手機(jī)用戶(hù)登錄的前臺(tái)首頁(yè),用戶(hù)可以掌握最新網(wǎng)站商品信息,還可以實(shí)現(xiàn)搜索,瀏覽等功能。</p>

59、<p>  前臺(tái)首頁(yè)運(yùn)行結(jié)果如圖4-2-1所示:</p><p>  圖4-2-1前臺(tái)首頁(yè)運(yùn)行界面</p><p>  4.2.2用戶(hù)注冊(cè)的實(shí)現(xiàn)過(guò)程</p><p>  用戶(hù)注冊(cè)也就是收集、記錄用戶(hù)詳細(xì)信息的一個(gè)過(guò)程,程序?qū)⒂脩?hù)的注冊(cè)信息寫(xiě)入到了phoneuserinfo表里。</p><p>  用戶(hù)注冊(cè)頁(yè)面運(yùn)行結(jié)果如圖4-2

60、-2所示:</p><p>  圖4-2-2用戶(hù)注冊(cè)頁(yè)面運(yùn)行界面</p><p>  4.2.3用戶(hù)登錄的實(shí)現(xiàn)過(guò)程</p><p>  用戶(hù)經(jīng)過(guò)注冊(cè)成為網(wǎng)站會(huì)員,登錄后可以進(jìn)行購(gòu)買(mǎi),留言評(píng)價(jià)等功能。</p><p>  用戶(hù)登錄頁(yè)面運(yùn)行結(jié)果如圖4-2-3所示:</p><p>  圖4-2-3用戶(hù)登錄頁(yè)面運(yùn)行界面<

61、;/p><p>  4.2.4用戶(hù)搜索的實(shí)現(xiàn)過(guò)程</p><p>  用戶(hù)在經(jīng)過(guò)對(duì)網(wǎng)站商品信息的了解,根據(jù)個(gè)人喜好對(duì)商品進(jìn)行篩選,例如用戶(hù)對(duì)手機(jī)中sony品牌較為喜愛(ài),可以在搜索框中鍵入sony,網(wǎng)站將所有sony的所有商品顯示,用戶(hù)可以繼續(xù)進(jìn)行后續(xù)操作。</p><p>  用戶(hù)搜索頁(yè)面運(yùn)行結(jié)果如圖4-2-4所示:</p><p>  圖4-2

62、-4用戶(hù)搜索頁(yè)面運(yùn)行界面</p><p>  4.2.5用戶(hù)瀏覽的實(shí)現(xiàn)過(guò)程</p><p>  用戶(hù)在登錄首頁(yè)后,可以查看商品信息。</p><p>  用戶(hù)瀏覽頁(yè)面運(yùn)行結(jié)果如圖4-2-5所示:</p><p>  圖4-2-5用戶(hù)瀏覽頁(yè)面運(yùn)行界面</p><p>  4.2.6用戶(hù)購(gòu)買(mǎi)的實(shí)現(xiàn)過(guò)程</p>

63、<p>  用戶(hù)在瀏覽商品時(shí)想要進(jìn)行商品的訂購(gòu)可以點(diǎn)擊購(gòu)買(mǎi)按鈕,進(jìn)入購(gòu)買(mǎi)頁(yè)面,填寫(xiě)購(gòu)買(mǎi)信息,商品名稱(chēng)和商品個(gè)數(shù)必填,用戶(hù)留言可以為空。用戶(hù)留言將與其他購(gòu)買(mǎi)信息寫(xiě)入buyinfo表,后臺(tái)管理將根據(jù)表中信息對(duì)商品進(jìn)行調(diào)整,如某些商品在長(zhǎng)時(shí)間沒(méi)有訂購(gòu),可以對(duì)商品作下架處理。</p><p>  用戶(hù)購(gòu)買(mǎi)頁(yè)面運(yùn)行結(jié)果如圖4-2-6,4-2-7所示:</p><p>  圖4-2-6-1

64、用戶(hù)購(gòu)買(mǎi)頁(yè)面運(yùn)行界面</p><p>  圖4-2-6-2用戶(hù)購(gòu)買(mǎi)頁(yè)面運(yùn)行界面</p><p>  4.2.7數(shù)據(jù)庫(kù)連接的實(shí)現(xiàn)</p><p>  public class DBHelper {</p><p>  public static Connection getDBConnection() throws ClassNotFoundE

65、xception,</p><p>  SQLException {</p><p>  ResourceBundle bundle = ResourceBundle</p><p>  .getBundle("com.eorient.web.DBConfig");</p><p>  String driverClass

66、 = bundle.getString("driverClass");</p><p>  String userid = bundle.getString("userid");</p><p>  String password = bundle.getString("password");</p><p&g

67、t;  String url = bundle.getString("url");</p><p>  // 1.加載驅(qū)動(dòng)程序</p><p>  Class.forName("org.gjt.mm.mysql.Driver");</p><p>  // 2.獲得數(shù)據(jù)庫(kù)連接</p><p>  Con

68、nection conn = DriverManager.getConnection("jdbc:mysql://localhost/android","root","123");</p><p>  return conn;</p><p><b>  }</b></p><p>&

69、lt;b>  }</b></p><p><b>  4.2.8后臺(tái)實(shí)現(xiàn)</b></p><p>  管理員可以進(jìn)入MySQL,在連接pei中的android數(shù)據(jù)庫(kù)中,進(jìn)行修改。以實(shí)現(xiàn)對(duì)會(huì)員信息管理,購(gòu)買(mǎi)信息的管理,商品信息的增加,刪除,修改,查詢(xún)。</p><p>  商品信息的管理如下圖4-2-8-1,對(duì)表producti

70、nfo修改,修改字段內(nèi)容以實(shí)現(xiàn)功能。</p><p>  圖4-2-8-1商品信息管理</p><p>  會(huì)員信息的管理如下圖4-2-8-2,對(duì)表phoneuserinfo修改,完善會(huì)員信息,以及刪除非法會(huì)員。</p><p>  圖4-2-8-2會(huì)員信息管理</p><p>  購(gòu)買(mǎi)信息的管理如下圖4-2-8-3,對(duì)表buyinfo修改,

71、管理員對(duì)購(gòu)買(mǎi)信息進(jìn)行統(tǒng)計(jì),以方便對(duì)商品的管理。</p><p>  圖4-2-8-3購(gòu)買(mǎi)信息管理</p><p><b>  5.1總結(jié)和展望</b></p><p>  在此次項(xiàng)目中我擔(dān)任Struts2框架技術(shù)支持和手機(jī)客戶(hù)端的設(shè)計(jì)。</p><p> ?。?)在android的手機(jī)客戶(hù)端。具體代碼流程為定義一個(gè)了Bu

72、tton類(lèi)btnGO,從界面中取出按鍵將btnGO實(shí)例化, 創(chuàng)建一個(gè)Uri的鏈接到服務(wù)器端,用到的技術(shù)就是手機(jī)瀏覽器WebKit。Android應(yīng)用端開(kāi)始鏈接服務(wù)器端,將服務(wù)器端的頁(yè)面信息通過(guò)手機(jī)客戶(hù)端的WebView顯示在A(yíng)ndroid 手機(jī)界面上。以下是主要的實(shí)現(xiàn)代碼:</p><p>  public void onCreate(Bundle savedInstanceState) {</p

73、><p>  super.onCreate(savedInstanceState);</p><p>  setContentView(R.layout.main);</p><p>  btnGO = (Button) findViewById(R.id.go);</p><p>  btnGO.setOnClickListener(new V

74、iew.OnClickListener() {</p><p><b>  @Override</b></p><p>  public void onClick(View v) {</p><p>  Uri url = Uri.parse("http://192.168.2.143:8620/Struts2Test/incl

75、ude.jsp");</p><p>  Intent intent = new Intent(Intent.ACTION_VIEW, url);</p><p>  startActivity(intent);</p><p><b>  }</b></p><p><b>  });</b&

76、gt;</p><p><b>  }</b></p><p><b>  }</b></p><p>  (2)為了解決網(wǎng)絡(luò)的延遲問(wèn)題,我們可以使用線(xiàn)程把手機(jī)客戶(hù)端程序繼續(xù)完善,采用了線(xiàn)程后可以解決網(wǎng)絡(luò)的延遲,應(yīng)答遲緩的現(xiàn)象,以下是用線(xiàn)程實(shí)現(xiàn)的核心代碼:</p><p>  public clas

77、s WebViewDemo extends Activity { </p><p>  /** Called when the activity is first created. */ </p><p>  @Override </p><p>  public void onCreate(Bundle icicle) { </p>

78、<p>  super.onCreate(icicle); </p><p>  setContentView(R.layout.main); </p><p>  webView1 = new WebView(this); </p><p>  webView1 </p><p>  .loadData

79、( </p><p>  "<html><body>Can I focus?<br /><a href=\"#\">No I cannot!</a>.</body></html>", </p><p>  "text/html", &q

80、uot;utf-8"); </p><p>  this.setContentView(webView1); </p><p>  Logger.info("Download Faild _=> " + webView1.canGoBack()); </p><p>  webView = new WebView

81、(this); </p><p>  webView.loadUrl("http://192.168.2.143:8620/Struts2Test/include.jsp"); </p><p>  new Thread(new WebDownloadListener(this)).start(); </p><p><b

82、>  } </b></p><p>  WebView webView1; </p><p>  class WebDownloadListener implements Runnable, DownloadListener { </p><p>  WebViewDemo wd; </p><p>

83、  WebDownloadListener(WebViewDemo wd){ </p><p>  this.wd = wd; </p><p><b>  } </b></p><p><b>  //使用線(xiàn)程代碼:</b></p><p>  public void run() {

84、 </p><p>  int j=0; </p><p>  StringBuffer sb = new StringBuffer(); </p><p>  sb.append("正在連接網(wǎng)絡(luò)"); </p><p>  while (true) { </p><p&g

85、t;<b>  try { </b></p><p>  Thread.sleep(4 * 1000); </p><p><b>  j++; </b></p><p>  sb.append("."); </p><p>  webView1 = ne

86、w WebView(wd); </p><p>  webView.loadUrl("http://192.168.2.143:8620/Struts2Test/include.jsp"); </p><p>  Message msg = mHandler.obtainMessage(); </p><p>  mHandl

87、er.sendMessage(msg); </p><p>  } catch (Throwable e) { </p><p>  Logger.info(e.toString()); </p><p>  e.printStackTrace(); </p><p><b>  } </b>

88、;</p><p>  if (j== 3) { </p><p>  webView1 = null; </p><p>  Message msg = mHandler.obtainMessage(); </p><p>  mHandler.sendMessage(msg); </p><p&

89、gt;  break; </p><p><b>  } </b></p><p><b>  } </b></p><p><b>  } </b></p><p>  public void onDownloadFailed(String arg0,

90、 int arg1) { </p><p>  Logger.info("Download Faild _=> " + arg0); </p><p><b>  } </b></p><p>  public void onDownloadFinished(String arg0) { <

91、;/p><p>  Logger.info("Download Finished => " + arg0); </p><p>  setContentView(webView); </p><p><b>  } </b></p><p>  public void onDown

92、loadStart(String arg0, String arg1, long arg2, </p><p>  Message arg3, Message arg4) { </p><p>  Logger.info("Download Faild _=> " + arg0); </p><p><b>  

93、} </b></p><p>  public void onDownloadSuspended(String arg0, Message arg1) { </p><p>  Logger.info("Download Faild _=> " + arg0); </p><p><b>  }

94、 </b></p><p><b>  } </b></p><p>  Handler mHandler = new Handler(){ </p><p>  @Override </p><p>  public void handleMessage(Message msg) {

95、</p><p>  super.handleMessage(msg); </p><p>  //invalidate(); </p><p>  if(webView1 == null) </p><p>  setContentView(webView); </p><p><b&g

96、t;  else </b></p><p>  setContentView(webView1); </p><p><b>  } </b></p><p><b>  }; </b></p><p>  WebView webView = null; }<

97、;/p><p> ?。?)在這個(gè)項(xiàng)目中,我們項(xiàng)目組主要采用了MVC的設(shè)計(jì)模式,MVC英文即Model-View-Controller</p><p>  視圖(View) 與用戶(hù)交互的界面,對(duì)于Web應(yīng)用系統(tǒng)來(lái)說(shuō),可以是HTML頁(yè)面、JSP 、XML和Applet等。</p><p>  控制(Controller)接收用戶(hù)請(qǐng)求, 根據(jù)用戶(hù)不同請(qǐng)求去調(diào)用不同模型,再根據(jù)

98、調(diào)用的不同結(jié)果跳轉(zhuǎn)到響應(yīng)的視圖,它是應(yīng)用系統(tǒng)的CUP,是調(diào)度中心。模型(Model)它是業(yè)務(wù)邏輯層,是業(yè)務(wù)邏輯處理的核心。這么來(lái)設(shè)計(jì)就是為了把表示層和下面的業(yè)務(wù)邏輯層和數(shù)據(jù)持久層分開(kāi)。這么可以使層次更加分明,使得分工更加明確。大部分用過(guò)程語(yǔ)言比如ASP、PHP開(kāi)發(fā)出來(lái)的Web應(yīng)用,初始的開(kāi)發(fā)模板就是混合層的數(shù)據(jù)編程。例如,直接向數(shù)據(jù)庫(kù)發(fā)送請(qǐng)求并用 HTML顯示,開(kāi)發(fā)速度往往比較快,但由于數(shù)據(jù)頁(yè)面的分離不是很直接,因而很難體現(xiàn)出業(yè)務(wù)模型的

99、樣子或者模型的重用性。產(chǎn)品設(shè)計(jì)彈性力度很小,很難滿(mǎn)足用戶(hù)的變化性需求。MVC要求對(duì)應(yīng)用分層,雖然要花費(fèi)額外的工作,但產(chǎn)品的結(jié)構(gòu)清晰,產(chǎn)品的應(yīng)用通過(guò)模型可以得到更好地體現(xiàn)。下面我們可以用圖表看一下他們具體之間的關(guān)系:</p><p>  而且struts2框架技術(shù)就是很好的實(shí)現(xiàn)MVC的設(shè)計(jì)模式的一種,在我們項(xiàng)目的中的搜索模塊中就采用了這種模式,下面我來(lái)詳細(xì)地說(shuō)明我們是怎么樣實(shí)現(xiàn)的。</p><p

100、> ?。?)首先我們來(lái)看VIEW(視圖)的東西,在這里我們主要用JSP來(lái)開(kāi)發(fā)界面,下面搜索頁(yè)面的核心代碼:</p><p>  <s:form action="Search" theme="simple"></p><p>  <table width="373" border="0"

101、cellspacing="0" cellpadding="0"height="89"></p><p><b>  <tr></b></p><p>  <td width="195" height="89" align="left&q

102、uot; class="text1"><font size="2"></p><p>  請(qǐng)輸入要查信息(如手機(jī)型號(hào)):</p><p>  </font></td></p><p>  <td width="127"></p><

103、p><b>  <label></b></p><p>  <s:textfield name="usersearch" cssClass="textfield" /></p><p><b>  </label></b></p><p>&

104、lt;b>  </td></b></p><p>  <td width="51"></p><p>  <input type="submit" name="Submit" value="搜索" /></td></p><p

105、>  </tr></table></s:form></p><p> ?。?)從手機(jī)客戶(hù)端加載的信息通過(guò)Controller(在這里就是struts.xml文件)進(jìn)行判斷,通過(guò)判斷我們可以得知是class="com.eorient.web.UserSearch"(即Action為UserSearch)來(lái)進(jìn)行數(shù)據(jù)的相關(guān)處理。那么下面我們就來(lái)看一下的Use

106、rSearch.java(在這里就是MVC中的模板)文件是怎么處理的。其核心代碼如下:</p><p>  public class UserSearch implements Action {</p><p>  private List list;</p><p>  public List getList() {</p><p>  r

107、eturn list;</p><p><b>  }</b></p><p>  public void setList(List list) {</p><p>  this.list = list;</p><p><b>  }</b></p><p>  publi

108、c String execute() throws Exception {</p><p>  Database user = new Database();</p><p>  //Map userget = new HashMap();</p><p>  list = user.search(usersearch);</p><p>

109、  if (list.equals(null)){</p><p>  return INPUT;</p><p><b>  }else{</b></p><p>  return SUCCESS;</p><p><b>  }</b></p><p><b>

110、  }</b></p><p>  private String usersearch;</p><p>  public String getUsersearch() {</p><p>  return usersearch;</p><p><b>  }</b></p><p>

111、;  public void setUsersearch(String usersearch) {</p><p>  this.usersearch = usersearch;</p><p><b>  }</b></p><p><b>  }</b></p><p>  其中代碼中用到了列表

112、List和實(shí)例化了Database類(lèi)的一個(gè)對(duì)象user,在這里我要解釋一下,對(duì)象user調(diào)用了Database類(lèi)中的search()方法,而這個(gè)方法的返回值就是一個(gè)列表LIST。其中在Database中實(shí)現(xiàn)了對(duì)數(shù)據(jù)持久層的封裝,在本類(lèi)只需實(shí)例化Database的一個(gè)對(duì)象user,通過(guò)user來(lái)調(diào)用實(shí)現(xiàn)了對(duì)數(shù)據(jù)持久層的封裝的方法search()方法,具體的search()方法是如何實(shí)現(xiàn)的,我們可以看一下其核心的代碼,代碼如下:</p

113、><p>  public List search(String name) { </p><p>  Connection conn = null; </p><p>  Statement stmt = null;

114、</p><p>  Map user = new HashMap();</p><p>  List list = new ArrayList();</p><p>  // 1.加載驅(qū)動(dòng)程序 </p><p>  try {

115、 </p><p>  conn = DBHelper.getDBConnection(); </p><p>  // 3.創(chuàng)建語(yǔ)句對(duì)象

116、 </p><p>  stmt = conn.createStatement(); </p><p>  // 4.執(zhí)行SQL語(yǔ)句 </p><p>  ResultSet rs = s

117、tmt </p><p>  .executeQuery("select productType,productName,ProductInfo from productinfo where productType like '%"</p><p>  + name +

118、"%'"); </p><p>  while (rs.next()) { </p><p>  Productinfo bean = new Productinfo();</p>

119、<p>  bean.setProductType(rs.getString("productType"));</p><p>  bean.setProductName(rs.getString("productName"));</p><p>  bean.setProductInfo(rs.getString("Prod

120、uctInfo"));</p><p>  list.add(bean);</p><p><b>  } </b></p><p>  return list;</p><p>  } catch (ClassNotFoundException e) {

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論