基于android平臺(tái)的移動(dòng)電子商務(wù)客戶端設(shè)計(jì)與實(shí)現(xiàn)_第1頁(yè)
已閱讀1頁(yè),還剩40頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、<p><b>  本科生畢業(yè)論文</b></p><p>  題 目: 基于Android平臺(tái)的移動(dòng)電子 </p><p>  商務(wù)客戶端設(shè)計(jì)與實(shí)現(xiàn) </p><p>  系 別: </p><p>  專 業(yè): </p>

2、;<p>  學(xué) 號(hào): </p><p>  姓 名: </p><p>  指導(dǎo)教師: </p><p>  完成時(shí)間: </p><p><b>  摘要</

3、b></p><p>  隨著移動(dòng)電子商務(wù)的快速發(fā)展,傳統(tǒng)互聯(lián)網(wǎng)企業(yè)的移動(dòng)化是現(xiàn)在和未來(lái)的一種必然趨勢(shì)。該論文講述針對(duì)基于Android平臺(tái)的移動(dòng)電子商務(wù)平臺(tái)的移動(dòng)電子商務(wù)客戶端設(shè)計(jì)與實(shí)現(xiàn)。</p><p>  設(shè)計(jì)實(shí)現(xiàn)了一個(gè)電子商務(wù)網(wǎng)站的智能手機(jī)應(yīng)用。</p><p>  該論文主要從Android端APP的分析,設(shè)計(jì)和開發(fā)的全部過(guò)程。結(jié)合數(shù)據(jù)流圖,ER圖,

4、程序流程圖等對(duì)系統(tǒng)的設(shè)計(jì)過(guò)程進(jìn)行詳盡的描述。本文共分成緒論、需求分析、程序分析、詳細(xì)設(shè)計(jì)、代碼的編碼等著幾個(gè)部分。該系統(tǒng)采用的是C/S的開發(fā)模式,開發(fā)語(yǔ)言是JAVA語(yǔ)言,主要使用的開發(fā)工具是Eclipse 4.2以及Google的Android開發(fā)插件ADT22.0。</p><p>  關(guān)鍵字:android,java,智能,電子商務(wù),移動(dòng)互聯(lián)網(wǎng),移動(dòng)購(gòu)物,C/S開發(fā)模式</p><p>

5、;<b>  ABSTRACT</b></p><p>  With the rapid development of mobile e-commerce, mobile and traditional Internet business now and in the future an inevitable trend. The paper describes the platform f

6、or android based mobile e-commerce platform for mobile e-commerce clients design and implementation.</p><p>  The thesis of APP from the Android side analysis, design and development of the whole process. Co

7、mbines data flow diagram, ER diagram, process flow chart of the system design process detailed description. This paper is divided into an introduction, needs analysis, program analysis, detailed design, code, coding wait

8、ed several parts. The system uses the C / S development model, development of language is JAVA language, the main use of development tools is Eclipse 4.2 and Google's Android developm</p><p>  Key Words:

9、 android, java, intelligence, e-commerce, mobile Internet, mobile shopping, C / S development model</p><p><b>  目錄</b></p><p><b>  摘要2</b></p><p>  ABSTRAC

10、T3</p><p><b>  目錄4</b></p><p><b>  1緒論6</b></p><p>  1.1課題背景6</p><p>  1.2課題的意義6</p><p>  1.3開發(fā)工具、開發(fā)語(yǔ)言的選用及介紹7</p>

11、<p>  1.3.1開發(fā)工具7</p><p>  1.3.2JAVA語(yǔ)言7</p><p>  2Android平臺(tái)簡(jiǎn)介8</p><p>  2.1系統(tǒng)簡(jiǎn)介8</p><p>  2.2系統(tǒng)層次架構(gòu)8</p><p>  2.2.1應(yīng)用程序?qū)?</p><p&

12、gt;  2.2.2應(yīng)用程序框架層9</p><p>  2.2.3Android運(yùn)行時(shí)庫(kù)與其他庫(kù)9</p><p>  2.2.4Linux內(nèi)核層10</p><p><b>  3系統(tǒng)分析11</b></p><p>  3.1可行性分析11</p><p>  3.2需

13、求分析11</p><p>  4系統(tǒng)總體設(shè)計(jì)12</p><p>  4.1框架設(shè)計(jì)12</p><p>  4.2首頁(yè)設(shè)計(jì)13</p><p>  4.3分類設(shè)計(jì)14</p><p>  4.4購(gòu)物車設(shè)計(jì)14</p><p>  4.5會(huì)員中心設(shè)計(jì)15</p&

14、gt;<p>  4.6更多設(shè)計(jì)16</p><p>  4.7系統(tǒng)模塊化設(shè)計(jì)17</p><p><b>  5詳細(xì)設(shè)計(jì)19</b></p><p>  5.1首頁(yè)設(shè)計(jì)19</p><p>  5.1.1首頁(yè)默認(rèn)頁(yè)面設(shè)計(jì)19</p><p>  5.1.2首頁(yè)

15、右劃頁(yè)面設(shè)計(jì)20</p><p>  5.2分類設(shè)計(jì)21</p><p>  5.3購(gòu)物車設(shè)計(jì)24</p><p>  5.3.1有商品情況的設(shè)計(jì)24</p><p>  5.3.2無(wú)商品情況的設(shè)計(jì)28</p><p>  5.4會(huì)員中心設(shè)計(jì)29</p><p>  5.4

16、.1頭像部分設(shè)計(jì)30</p><p>  5.4.2交易管理30</p><p>  5.4.3我的特權(quán)30</p><p>  5.4.4賬號(hào)管理31</p><p>  5.5“更多”設(shè)計(jì)31</p><p>  5.6搜索設(shè)計(jì)33</p><p>  5.7菜單鍵

17、設(shè)計(jì)36</p><p><b>  結(jié)論40</b></p><p><b>  參考文獻(xiàn)41</b></p><p><b>  致謝42</b></p><p><b>  緒論</b></p><p><b&g

