版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、<p><b> 本科生畢業(yè)論文</b></p><p> 題 目: 基于Android平臺的移動電子 </p><p> 商務(wù)客戶端設(shè)計(jì)與實(shí)現(xiàn) </p><p> 系 別: </p><p> 專 業(yè): </p>
2、;<p> 學(xué) 號: </p><p> 姓 名: </p><p> 指導(dǎo)教師: </p><p> 完成時(shí)間: </p><p><b> 摘要</
3、b></p><p> 隨著移動電子商務(wù)的快速發(fā)展,傳統(tǒng)互聯(lián)網(wǎng)企業(yè)的移動化是現(xiàn)在和未來的一種必然趨勢。該論文講述針對基于Android平臺的移動電子商務(wù)平臺的移動電子商務(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ā)的全部過程。結(jié)合數(shù)據(jù)流圖,ER圖,
4、程序流程圖等對系統(tǒng)的設(shè)計(jì)過程進(jìn)行詳盡的描述。本文共分成緒論、需求分析、程序分析、詳細(xì)設(shè)計(jì)、代碼的編碼等著幾個(gè)部分。該系統(tǒng)采用的是C/S的開發(fā)模式,開發(fā)語言是JAVA語言,主要使用的開發(fā)工具是Eclipse 4.2以及Google的Android開發(fā)插件ADT22.0。</p><p> 關(guān)鍵字:android,java,智能,電子商務(wù),移動互聯(lián)網(wǎng),移動購物,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ā)語言的選用及介紹7</p>
11、<p> 1.3.1開發(fā)工具7</p><p> 1.3.2JAVA語言7</p><p> 2Android平臺簡介8</p><p> 2.1系統(tǒng)簡介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í)庫與其他庫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首頁設(shè)計(jì)13</p><p> 4.3分類設(shè)計(jì)14</p><p> 4.4購物車設(shè)計(jì)14</p><p> 4.5會員中心設(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首頁設(shè)計(jì)19</p><p> 5.1.1首頁默認(rèn)頁面設(shè)計(jì)19</p><p> 5.1.2首頁
15、右劃頁面設(shè)計(jì)20</p><p> 5.2分類設(shè)計(jì)21</p><p> 5.3購物車設(shè)計(jì)24</p><p> 5.3.1有商品情況的設(shè)計(jì)24</p><p> 5.3.2無商品情況的設(shè)計(jì)28</p><p> 5.4會員中心設(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賬號管理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> 隨著寬帶無線接入技術(shù)和移動終端技術(shù)的飛速發(fā)展,伴隨著移動智能終端的快速普及,人們迫切希望能夠隨時(shí)隨地乃至在移動過程中都能方便地從互聯(lián)網(wǎng)獲取信息和服務(wù),移動互聯(lián)網(wǎng)應(yīng)運(yùn)而生并迅猛發(fā)展。其中移動電子商務(wù)領(lǐng)是移動互聯(lián)網(wǎng)重大組成領(lǐng)域之一。移動電子商務(wù)就是利用手機(jī)、PDA及掌上電腦等無線終端進(jìn)行的B2B、B2C或C2C的電子商務(wù)。它將因特網(wǎng)、移動通信技術(shù)、短距離通信技
19、術(shù)及其它信息處理技術(shù)完美的結(jié)合,使人們可以在任何時(shí)間、任何地點(diǎn)進(jìn)行各種商貿(mào)活動,實(shí)現(xiàn)隨時(shí)隨地、線上線下的購物與交易、在線電子支付以及各種交易活動、商務(wù)活動、金融活動和相關(guān)的綜合服務(wù)活動等。移動電子商務(wù)的突飛猛進(jìn),帶來的是該領(lǐng)域的支持產(chǎn)業(yè)之一軟件服務(wù)的快速變革。很多傳統(tǒng)的互聯(lián)網(wǎng)產(chǎn)業(yè)主動或者被動進(jìn)行布局移動互聯(lián)網(wǎng)。Google公司的android平臺是目前各大主流的移動操作系統(tǒng)之一。緊隨其后的是蘋果公司的IOS平臺。這兩個(gè)平臺的市場占有率達(dá)
20、到了91.1%以上。所以該論文講述針對基于android平臺的移動電子商務(wù)平臺的移動電子商務(wù)客戶端設(shè)計(jì)與實(shí)現(xiàn)。</p><p> 移動電子商務(wù)以及得到了快速的發(fā)展。例如當(dāng)當(dāng)網(wǎng)在2013年第一季度移動端的交易量與傳統(tǒng)PC互聯(lián)網(wǎng)交易量的比例是1:3。移動電子商務(wù)目前還處于強(qiáng)勁增長趨勢。傳統(tǒng)互聯(lián)網(wǎng)企業(yè)大部分已經(jīng)向移動端轉(zhuǎn)移。以傳統(tǒng)的運(yùn)動服裝業(yè)領(lǐng)軍企業(yè)之一的特步為例。移動智能設(shè)備的交易比例正在呈現(xiàn)不斷上漲的趨勢。移動電
21、子商務(wù)比傳統(tǒng)企業(yè)相比,在成本優(yōu)勢上非常明顯。所以本課題選用的設(shè)計(jì)和實(shí)現(xiàn)高性能的移動電子商務(wù)APP為研究課題。</p><p><b> 課題的意義</b></p><p> 設(shè)計(jì)高效的移動智能端APP能夠提升用戶使用移動端的購物體驗(yàn)。都死實(shí)現(xiàn)相同功能的APP,良好的界面,流暢的操作能夠給消費(fèi)者良好的購物體驗(yàn),同時(shí)也是提升企業(yè)品牌的重要手段之一。</p>
22、<p> 一個(gè)APP要具備的功能不僅僅是實(shí)現(xiàn)了它的功能,如果沒有一個(gè)良好的用戶接口,將對該APP的使用率大打折扣。用戶體驗(yàn)主要體現(xiàn)在兩個(gè)方面,一是用戶感受到的軟件的性能,比如操作的反應(yīng)速度,另一方面是軟件的界面,良好的界面能夠感知良好的。</p><p> 以當(dāng)當(dāng)網(wǎng)為例,當(dāng)當(dāng)網(wǎng)在2013年第一季度中移動端的交易量占到總交易量的三分之一,并且處于不斷增長的勢頭。雖然目前還沒有到完全取代的地步,傳統(tǒng)
23、企業(yè)的向移動化轉(zhuǎn)型是必然的趨勢。</p><p> 開發(fā)工具、開發(fā)語言的選用及介紹</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語言</b></p><p> Java 編程語言是個(gè)簡單、面向?qū)ο?、分布式、解釋性、健壯、安全與系統(tǒng)無關(guān)、可移植、高性能、多線程和動態(tài)的語言。</p><p> J
25、ava編程語言的風(fēng)格十分接近C、C++語言。Java是一個(gè)純粹的面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,它繼承了 C++語言面向?qū)ο蠹夹g(shù)的核心。Java舍棄了C語言中容易引起錯(cuò)誤的指針(以引用取代)、運(yùn)算符重載(operator overloading)、多重繼承(以接口取代)等特性,增加了垃圾回收器功能用于回收不再被引用的對象所占據(jù)的內(nèi)存空間,使得程序員不用再為內(nèi)存管理而擔(dān)憂。在 Java 1.5 版本中,Java 又引入了泛型編程(Generic
26、Programming)、類型安全的枚舉、不定長參數(shù)和自動裝/拆箱等語言特性。</p><p> Java不同于一般的編譯執(zhí)行計(jì)算機(jī)語言和解釋執(zhí)行計(jì)算機(jī)語言。它首先將源代碼編譯成二進(jìn)制字節(jié)碼(bytecode),然后依賴各種不同平臺上的虛擬機(jī)來解釋執(zhí)行字節(jié)碼。從而實(shí)現(xiàn)了“一次編譯、到處執(zhí)行”的跨平臺特性。不過,每次的執(zhí)行編譯后的字節(jié)碼需要消耗一定的時(shí)間,這同時(shí)也在一定程度上降低了 Java 程序的運(yùn)行效率。&l
27、t;/p><p> Android平臺簡介</p><p><b> 系統(tǒng)簡介</b></p><p> Android是一種基于Linux的自由及開放源代碼的操作系統(tǒng),主要使用于移動設(shè)備,如智能手機(jī)和平板電腦,由Google公司和開放手機(jī)聯(lián)盟領(lǐng)導(dǎo)及開發(fā)。尚未有統(tǒng)一中文名稱,中國大陸地區(qū)較多人使用“安卓”或“安致”。Android操作系統(tǒng)最初
28、由Andy Rubin開發(fā),主要支持手機(jī)。2005年8月由Google收購注資。2007年11月,Google與84家硬件制造商、軟件開發(fā)商及電信營運(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在全球的市場份額首次超過塞班系統(tǒng),躍居全球第一。 2012年11月數(shù)據(jù)顯示,Android占據(jù)全球智能手機(jī)操作系統(tǒng)市場76%的份額,中國市場占有率為90%。</p><p><b> 系統(tǒng)層次架構(gòu)</b></p><p> Android系統(tǒng)包括了移動電話所需的全部軟件,由操作系統(tǒng)、中間件、UI(UserInterface)及應(yīng)用程序組成。開發(fā)人員使用Java語
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í)庫與其他庫、應(yīng)用程序框架、應(yīng)用程序。</p><p><b> 應(yīng)用程序?qū)?lt;/b></p><p> Android會同一系列核心應(yīng)用程序包一起發(fā)布,該應(yīng)用程序包包括客戶端,S
31、MS短消息程序,日歷,地圖,瀏覽器,聯(lián)系人管理程序等。所有的應(yīng)用程序都是使用JAVA語言編寫的。</p><p><b> 應(yīng)用程序框架層</b></p><p> 開發(fā)人員也可以完全訪問核心應(yīng)用程序所使用的API框架。該應(yīng)用程序的架構(gòu)設(shè)計(jì)簡化了組件的重用;任何一個(gè)應(yīng)用程序都可以發(fā)布它的功能塊并且任何其它的應(yīng)用程序都可以使用其所發(fā)布的功能塊(不過得遵循框架的安全性
32、)。同樣,該應(yīng)用程序重用機(jī)制也使用戶可以方便的替換程序組件。</p><p> 隱藏在每個(gè)應(yīng)用后面的是一系列的服務(wù)和系統(tǒng), 其中包括;</p><p> 豐富而又可擴(kuò)展的視圖(Views),可以用來構(gòu)建應(yīng)用程序, 它包括列表(Lists),網(wǎng)格(Grids),文本框(Text boxes),按鈕(Buttons), 甚至可嵌入的web瀏覽器。</p><p>
33、 內(nèi)容提供器(Content Providers)使得應(yīng)用程序可以訪問另一個(gè)應(yīng)用程序的數(shù)據(jù)(如聯(lián)系人數(shù)據(jù)庫), 或者共享它們自己的數(shù)據(jù)</p><p> 資源管理器(Resource Manager)提供 非代碼資源的訪問,如本地字符串,圖形,和布局文件(Layout files )。</p><p> 通知管理器 (Notification Manager) 使得應(yīng)用程序可以在狀態(tài)欄
34、中顯示自定義的提示信息。</p><p> 活動管理器(Activity Manager) 用來管理應(yīng)用程序生命周期并提供常用的導(dǎo)航回退功能。</p><p> Android運(yùn)行時(shí)庫與其他庫</p><p> Android 包含一些C/C++庫,這些庫能被Android系統(tǒng)中不同的組件使用。它們通過 Android 應(yīng)用程序框架為開發(fā)者提供服務(wù)。以下是一些
35、核心庫:</p><p> 系統(tǒng) C 庫:一個(gè)從BSD繼承來的標(biāo)準(zhǔn)C系統(tǒng)函數(shù)庫 Libc , 它是專門為基于Embedded linux的設(shè)備定制的。</p><p> 媒體庫:基于PacketVideo OpenCORE;該庫支持多種常用的音頻、視頻格式回放和錄制,同時(shí)支持靜態(tài)圖像文件。編碼格式包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG 。<
36、/p><p> Surface Manager:對顯示子系統(tǒng)的管理,并且為多個(gè)應(yīng)用程序提 供了2D和3D圖層的無縫融合。</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)對硬件的編程控制和接口操作。調(diào)度訪問硬件資源,同時(shí)向應(yīng)用程序提供一個(gè)高級的執(zhí)行環(huán)境和對硬件的虛擬接口。主要功能包括:中斷服務(wù)程序、進(jìn)程調(diào)度程序、進(jìn)程地址空間的內(nèi)存管理、進(jìn)程間通信。內(nèi)核與普通應(yīng)用程序不同,其擁有所有硬件設(shè)備的訪問權(quán)限以及啟動時(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)境和移動應(yīng)用程序的開發(fā)。Android對標(biāo)準(zhǔn)Linux內(nèi)核進(jìn)行了一定的修改。為了對比分析Android內(nèi)核,在Ubuntu操作系統(tǒng)上搭建了Android內(nèi)核的編譯開發(fā)平臺,通過repo,下載最新的Android內(nèi)核代碼版本cup
39、cake從獲得的內(nèi)核源碼樹的根目錄結(jié)構(gòu)看,Android內(nèi)核源碼與標(biāo)準(zhǔn)Linux內(nèi)核并無不同。 </p><p><b> 系統(tǒng)分析</b></p><p> 系統(tǒng)分析包含兩個(gè)內(nèi)容,一是可行性分析,另一個(gè)是需求分析。開發(fā)APP之前必須進(jìn)行充分的分析。只有通過充分分析后再做設(shè)計(jì)才能是后續(xù)工作更加順利??尚行苑治鍪菫榱伺宄到y(tǒng)開發(fā)的項(xiàng)目是不是可以實(shí)現(xiàn)和值得進(jìn)行研究的
40、過程,所以,進(jìn)行可執(zhí)行性的分析是非常必要的。需求分析是搞清楚APP要做什么,只有知道要做什么才能使開發(fā)出來的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è)計(jì)的,所
41、以這點(diǎn)成本也可以相對忽略不計(jì),所以自己個(gè)人投入的各種成本可以忽略不計(jì),這點(diǎn)是可行的。由于開發(fā)該APP所使用的開發(fā)工具是自己的Android智能手機(jī)和一些開源的開發(fā)工具Eclipse和Google的ADT開發(fā)插件。所以開發(fā)工具上沒有相應(yīng)的費(fèi)用投入??傮w來說該APP的開發(fā)在人力、物力和財(cái)力的投入上是可行的,所以經(jīng)濟(jì)方面是可行的。</p><p> 技術(shù)可行性:開發(fā)該APP主要要用到的語言是JAVA,由于本人在大學(xué)期
42、間較早自學(xué)了JAVA編程語言,能夠勝任一些大部分的功能開發(fā)。如果遇到相對較難的技術(shù)難點(diǎn)??梢酝ㄟ^網(wǎng)絡(luò)或者專業(yè)書的方式來提供解決方案。目前來說android技術(shù)已經(jīng)是相對成熟的開發(fā)技術(shù)。所以在技術(shù)方面是可行的。</p><p> 法律可行性:由于android系統(tǒng)開源系統(tǒng),只要符合google的相關(guān)的服務(wù)條款任何人都可以免費(fèi)獲取。該APP的開發(fā)已經(jīng)經(jīng)過各方權(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)頁上的功能轉(zhuǎn)移到相應(yīng)的移動客戶端。所有的相關(guān)需求通過需求文檔的方式進(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)格一致還可以是移動端和WEB端更加具有一致性和整體性。</p><p&g
45、t; APP運(yùn)行效率。在最短的時(shí)間內(nèi)完成用戶所要做的操作,盡量減少APP反應(yīng)的滯后。要實(shí)現(xiàn)這點(diǎn),可以通過兩個(gè)方面來提升:一是減少網(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ì)的。首先分成五大部分,分別是:首頁、分類、購物車、會員中心、更多。</p><p> 首頁主要組成部分有:首頁頭部廣告區(qū)、功效專區(qū)、固定功能菜單、四大專區(qū)、買家說說、搜索。首頁右劃區(qū)的組成界面是:美妝時(shí)尚。</p><p> 分類部分主要有兩個(gè)部分組成。一個(gè)是有二級子
47、目錄的選項(xiàng),一種是指向單個(gè)功效商品的選項(xiàng)。</p><p> 購物車的主要組成部分是:顯示購物車數(shù)量的詳情,其中包括顯示商品的數(shù)量、購物車中總的費(fèi)用以及列出所購商品的基本詳情。當(dāng)購物車中的數(shù)量為空的時(shí)候,顯示購物車為空,還顯示最近的瀏覽記錄。</p><p> 會員中心的主要組成部分是:個(gè)人基本信息、交易管理、我的特權(quán)、賬號管理和結(jié)算。其中交易管理的只能夠有:我的訂單、物流管理、正品查
48、詢、我的優(yōu)惠券、我的收藏夾。我的特權(quán)部分包括:VIP特賣、生日優(yōu)惠券。賬號管理包括:個(gè)人資料的修改、修改密碼、收貨地址的管理、微博同步設(shè)置。</p><p> 更多部分組成部分是:客服熱線、檢查更新、清除緩存、使用幫助、關(guān)于。</p><p> 從圖 4-1 可以比較明了的看出各個(gè)功能結(jié)構(gòu)</p><p> 圖4-1 功能模塊圖</p><
49、p><b> 首頁設(shè)計(jì)</b></p><p> 首頁分成兩個(gè)部分。一個(gè)是默認(rèn)的首頁部分,另一個(gè)部分是首頁右劃部分。</p><p> 默認(rèn)的首頁部分主要分為廣告區(qū)、功效專區(qū)、常用菜單區(qū)、四大專區(qū)和買家說說。</p><p> 首頁右劃部分只有一個(gè)功能,就是美妝說說。</p><p> 廣告區(qū):可以根據(jù)后
50、臺的提供的字段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ù)請求,解析返回的數(shù)據(jù)后進(jìn)入產(chǎn)品列表。</p><p>
51、; 常用菜單區(qū):該區(qū)有四個(gè)常用的功能按鈕。分別是物流查詢、防偽驗(yàn)證、收藏夾、簽到中心。</p><p> 四大專區(qū):分別是VIP俱樂部、限時(shí)特賣、爆款推薦、超值套裝。</p><p> 買家說說只顯示五條評價(jià)最多的記錄。</p><p> 首頁右劃部分只有美妝時(shí)尚一個(gè)列表。點(diǎn)擊列表選項(xiàng)進(jìn)入到商品詳情頁面。</p><p> 圖4-2
52、 首頁功能模塊圖</p><p><b> 分類設(shè)計(jì)</b></p><p> 對于一個(gè)電子商務(wù)類的APP,其分類功能是很重要的一項(xiàng)。它能將消費(fèi)者的購買欲轉(zhuǎn)化成實(shí)實(shí)在在的訂單,所以分類功能在導(dǎo)航菜單中占有一席之地。一個(gè)分類設(shè)計(jì)的好壞也是直接影響到用戶的體驗(yàn)。一個(gè)良好的分類設(shè)計(jì)能夠簡單快速準(zhǔn)確的定位消費(fèi)者的需求。</p><p> 該APP
53、的分類設(shè)計(jì)分成兩個(gè)部分。一個(gè)是有二級子目錄的選項(xiàng),一種是指向單個(gè)功效商品的選項(xiàng)。點(diǎn)擊一級菜單展開二級菜單。目前設(shè)計(jì)的菜單的最深級別就是二級菜單。到了二級菜單再點(diǎn)擊就進(jìn)入了商品列表或者商品詳情。</p><p><b> 購物車設(shè)計(jì)</b></p><p> 該APP的購物車采用離線方式。這樣設(shè)計(jì)的原因是考慮到流量的限制問題。由于該APP要顯示較多的流量。所以在一些
54、不是很重要的地方盡量減少與遠(yuǎn)程服務(wù)器的交互。</p><p> 購物車有兩種情況。一種情況是購物車中有商品,另一種是購物車為空。</p><p><b> 這兩種顯示的。</b></p><p> 購物車中有商品時(shí)。要顯示商品的數(shù)量、總費(fèi)用以及具體的商品列表。商品列表顯示商品的圖片、名稱、價(jià)格、數(shù)量、原價(jià)以及對數(shù)量增加的按鈕和刪除該商品的
55、按鈕。</p><p> 購物車中無商品時(shí)。提示目前的購物車是為空,引導(dǎo)用戶去首頁逛逛。同時(shí)增加了瀏覽記錄,方便消費(fèi)者查找瀏覽過得商品。</p><p><b> 會員中心設(shè)計(jì)</b></p><p> 會員中心是導(dǎo)航菜單欄中最復(fù)雜的一個(gè)。主要功能繁多。會員中心主要分成四個(gè)部分。分別是個(gè)人信息、交易管理、我的特權(quán)和賬號管理。</p&
56、gt;<p> 個(gè)人信息。個(gè)人信息主要顯示一些基本的會員信息。</p><p> 交易管理。交易管理分為我的訂單、物流管理、正品驗(yàn)證、我的優(yōu)惠券、我的收藏夾。我的訂單主要處理三個(gè)功能,正在進(jìn)行的訂單、已經(jīng)完成訂單、已經(jīng)取消三大功能。物流管理處理的根據(jù)訂單號查詢物流和根據(jù)手機(jī)號碼查詢物流。正品驗(yàn)證處理的是查詢商品是否為正品。我的優(yōu)惠券主要負(fù)責(zé)管理會員的各種訂單。</p><p&
57、gt; 我的特權(quán)。我的特權(quán)有兩項(xiàng),一項(xiàng)是VIP特賣,另一項(xiàng)是生日特權(quán)。VIP特賣是正對不同等級的會員享受不同的購物優(yōu)惠。生日特權(quán)是在會員生日的當(dāng)天有相應(yīng)的購物優(yōu)惠。修改生日是一次性的。如果會員還沒有填寫生日,要提示信息不夠完善,并且跳轉(zhuǎn)到修改個(gè)人信息的界面。在修改界面中修改會員的生日信息。如果原先已有生日,則判斷今天是否是會員的生日。如果是可以領(lǐng)取相應(yīng)的生日優(yōu)惠券。</p><p> 賬號管理。賬號管理一般來
58、說使用的頻率相對較低,所以放在最下面。雖然使用少,但是這些功能還是很重要的。賬號管理分為個(gè)人資料、修改密碼、收貨地址管理和微博同步設(shè)置。個(gè)人資料的主要作用是查看和修改個(gè)人信息資料。修改密碼指的是修改登錄密碼。收貨地址管理主要要實(shí)現(xiàn)的功能是添加、修改和刪除收貨地址。微博同步設(shè)置指調(diào)用新浪微博和騰訊微博的接口,可以用于登錄APP和分享購物喜悅。</p><p> 圖4-5 會員中心功能結(jié)構(gòu)圖</p>
59、<p><b> 更多設(shè)計(jì)</b></p><p> “更多”選項(xiàng)主要是一些輔助性功能的設(shè)置。“更多”選項(xiàng)包含的主要功能有:客服熱線、檢測更新、清除緩存、使用幫助、關(guān)于。</p><p> 客服服務(wù)。該功能主要實(shí)現(xiàn)的是方便消費(fèi)者呼叫客服熱線。</p><p> 檢測更新。該APP設(shè)計(jì)的程序更新需要手動點(diǎn)擊檢測更新。所以該功能的
60、是為了更新APP的版本,進(jìn)行升級優(yōu)化。Google的最新政策是不推薦使用APP自帶的升級功能,主要是處于安全性考慮。</p><p> 清除緩存。由于android手機(jī)的版本千差萬別。一方面是手機(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)行使用。用戶可以通過這種自助的服務(wù)幫助解決一些疑問。</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ù)雜問題時(shí)自上而下逐層將系統(tǒng)劃分成若干塊的過程。每一個(gè)模塊完成一個(gè)特定的功能,所有的模塊按某種方法組織起來,成為一個(gè)整體,完成整個(gè)系統(tǒng)所要求的功能。系統(tǒng)模塊劃分不能使任意,要遵循高內(nèi)聚低耦合的設(shè)計(jì)思路,應(yīng)盡量保持其獨(dú)立性。是為了降低系統(tǒng)和復(fù)雜性,提高可讀性、可維護(hù)性。也就是說,每個(gè)模塊只完成系統(tǒng)要求的獨(dú)立的子功能,并且與其他模塊的聯(liá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è)過程中必須考慮以下幾個(gè)問題:</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> 如何評價(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)勢。在使用過程中可以將結(jié)構(gòu)化設(shè)計(jì)方法與結(jié)構(gòu)化分析(SA)方法及編程階段的結(jié)構(gòu)化程序設(shè)計(jì)方法(SP)前后銜接起來。</p><p> 系統(tǒng)功能模塊的優(yōu)點(diǎn):</p>&
65、lt;p> 系統(tǒng)功能模塊劃分清晰,區(qū)別明顯,易于操作。</p><p> 操作界面友好,簡單易懂適合不同層次的操作人員。</p><p> 子系統(tǒng)之間的數(shù)據(jù)交換操作簡單、快捷。</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> 首頁設(shè)計(jì)</b></p><p><b> 首頁默認(rèn)頁面設(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)首頁的實(shí)際運(yùn)行效果圖</p><p><b> 首頁右劃頁面設(shè)計(jì)</b></p><p> 首頁右劃部分和默認(rèn)頁面在同一個(gè)模塊下。該模塊功能較單一,如技術(shù)難點(diǎn)。該模塊的實(shí)際運(yùn)行效
73、果如圖5-1-2。</p><p> 圖5-1-2 首頁右劃實(shí)際運(yùn)行效果圖</p><p><b> 分類設(shè)計(jì)</b></p><p> 分類模塊相對設(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> // 這是二級監(jiān)聽,點(diǎn)擊二級的時(shí)候才會用到</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> 購物車設(shè)計(jì)</b></p><p><b> 有商品情況的設(shè)計(jì)</b></p><p> 購物車兩個(gè)邏輯模塊實(shí)際
102、上只有一個(gè)模塊。該模塊的主要難點(diǎn)在于如何較好的區(qū)別有商品和無商品的狀態(tài),并且要實(shí)時(shí)的根據(jù)數(shù)量或者其他來調(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)購物車中有商品時(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)購物車中沒有相應(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://獲得購物車中商品列表的圖片</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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 基于Android平臺的電子閱讀客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺電子閱讀客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺移動視頻監(jiān)控系統(tǒng)設(shè)計(jì)與客戶端實(shí)現(xiàn).pdf
- 基于Android平臺的移動視頻監(jiān)控系統(tǒng)設(shè)計(jì)與客戶端實(shí)現(xiàn).pdf
- 基于位置的社會化移動電子商務(wù)客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的移動校園客戶端設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的移動政務(wù)OA客戶端設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的移動銀行客戶端系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺IMS客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android的移動社交產(chǎn)品客戶端設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的新聞客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的視頻客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺手機(jī)支付客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 70838.基于android平臺的新聞客戶端設(shè)計(jì)與實(shí)現(xiàn)
- 基于Android平臺的電子書包客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的移動視頻監(jiān)控客戶端的分析與設(shè)計(jì).pdf
- 基于Android平臺的微視全景客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于android平臺的校園助手客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的視頻播放客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
- 基于Android平臺的流媒體客戶端的設(shè)計(jì)與實(shí)現(xiàn).pdf
評論
0/150
提交評論