18、t;  課題背景</b></p><p>  隨著寬帶無(wú)線接入技術(shù)和移動(dòng)終端技術(shù)的飛速發(fā)展,伴隨著移動(dòng)智能終端的快速普及,人們迫切希望能夠隨時(shí)隨地乃至在移動(dòng)過(guò)程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務(wù),移動(dòng)互聯(lián)網(wǎng)應(yīng)運(yùn)而生并迅猛發(fā)展。其中移動(dòng)電子商務(wù)領(lǐng)是移動(dòng)互聯(lián)網(wǎng)重大組成領(lǐng)域之一。移動(dòng)電子商務(wù)就是利用手機(jī)、PDA及掌上電腦等無(wú)線終端進(jìn)行的B2B、B2C或C2C的電子商務(wù)。它將因特網(wǎng)、移動(dòng)通信技術(shù)、短距離通信技

19、術(shù)及其它信息處理技術(shù)完美的結(jié)合,使人們可以在任何時(shí)間、任何地點(diǎn)進(jìn)行各種商貿(mào)活動(dòng),實(shí)現(xiàn)隨時(shí)隨地、線上線下的購(gòu)物與交易、在線電子支付以及各種交易活動(dòng)、商務(wù)活動(dòng)、金融活動(dòng)和相關(guān)的綜合服務(wù)活動(dòng)等。移動(dòng)電子商務(wù)的突飛猛進(jìn),帶來(lái)的是該領(lǐng)域的支持產(chǎn)業(yè)之一軟件服務(wù)的快速變革。很多傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)業(yè)主動(dòng)或者被動(dòng)進(jìn)行布局移動(dòng)互聯(lián)網(wǎng)。Google公司的android平臺(tái)是目前各大主流的移動(dòng)操作系統(tǒng)之一。緊隨其后的是蘋果公司的IOS平臺(tái)。這兩個(gè)平臺(tái)的市場(chǎng)占有率達(dá)

20、到了91.1%以上。所以該論文講述針對(duì)基于android平臺(tái)的移動(dòng)電子商務(wù)平臺(tái)的移動(dòng)電子商務(wù)客戶端設(shè)計(jì)與實(shí)現(xiàn)。</p><p>  移動(dòng)電子商務(wù)以及得到了快速的發(fā)展。例如當(dāng)當(dāng)網(wǎng)在2013年第一季度移動(dòng)端的交易量與傳統(tǒng)PC互聯(lián)網(wǎng)交易量的比例是1:3。移動(dòng)電子商務(wù)目前還處于強(qiáng)勁增長(zhǎng)趨勢(shì)。傳統(tǒng)互聯(lián)網(wǎng)企業(yè)大部分已經(jīng)向移動(dòng)端轉(zhuǎn)移。以傳統(tǒng)的運(yùn)動(dòng)服裝業(yè)領(lǐng)軍企業(yè)之一的特步為例。移動(dòng)智能設(shè)備的交易比例正在呈現(xiàn)不斷上漲的趨勢(shì)。移動(dòng)電

21、子商務(wù)比傳統(tǒng)企業(yè)相比,在成本優(yōu)勢(shì)上非常明顯。所以本課題選用的設(shè)計(jì)和實(shí)現(xiàn)高性能的移動(dòng)電子商務(wù)APP為研究課題。</p><p><b>  課題的意義</b></p><p>  設(shè)計(jì)高效的移動(dòng)智能端APP能夠提升用戶使用移動(dòng)端的購(gòu)物體驗(yàn)。都死實(shí)現(xiàn)相同功能的APP,良好的界面,流暢的操作能夠給消費(fèi)者良好的購(gòu)物體驗(yàn),同時(shí)也是提升企業(yè)品牌的重要手段之一。</p>

22、<p>  一個(gè)APP要具備的功能不僅僅是實(shí)現(xiàn)了它的功能,如果沒(méi)有一個(gè)良好的用戶接口,將對(duì)該APP的使用率大打折扣。用戶體驗(yàn)主要體現(xiàn)在兩個(gè)方面,一是用戶感受到的軟件的性能,比如操作的反應(yīng)速度,另一方面是軟件的界面,良好的界面能夠感知良好的。</p><p>  以當(dāng)當(dāng)網(wǎng)為例,當(dāng)當(dāng)網(wǎng)在2013年第一季度中移動(dòng)端的交易量占到總交易量的三分之一,并且處于不斷增長(zhǎng)的勢(shì)頭。雖然目前還沒(méi)有到完全取代的地步,傳統(tǒng)

23、企業(yè)的向移動(dòng)化轉(zhuǎn)型是必然的趨勢(shì)。</p><p>  開發(fā)工具、開發(fā)語(yǔ)言的選用及介紹</p><p><b>  開發(fā)工具</b></p><p>  設(shè)計(jì)和實(shí)現(xiàn)該系統(tǒng)主要要用到的工具是Balsamiq Mockups、Eclipse和android系統(tǒng)手機(jī)或者是想要的模擬器。其中BM主要的用途是用作原型圖的設(shè)計(jì),當(dāng)需求基本確定的時(shí)候,根據(jù)相應(yīng)

24、的需求繪制出原型圖。Eclipse主要功能是編寫代碼并且調(diào)試程序。Android手機(jī)或者模擬器主要的作用是調(diào)試程序,顯示出程序的運(yùn)行效果。</p><p><b>  JAVA語(yǔ)言</b></p><p>  Java 編程語(yǔ)言是個(gè)簡(jiǎn)單、面向?qū)ο蟆⒎植际?、解釋性、健壯、安全與系統(tǒng)無(wú)關(guān)、可移植、高性能、多線程和動(dòng)態(tài)的語(yǔ)言。</p><p>  J

25、ava編程語(yǔ)言的風(fēng)格十分接近C、C++語(yǔ)言。Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語(yǔ)言,它繼承了 C++語(yǔ)言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語(yǔ)言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對(duì)象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java 1.5 版本中,Java 又引入了泛型編程(Generic

26、Programming)、類型安全的枚舉、不定長(zhǎng)參數(shù)和自動(dòng)裝/拆箱等語(yǔ)言特性。</p><p>  Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語(yǔ)言和解釋執(zhí)行計(jì)算機(jī)語(yǔ)言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺(tái)上的虛擬機(jī)來(lái)解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺(tái)特性。不過(guò),每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的運(yùn)行效率。&l

27、t;/p><p>  Android平臺(tái)簡(jiǎn)介</p><p><b>  系統(tǒng)簡(jiǎn)介</b></p><p>  Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動(dòng)設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國(guó)大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初

28、由Andy Rubin開發(fā),主要支持手機(jī)。2005年8月由Google收購(gòu)注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營(yíng)運(yùn)商組建開放手機(jī)聯(lián)盟共同研發(fā)改良Android系統(tǒng)。隨后Google以Apache開源許可證的授權(quán)方式,發(fā)布了Android的源代碼。第一部Android智能手機(jī)發(fā)布于2008年10月。Android逐漸擴(kuò)展到平板電腦及其他領(lǐng)域上,如電視、數(shù)碼相機(jī)、游戲機(jī)等。2011年第一季度,Androi

29、d在全球的市場(chǎng)份額首次超過(guò)塞班系統(tǒng),躍居全球第一。 2012年11月數(shù)據(jù)顯示,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場(chǎng)76%的份額,中國(guó)市場(chǎng)占有率為90%。</p><p><b>  系統(tǒng)層次架構(gòu)</b></p><p>  Android系統(tǒng)包括了移動(dòng)電話所需的全部軟件,由操作系統(tǒng)、中間件、UI(UserInterface)及應(yīng)用程序組成。開發(fā)人員使用Java語(yǔ)

30、言,開發(fā)運(yùn)行于Dalvik虛擬機(jī)上的應(yīng)用程序。其運(yùn)行效率比一般嵌入式“l(fā)inux操作系統(tǒng)上的J2ME程序高。Android系統(tǒng)架構(gòu)自底向上由以下4個(gè)層次組成:基于Linux的內(nèi)核模塊、運(yùn)行時(shí)庫(kù)與其他庫(kù)、應(yīng)用程序框架、應(yīng)用程序。</p><p><b>  應(yīng)用程序?qū)?lt;/b></p><p>  Android會(huì)同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,S

31、MS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語(yǔ)言編寫的。</p><p><b>  應(yīng)用程序框架層</b></p><p>  開發(fā)人員也可以完全訪問(wèn)核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡(jiǎn)化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過(guò)得遵循框架的安全性

32、)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。</p><p>  隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括;</p><p>  豐富而又可擴(kuò)展的視圖(Views),可以用來(lái)構(gòu)建應(yīng)用程序, 它包括列表(Lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(Buttons), 甚至可嵌入的web瀏覽器。</p><p> 

33、 內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪問(wèn)另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫(kù)), 或者共享它們自己的數(shù)據(jù)</p><p>  資源管理器(Resource Manager)提供 非代碼資源的訪問(wèn),如本地字符串,圖形,和布局文件(Layout files )。</p><p>  通知管理器 (Notification Manager) 使得應(yīng)用程序可以在狀態(tài)欄

34、中顯示自定義的提示信息。</p><p>  活動(dòng)管理器(Activity Manager) 用來(lái)管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。</p><p>  Android運(yùn)行時(shí)庫(kù)與其他庫(kù)</p><p>  Android 包含一些C/C++庫(kù),這些庫(kù)能被Android系統(tǒng)中不同的組件使用。它們通過(guò) Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些

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

36、/p><p>  Surface Manager:對(duì)顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提 供了2D和3D圖層的無(wú)縫融合。</p><p>  LibWebCore:一個(gè)最新的web瀏覽器引擎用,支持Android瀏覽器和一個(gè)可嵌入的web視圖。</p><p><b>  Linux內(nèi)核層</b></p><p>  An

37、droid基于Linux操作系統(tǒng),由硬件、系統(tǒng)內(nèi)核、系統(tǒng)服務(wù)和應(yīng)用程序等四大部分組成。其中,內(nèi)核(Kerne1)是最核心的部分。其主要作用在于與計(jì)算機(jī)硬件進(jìn)行交互,實(shí)現(xiàn)對(duì)硬件的編程控制和接口操作。調(diào)度訪問(wèn)硬件資源,同時(shí)向應(yīng)用程序提供一個(gè)高級(jí)的執(zhí)行環(huán)境和對(duì)硬件的虛擬接口。主要功能包括:中斷服務(wù)程序、進(jìn)程調(diào)度程序、進(jìn)程地址空間的內(nèi)存管理、進(jìn)程間通信。內(nèi)核與普通應(yīng)用程序不同,其擁有所有硬件設(shè)備的訪問(wèn)權(quán)限以及啟動(dòng)時(shí)即劃分的受保護(hù)的內(nèi)存空間。&l

38、t;/p><p>  和標(biāo)準(zhǔn)的Linux內(nèi)核一樣,Android內(nèi)核主要實(shí)現(xiàn)內(nèi)存管理、進(jìn)程調(diào)度、進(jìn)程間通信等功能。Android內(nèi)核是在標(biāo)準(zhǔn)Linux內(nèi)核的基礎(chǔ)上修改而成。為了適應(yīng)嵌入式硬件環(huán)境和移動(dòng)應(yīng)用程序的開發(fā)。Android對(duì)標(biāo)準(zhǔn)Linux內(nèi)核進(jìn)行了一定的修改。為了對(duì)比分析Android內(nèi)核,在Ubuntu操作系統(tǒng)上搭建了Android內(nèi)核的編譯開發(fā)平臺(tái),通過(guò)repo,下載最新的Android內(nèi)核代碼版本cup

39、cake從獲得的內(nèi)核源碼樹的根目錄結(jié)構(gòu)看,Android內(nèi)核源碼與標(biāo)準(zhǔn)Linux內(nèi)核并無(wú)不同。 </p><p><b>  系統(tǒng)分析</b></p><p>  系統(tǒng)分析包含兩個(gè)內(nèi)容,一是可行性分析,另一個(gè)是需求分析。開發(fā)APP之前必須進(jìn)行充分的分析。只有通過(guò)充分分析后再做設(shè)計(jì)才能是后續(xù)工作更加順利??尚行苑治鍪菫榱伺宄到y(tǒng)開發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的

40、過(guò)程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的。需求分析是搞清楚APP要做什么,只有知道要做什么才能使開發(fā)出來(lái)的APP符合用戶的需求。</p><p><b>  可行性分析</b></p><p>  經(jīng)濟(jì)可行性:該APP的設(shè)計(jì)開發(fā)需要一定的時(shí)間成本,由于完成該APP主要是利用了一些閑余時(shí)間進(jìn)行開發(fā)的,時(shí)間成本可以忽視不記。由于APP的美工部分是認(rèn)識(shí)的朋友幫忙設(shè)計(jì)的,所

41、以這點(diǎn)成本也可以相對(duì)忽略不計(jì),所以自己個(gè)人投入的各種成本可以忽略不計(jì),這點(diǎn)是可行的。由于開發(fā)該APP所使用的開發(fā)工具是自己的Android智能手機(jī)和一些開源的開發(fā)工具Eclipse和Google的ADT開發(fā)插件。所以開發(fā)工具上沒(méi)有相應(yīng)的費(fèi)用投入??傮w來(lái)說(shuō)該APP的開發(fā)在人力、物力和財(cái)力的投入上是可行的,所以經(jīng)濟(jì)方面是可行的。</p><p>  技術(shù)可行性:開發(fā)該APP主要要用到的語(yǔ)言是JAVA,由于本人在大學(xué)期

42、間較早自學(xué)了JAVA編程語(yǔ)言,能夠勝任一些大部分的功能開發(fā)。如果遇到相對(duì)較難的技術(shù)難點(diǎn)。可以通過(guò)網(wǎng)絡(luò)或者專業(yè)書的方式來(lái)提供解決方案。目前來(lái)說(shuō)android技術(shù)已經(jīng)是相對(duì)成熟的開發(fā)技術(shù)。所以在技術(shù)方面是可行的。</p><p>  法律可行性:由于android系統(tǒng)開源系統(tǒng),只要符合google的相關(guān)的服務(wù)條款任何人都可以免費(fèi)獲取。該APP的開發(fā)已經(jīng)經(jīng)過(guò)各方權(quán)利所有人的授權(quán),在法律上不構(gòu)成任何的侵權(quán),在法律上是可行

43、的。</p><p><b>  需求分析</b></p><p>  根據(jù)客戶需求,該APP主要是實(shí)現(xiàn)的功能是將客戶網(wǎng)站的相應(yīng)功能進(jìn)行技術(shù)上的轉(zhuǎn)移,將傳統(tǒng)網(wǎng)頁(yè)上的功能轉(zhuǎn)移到相應(yīng)的移動(dòng)客戶端。所有的相關(guān)需求通過(guò)需求文檔的方式進(jìn)行確定。</p><p><b>  系統(tǒng)總體設(shè)計(jì)</b></p><p>

44、;  由于該APP總體上功能繁多,如何設(shè)計(jì)界面優(yōu)美且高效的APP是一種設(shè)計(jì)上的挑戰(zhàn)。設(shè)計(jì)主要考慮一下幾個(gè)方面:</p><p>  用戶體驗(yàn)。良好的用戶體驗(yàn)主要表現(xiàn)在兩個(gè)方面,一是總體的UI風(fēng)格,另一個(gè)方面是用戶操作時(shí)的感受到的流暢度、完整度和方便性。UI風(fēng)格應(yīng)該與WEB端的界面風(fēng)格保持一致,這樣可以減弱消費(fèi)者的警惕性。風(fēng)格一致還可以是移動(dòng)端和WEB端更加具有一致性和整體性。</p><p&g

45、t;  APP運(yùn)行效率。在最短的時(shí)間內(nèi)完成用戶所要做的操作,盡量減少APP反應(yīng)的滯后。要實(shí)現(xiàn)這點(diǎn),可以通過(guò)兩個(gè)方面來(lái)提升:一是減少網(wǎng)絡(luò)數(shù)據(jù)傳輸?shù)难舆t性。另一個(gè)是在完成相應(yīng)功能的前提下減少APP所要做的操作,避免一些不必要的操作。</p><p>  代碼的效率。良好的編程習(xí)慣是編寫高效代碼的基本功。代碼應(yīng)該少而優(yōu)。代碼必須具備一定的健壯性、安全性和高效性。</p><p><b>

46、;  框架設(shè)計(jì)</b></p><p>  該APP的框架主要依靠功能的劃分進(jìn)行設(shè)計(jì)的。首先分成五大部分,分別是:首頁(yè)、分類、購(gòu)物車、會(huì)員中心、更多。</p><p>  首頁(yè)主要組成部分有:首頁(yè)頭部廣告區(qū)、功效專區(qū)、固定功能菜單、四大專區(qū)、買家說(shuō)說(shuō)、搜索。首頁(yè)右劃區(qū)的組成界面是:美妝時(shí)尚。</p><p>  分類部分主要有兩個(gè)部分組成。一個(gè)是有二級(jí)子

47、目錄的選項(xiàng),一種是指向單個(gè)功效商品的選項(xiàng)。</p><p>  購(gòu)物車的主要組成部分是:顯示購(gòu)物車數(shù)量的詳情,其中包括顯示商品的數(shù)量、購(gòu)物車中總的費(fèi)用以及列出所購(gòu)商品的基本詳情。當(dāng)購(gòu)物車中的數(shù)量為空的時(shí)候,顯示購(gòu)物車為空,還顯示最近的瀏覽記錄。</p><p>  會(huì)員中心的主要組成部分是:個(gè)人基本信息、交易管理、我的特權(quán)、賬號(hào)管理和結(jié)算。其中交易管理的只能夠有:我的訂單、物流管理、正品查

48、詢、我的優(yōu)惠券、我的收藏夾。我的特權(quán)部分包括:VIP特賣、生日優(yōu)惠券。賬號(hào)管理包括:個(gè)人資料的修改、修改密碼、收貨地址的管理、微博同步設(shè)置。</p><p>  更多部分組成部分是:客服熱線、檢查更新、清除緩存、使用幫助、關(guān)于。</p><p>  從圖 4-1 可以比較明了的看出各個(gè)功能結(jié)構(gòu)</p><p>  圖4-1 功能模塊圖</p><

49、p><b>  首頁(yè)設(shè)計(jì)</b></p><p>  首頁(yè)分成兩個(gè)部分。一個(gè)是默認(rèn)的首頁(yè)部分,另一個(gè)部分是首頁(yè)右劃部分。</p><p>  默認(rèn)的首頁(yè)部分主要分為廣告區(qū)、功效專區(qū)、常用菜單區(qū)、四大專區(qū)和買家說(shuō)說(shuō)。</p><p>  首頁(yè)右劃部分只有一個(gè)功能,就是美妝說(shuō)說(shuō)。</p><p>  廣告區(qū):可以根據(jù)后

50、臺(tái)的提供的字段type改變點(diǎn)擊后跳轉(zhuǎn)的去處。如果選項(xiàng)包含的type字段的值是keyword則跳轉(zhuǎn)到具體的商品詳情界面。如果type字段的值是pop_id則跳轉(zhuǎn)到產(chǎn)品列表。</p><p>  功效專區(qū):該區(qū)主要處理的事情是根據(jù)產(chǎn)品的功效設(shè)置相應(yīng)的專區(qū),如面膜專區(qū)、彩妝專區(qū)、護(hù)膚專區(qū)。點(diǎn)擊該區(qū)域?qū)⒏鶕?jù)選項(xiàng)中包含的brand_id進(jìn)行遠(yuǎn)程數(shù)據(jù)請(qǐng)求,解析返回的數(shù)據(jù)后進(jìn)入產(chǎn)品列表。</p><p>

51、;  常用菜單區(qū):該區(qū)有四個(gè)常用的功能按鈕。分別是物流查詢、防偽驗(yàn)證、收藏夾、簽到中心。</p><p>  四大專區(qū):分別是VIP俱樂(lè)部、限時(shí)特賣、爆款推薦、超值套裝。</p><p>  買家說(shuō)說(shuō)只顯示五條評(píng)價(jià)最多的記錄。</p><p>  首頁(yè)右劃部分只有美妝時(shí)尚一個(gè)列表。點(diǎn)擊列表選項(xiàng)進(jìn)入到商品詳情頁(yè)面。</p><p>  圖4-2

52、 首頁(yè)功能模塊圖</p><p><b>  分類設(shè)計(jì)</b></p><p>  對(duì)于一個(gè)電子商務(wù)類的APP,其分類功能是很重要的一項(xiàng)。它能將消費(fèi)者的購(gòu)買欲轉(zhuǎn)化成實(shí)實(shí)在在的訂單,所以分類功能在導(dǎo)航菜單中占有一席之地。一個(gè)分類設(shè)計(jì)的好壞也是直接影響到用戶的體驗(yàn)。一個(gè)良好的分類設(shè)計(jì)能夠簡(jiǎn)單快速準(zhǔn)確的定位消費(fèi)者的需求。</p><p>  該APP

53、的分類設(shè)計(jì)分成兩個(gè)部分。一個(gè)是有二級(jí)子目錄的選項(xiàng),一種是指向單個(gè)功效商品的選項(xiàng)。點(diǎn)擊一級(jí)菜單展開二級(jí)菜單。目前設(shè)計(jì)的菜單的最深級(jí)別就是二級(jí)菜單。到了二級(jí)菜單再點(diǎn)擊就進(jìn)入了商品列表或者商品詳情。</p><p><b>  購(gòu)物車設(shè)計(jì)</b></p><p>  該APP的購(gòu)物車采用離線方式。這樣設(shè)計(jì)的原因是考慮到流量的限制問(wèn)題。由于該APP要顯示較多的流量。所以在一些

54、不是很重要的地方盡量減少與遠(yuǎn)程服務(wù)器的交互。</p><p>  購(gòu)物車有兩種情況。一種情況是購(gòu)物車中有商品,另一種是購(gòu)物車為空。</p><p><b>  這兩種顯示的。</b></p><p>  購(gòu)物車中有商品時(shí)。要顯示商品的數(shù)量、總費(fèi)用以及具體的商品列表。商品列表顯示商品的圖片、名稱、價(jià)格、數(shù)量、原價(jià)以及對(duì)數(shù)量增加的按鈕和刪除該商品的

55、按鈕。</p><p>  購(gòu)物車中無(wú)商品時(shí)。提示目前的購(gòu)物車是為空,引導(dǎo)用戶去首頁(yè)逛逛。同時(shí)增加了瀏覽記錄,方便消費(fèi)者查找瀏覽過(guò)得商品。</p><p><b>  會(huì)員中心設(shè)計(jì)</b></p><p>  會(huì)員中心是導(dǎo)航菜單欄中最復(fù)雜的一個(gè)。主要功能繁多。會(huì)員中心主要分成四個(gè)部分。分別是個(gè)人信息、交易管理、我的特權(quán)和賬號(hào)管理。</p&

56、gt;<p>  個(gè)人信息。個(gè)人信息主要顯示一些基本的會(huì)員信息。</p><p>  交易管理。交易管理分為我的訂單、物流管理、正品驗(yàn)證、我的優(yōu)惠券、我的收藏夾。我的訂單主要處理三個(gè)功能,正在進(jìn)行的訂單、已經(jīng)完成訂單、已經(jīng)取消三大功能。物流管理處理的根據(jù)訂單號(hào)查詢物流和根據(jù)手機(jī)號(hào)碼查詢物流。正品驗(yàn)證處理的是查詢商品是否為正品。我的優(yōu)惠券主要負(fù)責(zé)管理會(huì)員的各種訂單。</p><p&

57、gt;  我的特權(quán)。我的特權(quán)有兩項(xiàng),一項(xiàng)是VIP特賣,另一項(xiàng)是生日特權(quán)。VIP特賣是正對(duì)不同等級(jí)的會(huì)員享受不同的購(gòu)物優(yōu)惠。生日特權(quán)是在會(huì)員生日的當(dāng)天有相應(yīng)的購(gòu)物優(yōu)惠。修改生日是一次性的。如果會(huì)員還沒(méi)有填寫生日,要提示信息不夠完善,并且跳轉(zhuǎn)到修改個(gè)人信息的界面。在修改界面中修改會(huì)員的生日信息。如果原先已有生日,則判斷今天是否是會(huì)員的生日。如果是可以領(lǐng)取相應(yīng)的生日優(yōu)惠券。</p><p>  賬號(hào)管理。賬號(hào)管理一般來(lái)

58、說(shuō)使用的頻率相對(duì)較低,所以放在最下面。雖然使用少,但是這些功能還是很重要的。賬號(hào)管理分為個(gè)人資料、修改密碼、收貨地址管理和微博同步設(shè)置。個(gè)人資料的主要作用是查看和修改個(gè)人信息資料。修改密碼指的是修改登錄密碼。收貨地址管理主要要實(shí)現(xiàn)的功能是添加、修改和刪除收貨地址。微博同步設(shè)置指調(diào)用新浪微博和騰訊微博的接口,可以用于登錄APP和分享購(gòu)物喜悅。</p><p>  圖4-5 會(huì)員中心功能結(jié)構(gòu)圖</p>

59、<p><b>  更多設(shè)計(jì)</b></p><p>  “更多”選項(xiàng)主要是一些輔助性功能的設(shè)置?!案唷边x項(xiàng)包含的主要功能有:客服熱線、檢測(cè)更新、清除緩存、使用幫助、關(guān)于。</p><p>  客服服務(wù)。該功能主要實(shí)現(xiàn)的是方便消費(fèi)者呼叫客服熱線。</p><p>  檢測(cè)更新。該APP設(shè)計(jì)的程序更新需要手動(dòng)點(diǎn)擊檢測(cè)更新。所以該功能的

60、是為了更新APP的版本,進(jìn)行升級(jí)優(yōu)化。Google的最新政策是不推薦使用APP自帶的升級(jí)功能,主要是處于安全性考慮。</p><p>  清除緩存。由于android手機(jī)的版本千差萬(wàn)別。一方面是手機(jī)的硬件配置也不盡相同。由于電子商務(wù)類的APP要進(jìn)行較多的圖片加載,所以造成大量的圖片緩存。清除這些大量的數(shù)據(jù)緩存有利于減輕手機(jī)的運(yùn)行負(fù)擔(dān),釋放出資源供其他APP使用。另一方面是因?yàn)樘幱诎踩[私的保護(hù)。將保持在手機(jī)上的個(gè)

61、人信息和APP設(shè)置信息進(jìn)行清除也是很有必要的。</p><p>  使用幫助。該功能主要是為了給一些新用戶進(jìn)行使用。用戶可以通過(guò)這種自助的服務(wù)幫助解決一些疑問(wèn)。</p><p>  關(guān)于。該模塊是為介紹一些企業(yè)信息和APP信息。</p><p>  圖4-6 更多模塊的功能結(jié)構(gòu)圖</p><p><b>  系統(tǒng)模塊化設(shè)計(jì)</

62、b></p><p>  模塊化是指解決一個(gè)復(fù)雜問(wèn)題時(shí)自上而下逐層將系統(tǒng)劃分成若干塊的過(guò)程。每一個(gè)模塊完成一個(gè)特定的功能,所有的模塊按某種方法組織起來(lái),成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。系統(tǒng)模塊劃分不能使任意,要遵循高內(nèi)聚低耦合的設(shè)計(jì)思路,應(yīng)盡量保持其獨(dú)立性。是為了降低系統(tǒng)和復(fù)雜性,提高可讀性、可維護(hù)性。也就是說(shuō),每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(lián)系最少且接口簡(jiǎn)單,盡量做到提高模

63、塊的獨(dú)立,為設(shè)計(jì)高質(zhì)量的系統(tǒng)結(jié)構(gòu)奠定基礎(chǔ)。</p><p>  系統(tǒng)模塊化設(shè)計(jì)的任務(wù)是劃分子系統(tǒng),然后確定子系統(tǒng)的模塊結(jié)構(gòu),并畫出模塊結(jié)構(gòu)圖。在這個(gè)過(guò)程中必須考慮以下幾個(gè)問(wèn)題:</p><p>  如何將一個(gè)系統(tǒng)劃分成多個(gè)子系統(tǒng)。</p><p>  每個(gè)子系統(tǒng)如何劃分成多個(gè)模塊。</p><p>  如何確定子系統(tǒng)之間、模塊之間傳遞的數(shù)據(jù)及

64、其調(diào)用關(guān)系。</p><p>  如何評(píng)價(jià)并改進(jìn)模塊結(jié)構(gòu)的質(zhì)量。</p><p>  該方法適合于軟件系統(tǒng)的總體設(shè)計(jì)和詳細(xì)設(shè)計(jì),特別是將一個(gè)復(fù)雜的系統(tǒng)轉(zhuǎn)換成模塊化結(jié)構(gòu)系統(tǒng),該方法具有它的優(yōu)勢(shì)。在使用過(guò)程中可以將結(jié)構(gòu)化設(shè)計(jì)方法與結(jié)構(gòu)化分析(SA)方法及編程階段的結(jié)構(gòu)化程序設(shè)計(jì)方法(SP)前后銜接起來(lái)。</p><p>  系統(tǒng)功能模塊的優(yōu)點(diǎn):</p>&

65、lt;p>  系統(tǒng)功能模塊劃分清晰,區(qū)別明顯,易于操作。</p><p>  操作界面友好,簡(jiǎn)單易懂適合不同層次的操作人員。</p><p>  子系統(tǒng)之間的數(shù)據(jù)交換操作簡(jiǎn)單、快捷。</p><p>  根據(jù)該系統(tǒng)的需求分析,設(shè)計(jì)可實(shí)現(xiàn)的模塊組織結(jié)構(gòu)。該APP的項(xiàng)目結(jié)構(gòu)如圖4-7。</p><p>  圖4-7 項(xiàng)目的結(jié)構(gòu)圖</p

66、><p><b>  詳細(xì)設(shè)計(jì)</b></p><p><b>  首頁(yè)設(shè)計(jì)</b></p><p><b>  首頁(yè)默認(rèn)頁(yè)面設(shè)計(jì)</b></p><p>  由于該模塊的子模塊較多,所以技術(shù)難點(diǎn)主要在與如果協(xié)調(diào)好各個(gè)子模塊之間的關(guān)系。該模塊也是該APP的難點(diǎn)之一。該模塊的核心代碼

67、是:</p><p>  HomeActivity.java</p><p>  private void getData() {</p><p>  // TODO Auto-generated method stub</p><p>  progressDialog.show();</p><p><b>

68、;  //加載四大專區(qū)</b></p><p>  fourAreaThread = new NetThread(ServerAPI.API_FOUR_AREA, null,</p><p>  FourAreaBean.class, handler, Constans.HOME_FOUR);</p><p>  fourAreaThread.start

69、();</p><p><b>  }</b></p><p>  private void getFashionData() {</p><p>  if (currentIndex == 0) {</p><p>  progressDialog.show();</p><p><b&g

70、t;  }</b></p><p>  fashionThread = null;</p><p>  fashUrl = ServerAPI.API_FASHION+ "&pageCount=" + pageCount + "&pageNo="</p><p><b>  + pageN

71、o;</b></p><p>  fashionThread = new NetThread(fashUrl, null, FashionBean.class,</p><p>  handler, Constans.HOME_FASHION);</p><p>  fashionThread.start();</p><p>&

72、lt;b>  }</b></p><p>  該模塊實(shí)際運(yùn)行效果如圖5-1-1。</p><p>  圖5-1-1 默認(rèn)首頁(yè)的實(shí)際運(yùn)行效果圖</p><p><b>  首頁(yè)右劃頁(yè)面設(shè)計(jì)</b></p><p>  首頁(yè)右劃部分和默認(rèn)頁(yè)面在同一個(gè)模塊下。該模塊功能較單一,如技術(shù)難點(diǎn)。該模塊的實(shí)際運(yùn)行效

73、果如圖5-1-2。</p><p>  圖5-1-2 首頁(yè)右劃實(shí)際運(yùn)行效果圖</p><p><b>  分類設(shè)計(jì)</b></p><p>  分類模塊相對(duì)設(shè)計(jì)單一,這模塊的難點(diǎn)是GridView視圖的顯示調(diào)試部分。實(shí)際運(yùn)行效果如圖5-2.</p><p><b>  核心代碼如下:</b><

74、/p><p>  CategoryActivity.java</p><p>  private void getData() {</p><p>  // TODO Auto-generated method stub</p><p>  progressDialog.show();</p><p>  netThrea

75、d = new NetThread(ServerAPI.API_CATEGORY, null,</p><p>  CategoryBean.class, handler, Constans.HANDLER_CATEGORY_RESULT);</p><p>  netThread.start();</p><p><b>  }</b><

76、;/p><p>  private Handler handler = new Handler() {</p><p>  public void handleMessage(Message msg) {</p><p>  super.handleMessage(msg);</p><p>  switch (msg.what) {</p

77、><p>  case Constans.HANDLER_CATEGORY_RESULT:</p><p>  CategoryBean bean = (CategoryBean) msg.obj;</p><p>  if (bean == null) {</p><p>  if(!BaseApp.checkNet(getApplicatio

78、nContext())){</p><p>  BaseApp.showToast(R.string.network_is_error);</p><p><b>  }else{</b></p><p>  BaseApp.showToast(R.string.sorry);</p><p><b>  }

79、</b></p><p><b>  } else {</b></p><p>  if (bean.status != 1) {</p><p>  BaseApp.showToast(bean.msg);</p><p><b>  } else {</b></p>&

80、lt;p>  categoryBean = bean;</p><p>  categoryGroupAdapter = new CategoryGroupAdapter(</p><p>  CategoryActivity.this, categoryBean,</p><p>  CategoryActivity.this);</p>&l

81、t;p>  expandableListView.setAdapter(categoryGroupAdapter);</p><p>  imagesThread = new ImagesThread(handler,</p><p>  categoryBean.getImages(),</p><p>  Constans.HANDLER_CATEGORY

82、_IMG);</p><p>  imagesThread.start();</p><p><b>  }</b></p><p><b>  }</b></p><p>  progressDialog.dismiss();</p><p><b>  brea

83、k;</b></p><p>  case Constans.HANDLER_CATEGORY_IMG:</p><p>  if (categoryGroupAdapter != null) {</p><p>  categoryGroupAdapter.notifyDataSetChanged();</p><p><

84、b>  }</b></p><p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }</b></p>&

85、lt;p><b>  }</b></p><p><b>  };</b></p><p><b>  }</b></p><p><b>  @Override</b></p><p>  public boolean onGroupClick(E

86、xpandableListView parent, View v,</p><p>  int groupPosition, long id) {</p><p>  // TODO Auto-generated method stub</p><p>  CategoryData parentCategoryData;</p><p>  

87、parentCategoryData=categoryBean.list.get(groupPosition);</p><p>  boolean bool = true;</p><p>  for (int i = 0; i < categoryBean.list.size(); i++) {</p><p>  CategoryData categor

88、yData = categoryBean.list.get(i);</p><p>  if (categoryData.parentId.equals(parentCategoryData.catId)){</p><p>  bool = false;</p><p><b>  break;</b></p><p>

89、;<b>  }</b></p><p><b>  }</b></p><p><b>  if(bool){</b></p><p>  Intent intent=new Intent(this,ProductActivity.class);</p><p>  inte

90、nt.putExtra("keyword","");</p><p>  intent.putExtra("title",parentCategoryData.catName);</p><p>  intent.putExtra("value",parentCategoryData.catId);</p

91、><p>  intent.putExtra("type",parentCategoryData.type);</p><p>  startActivity(intent);</p><p>  return true;</p><p><b>  }</b></p><p

92、>  if (expandFlag == -1) {</p><p>  expandableListView.expandGroup(groupPosition);</p><p>  expandableListView.setSelectedGroup(groupPosition);</p><p>  expandFlag = groupPositio

93、n;</p><p>  } else if (expandFlag == groupPosition) {</p><p>  expandableListView.collapseGroup(expandFlag);</p><p>  expandFlag = -1;</p><p><b>  } else {</b&

94、gt;</p><p>  expandableListView.collapseGroup(expandFlag);</p><p>  expandableListView.expandGroup(groupPosition);</p><p>  expandableListView.setSelectedGroup(groupPosition);</p

95、><p>  expandFlag = groupPosition;</p><p><b>  }</b></p><p>  return true;</p><p><b>  }</b></p><p><b>  @Override</b><

96、/p><p>  public void onItemClick(AdapterView<?> arg0, View arg1, int arg2, long arg3) </p><p>  // TODO Auto-generated method stub</p><p>  switch (arg0.getId()) {</p><

97、;p>  // 這是二級(jí)監(jiān)聽,點(diǎn)擊二級(jí)的時(shí)候才會(huì)用到</p><p>  case R.id.category_child_grid:</p><p>  CategoryData categoryData = (CategoryData) categoryGroupAdapter.categoryChildAdapter</p><p>  .getItem

98、(arg2);</p><p>  Intent intent = new Intent(CategoryActivity.this,</p><p>  ProductActivity.class);</p><p>  intent.putExtra("keyword","");</p><p> 

99、 intent.putExtra("title", categoryData.catName);</p><p>  intent.putExtra("value", categoryData.catId);</p><p>  intent.putExtra("type", categoryData.type);</p&g

100、t;<p>  startActivity(intent);</p><p><b>  break;</b></p><p><b>  default:</b></p><p><b>  break;</b></p><p><b>  }<

101、/b></p><p><b>  }</b></p><p>  圖5-2 分類模塊的實(shí)際運(yùn)行效果圖</p><p><b>  購(gòu)物車設(shè)計(jì)</b></p><p><b>  有商品情況的設(shè)計(jì)</b></p><p>  購(gòu)物車兩個(gè)邏輯模塊實(shí)際

102、上只有一個(gè)模塊。該模塊的主要難點(diǎn)在于如何較好的區(qū)別有商品和無(wú)商品的狀態(tài),并且要實(shí)時(shí)的根據(jù)數(shù)量或者其他來(lái)調(diào)整顯示的數(shù)據(jù),從而達(dá)到數(shù)據(jù)與顯示的一致性。</p><p>  有商品時(shí)的實(shí)際運(yùn)行效果如圖5-3-1。</p><p><b>  核心代碼如下:</b></p><p>  ShoppingCartActivity.java</p&g

103、t;<p>  // 當(dāng)購(gòu)物車中有商品時(shí)獲得相應(yīng)數(shù)據(jù)</p><p>  private void getCartData() {</p><p>  // TODO Auto-generated method stub</p><p>  viewEmpty.setVisibility(View.INVISIBLE);</p><

104、p>  viewNoEmpty.setVisibility(View.VISIBLE);</p><p>  cartTotalCountsText.setText(shoppingGoodBean.getTotalCounts() + "");</p><p>  cartTotalPriceText.setText(shoppingGoodBean.getTo

105、talSalePrice() + "");</p><p>  cartListAdatper = new CartListAdatper(this, shoppingGoodBean, handler,</p><p><b>  this);</b></p><p>  cartList.setAdapter(cartL

106、istAdatper);</p><p><b>  }</b></p><p>  // 當(dāng)購(gòu)物車中沒(méi)有相應(yīng)的商品時(shí)獲得相應(yīng)的數(shù)據(jù)</p><p>  private void getEmptyData() {</p><p>  viewEmpty.setVisibility(View.VISIBLE);</p

107、><p>  viewNoEmpty.setVisibility(View.INVISIBLE);</p><p>  historyAdapter = new HistoryAdapter(this);</p><p>  historyGallery.setAdapter(historyAdapter);</p><p>  historyG

108、allery.setOnItemClickListener(this);</p><p>  historyGallery.setSelection((historyGallery.getCount() > 1) ? 1 : 0);</p><p>  historyGallery.setAdapter(historyAdapter);</p><p>  h

109、istoryGallery.setSelection(2);</p><p>  imagesThread = null;</p><p>  imagesThread = new ImagesThread(handler, HistoryBean.getInstance()</p><p>  .getImages(), Constans.HANDLER_HIST

110、ORY_IMG);</p><p>  imagesThread.start();</p><p><b>  }</b></p><p>  private void goToPayMain(){</p><p><b>  try {</b></p><p>  JSO

111、NArray prodArrayObject = new JSONArray();</p><p>  for (int i = 0; i < shoppingGoodBean.list.size(); i++) {</p><p>  JSONObject prodObject = new JSONObject();</p><p>  prodObj

112、ect.put("prodId",</p><p>  shoppingGoodBean.list.get(i).goodsBean.productId);</p><p>  prodObject.put("count",shoppingGoodBean.list.get(i).count);</p><p>  prodO

113、bject.put("price", shoppingGoodBean.list.get(i).goodsBean.price);</p><p>  prodObject.put("type",</p><p>  shoppingGoodBean.list.get(i).goodsBean.type);</p><p> 

114、 prodArrayObject.put(prodObject);</p><p><b>  }</b></p><p>  proListStr = prodArrayObject.toString();</p><p>  } catch (JSONException e) {</p><p>  e.printS

115、tackTrace();</p><p><b>  }</b></p><p>  proListStr = URLEncoder.encode(proListStr);</p><p>  String checkUrl = ServerAPI.API_CARTCHECK + "&sessionId=" + Ba

116、seApp.sessionId</p><p>  + "&prod=" + proListStr;</p><p>  checkThread = new NetThread(checkUrl, null, CartCheckBean.class,</p><p>  handler, Constans.HANDLER_GOODS_ST

117、OCK);</p><p>  checkThread.start();</p><p><b>  }</b></p><p>  private Handler handler = new Handler() {</p><p><b>  @Override</b></p>&l

118、t;p>  public void handleMessage(Message msg) {</p><p>  super.handleMessage(msg);</p><p>  switch (msg.what) {</p><p>  case Constans.HANDLER_IMG_NOLOAD://獲得購(gòu)物車中商品列表的圖片</p>

119、<p>  if (shoppingGoodBean == null</p><p>  || shoppingGoodBean.list.size() == 0) {</p><p><b>  return;</b></p><p><b>  } else {</b></p><p&

120、gt;  String[] imgs = shoppingGoodBean.getImages();</p><p>  if (imagesThread == null) {</p><p>  imagesThread = new ImagesThread(handler, imgs,</p><p>  Constans.HANDLER_IMG_LOADED)

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 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ì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論