版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
2015數(shù)字媒體藝術專業(yè)本科基于Android開發(fā)的購物商城App的設計與實現(xiàn)II目錄中文摘要 IAbstract I1緒論 11.1購物商城設計的背景 11.2購物商城設計的內容 11.3購物商城設計的意義 11.4購物商城設計研究的方法 11.5本章小結 12購物商城設計的相關技術應用 22.1ADT-Bundle在購物商城設計中的應用 22.2Java在購物商城設計中的應用 22.3XML在購物商城設計中的應用 23購物商城設計 43.1購物流程設計 43.2數(shù)據(jù)存儲設計 53.3歡迎界面設計 63.4商城界面及底部菜單欄設計 73.5商城首頁功能模塊設計 73.6購物車功能模塊設計 93.7個人中心功能模塊設計 104購物商城的實現(xiàn) 114.1購物商城歡迎界面的實現(xiàn) 114.2商城界面及底部菜單欄的實現(xiàn) 124.3商城首頁的實現(xiàn) 134.4購物車的實現(xiàn) 164.5個人中心的實現(xiàn) 204.6本章小結 24結論 25參考文獻 26附錄 27致謝 31PAGEPAGE241緒論1.1購物商城設計的背景隨著當今社會經(jīng)濟的快速發(fā)展和網(wǎng)絡的迅速普及,手機基本成為了每個人都隨身攜帶的電子產(chǎn)品。傳統(tǒng)的購物方式已經(jīng)滿足不了現(xiàn)代人日益追求便利及高效率的購物心理,而通過移動手機上的在線購物系統(tǒng),可以便捷地甚至足不出門,想要的商品就能送到家,免除了在街上或超市中苦苦尋找商品而付出的勞動成本。正因為手機成為了現(xiàn)代人幾乎都隨身攜帶的電子產(chǎn)品,所以本設計的購物商城則圍繞手機消費品來進行探討、開發(fā)設計和實現(xiàn)。簡單的展示手機在線購物商城購物體驗。1.2購物商城設計的內容基于Android(安卓)平臺的在線購物商城,主要通過安裝APP移動客戶端來實現(xiàn)在線購物,并提供基本的在線購物商城體驗,其中包括購物商城歡迎界面、購物商城首頁、購物商城購物車及購物商城個人中心。購物商城首頁:簡單的說,就是展示商品的界面。通過首頁的分類商品信息,引導使用者進入第二級商品詳情界面。購物商城購物車:把合適的商品或者準備購物的商品進行集中管理,方便使用者查看已經(jīng)挑選過的商品。購物商城個人中心:提供詳細的個人資料信息。如我的收藏、分享應用等。1.3購物商城設計的意義把手機購物商城和傳統(tǒng)的購物方式及限制在桌子面前的臺式電腦上購物方式相比較,突出手機購物更加便捷高效的購物新體驗,打破空間的限制,節(jié)省不必要的成本,隨時隨地地購物商品。1.4購物商城設計研究的方法論文的研究綜合了以往類似的文獻、書籍、論壇博文等,經(jīng)過縱橫分析及對比,采納部分資料進行歸類并加以個人總結,輔助使用ADT開發(fā)平臺,Java編程語言、XML標記語言,進行理論分析和實踐1.5本章小結本章簡述了手機購物商城設計的背景、內容和研究方法等,為手機購物商城的設計提供可行性的理論分析及技術支持。規(guī)范了購物商城的設計模板,為UI界面設計和功能模塊代碼的編寫進行了人性化的設計,通過ADT開發(fā)平臺來開發(fā)設計并最終實現(xiàn)。2購物商城設計的相關技術應用2.1ADT-Bundle在購物商城設計中的應用ADT-Bundle的具體名稱為AndroidDevelopmentTools-Bundle,中文翻譯是“安卓開發(fā)工具集成包”,是由GoogleAndroid(谷歌安卓)官方提供的集成式IDE,已經(jīng)包含了Eclipse。使用者不需要另外下載Eclipse,并且ADT-Bundle里面已集成了插件,能夠很好的解決大部分新手通過Eclipse來配置Android(安卓)開發(fā)環(huán)境的復雜問題。使用ADT-Bundle,新涉足Android(安卓)開發(fā)的學習者也無需再像以往那樣在網(wǎng)上參考繁瑣的配置教程,可以輕松一步到位進行Android(安卓)應用開發(fā)。在開發(fā)過程中主要使用的是Eclipse,通過Eclipse可以有效地編寫Java代碼。Eclipse自帶著十分強大的功能,為開發(fā)者提供不少便利之處,下面我舉例幾個功能。代碼自動預測功能,按住組合鍵“Ctrl+/”Eclipse可以根據(jù)已經(jīng)輸入的代碼,自動檢測接下來所需要輸入的代碼,彈出滾動選項框供開發(fā)者選擇。代碼自動檢錯功能,當開發(fā)者錯誤輸入不正確時,Eclipse會將錯誤的代碼段以紅色波浪線下劃線標注,以便引起開發(fā)者的注意。自動排版功能,按住組合鍵“Ctrl+Shift+F”能夠將代碼自動排版,格式化。因為每個開發(fā)者的習慣不一,所以編寫的代碼格式不一,這就導致了給其他開發(fā)者觀看代碼時造成不多不便。自動排版功能就可以解決這些問題。Eclipse在購物商城設計中,主要是提供平臺進行代碼編寫、代碼調試、虛擬機仿真機測試、打包APK文件等作用。運行Eclipse,能夠方便地幫助開發(fā)者進行更精準的表達設計內容。2.2Java在購物商城設計中的應用Java編程語言,是由Sun公司于1995年5月發(fā)布的一門面向對象的編程語言。自發(fā)布至今,Java為IT行業(yè)帶來一場巨大的變革,其中包括本論文的購物商城設計,也是基于Java的演變而來的。Java在購物商城設計中,主要負責實現(xiàn)購物商城的基本功能模塊,調用基礎庫、創(chuàng)建類、擴展類等等作用。2.3XML在購物商城設計中的應用XML的中文名為可擴展標記語言,是一種用于標記電子文件使其具有結構性的標記語言,能夠對文檔和數(shù)據(jù)進行結構化處理,從而更好的使我們理解文檔和數(shù)據(jù)。XML在購物商城設計中,主要負責購物商城UI界面的開發(fā)和實現(xiàn)。通過XML,可以快速地對購物商城的首頁、購物車以及個人中心進行排版。相較于用Java進行UI界面開發(fā)和實現(xiàn),能夠節(jié)省大量時間和精力。2.4本章小結掌握并熟練地運用ADT-Bundle、Java和XML,能夠使購物商城的設計開發(fā)變得更加順利,其他的開發(fā)也如此。正如工欲善其事,必先利其器。3購物商城設計每個優(yōu)秀的軟件都不離開優(yōu)秀的系統(tǒng)設計,系統(tǒng)設計就像大樓框架,支撐著整幢大樓。因此,系統(tǒng)設計為整套軟件系統(tǒng)的實現(xiàn)提供了必要的基礎。3.1購物流程設計當用戶打開購物商城時,第一時間彈出的是歡迎界面并在此界面中停留3秒鐘,以便用戶觀察歡迎界面,加深對購物商城的購物體驗。在歡迎界面過后,用戶可以看到3個界面模塊,分別是首頁、購物車、個人中心。在首頁上,添加了8個手機商品品牌,當用戶點擊不同的手機品牌時,就會進入對應的手機商品詳情頁面,在商品詳情頁面上[1],用戶可以對所展示的手機商品進行加入購物車或加入我的收藏選擇,對于點擊加入購物車的手機商品,將會在購物車頁面進行展示并可以在購物車中下訂單和支付,而加入我的收藏的手機商品,就會在個人中心頁面中我的收藏選項卡中進行展示,通過點擊降價提醒,系統(tǒng)會在收藏商品有降價是提醒用戶。另外,個人中心還有用戶登錄和應用分享兩個選項卡,選擇用戶登錄將會打開登陸框,提醒用戶輸入賬號密碼,當賬號密碼不為空時,就跳轉歡迎用戶登錄界面,然后返回個人中心界面,如果賬號密碼有一個為空時,提醒用戶賬號密碼不能為空并重新輸入,購物商城構思過程如圖3-1所示:圖3-1購物商城構思過程3.2數(shù)據(jù)存儲設計對于數(shù)據(jù)的存儲方式,采用了Application來處理。Application,是和Activity、Service組件一樣屬于Android框架的系統(tǒng)組件[2]。通常情況下,當Android程序啟動時為自動創(chuàng)建一個Application對象,可以用來存儲一些系統(tǒng)數(shù)據(jù)。如果需要自己創(chuàng)建也十分簡單,只需要讓一個類來繼承自Application,同時在Mainifest中給Applicaiton標添加name屬性把自己的Applicaiton寫入即可。Applicaiton自從程序運行時就被創(chuàng)建,因此它的生命周期就等同于程序的生命周期,并且它是全局變量,所以采取Applicaiton來代替SQLite數(shù)據(jù)庫來進行數(shù)據(jù)傳遞、數(shù)據(jù)共享、數(shù)據(jù)緩存等操作。本設計中涉及到三個類繼承自Applicaiton,如表3-1所示所示:表3-1Application類Application類:MyApplicationCollectApplicationPayApplication從屬功能模塊:購物車我的收藏支付創(chuàng)建好Applicaiton后,為對應的Applicaiton中創(chuàng)建好的List對象生成對應的set和get方法,為后續(xù)操作調用提供方法,如下表3-2所示:表3-2set和get方法Set方法get方法MyApplicationpublicvoidsetShopCarList(List<Integer>ShopCartList){ShopCarList=ShopCarList;publicList<Integer>getShopCarList(){returnShopCarList;CollectApplicationpublicvoidsetCollectList(List<Integer>CollectList){CollectList=CollectList;publicList<Integer>getCollectList(){returnCollectList;PayApplicationpublicvoidsetPayList(List<Integer>PayList){PayList=PayList;publicList<Integer>getPayList(){returnPayList;3.3歡迎界面設計為了加強用戶的購物體驗以及對應用本身的品牌認知度,在選擇打開應用的時候先加載一個歡迎界面,停留三秒的時間同時禁用返回鍵[3],之后再跳轉到商城主界面上。用到的資源如表3-3所示:表3-3歡迎界面圖片資源歡迎界面圖片splash.png3.4商城界面及底部菜單欄設計展示在用戶面前的屏幕空間是有限的,因此要考慮如何在有限的屏幕空間里同時展示購物商城的首頁、購物車、個人中心功能模塊。在一個完整的Activity上劃分出三個單獨的區(qū)域,可以采用Fragment來設計。Fragment是一種可以嵌入到Activity中的UI片段,它能讓程序更加合理和充分地利用屏幕空間[4]。因為可以為購物商城的首頁、購物車、個人中心分別設計一個Fragment,如表3-4所示:表3-4首頁、購物車、個人中心Fragment命名首頁購物車個人中心HomeFragmentBuyFragmentPeopleFragment在屏幕的底部,用FragmentTabHost設計一個菜單欄,為三個功能模塊設計選項入口,快速響應用戶的指引。同時為三個選項卡在/res資源目錄下設計選中、未選中時的反饋效果[5],如表3-5所示。因此商城布局設計采用Fragment+FragmentTabHost來設計。表3-5菜單欄圖片資源首頁購物車個人中心選中時Home.pngBuy.pngPeople.png未選中時home_pressed.pngbuy_pressed.pngpeople_pressed.png3.5商城首頁功能模塊設計購物商城首頁頁面是用戶在進入軟件主界面之后第一時間看到的模塊,主要用來展示購物商城售賣商品分類頁面。用戶通過點擊不同的分類商品,可以進入該類商品詳細情況頁面。由于本論文購物商城所展示的商品是手機商品,因此將選擇在首頁分別展示三星、蘋果、小米、華為、魅族、努比亞、一加、錘子等8種目前市面上流行的手機品牌。當用戶點擊手機分類頁面上不同的ImageView時,系統(tǒng)就會自動跳轉到該類手機品牌的手機詳細情況頁面XXXshopActivity,在詳細情況頁面中,用戶可以瀏覽到該手機品牌的手機款式、價格等信息,通過點擊加入購物車按鈕、收藏按鈕還可以加入商品到購物車、我的收藏[6]。下面是分別是邏輯圖3-2和商城首頁設計詳情表3-6所示。xxxShopxxxShopActivity加入購物車收藏ImageView圖3-2邏輯圖表3-6商城首頁設計詳情表ImageView功能xxxShopActivity功能UI布局apple進入蘋果商品詳情頁AppleShopActivity瀏覽蘋果商店、加入購物車\收藏appleshop.xmlsamsung進入三星商品詳情頁SamsungShopActivity瀏覽三星商店、加入購物車\收藏samsungshop.xmlxiaomi進入蘋果商品詳情頁XiaoMiShopActivity瀏覽小米商店、加入購物車\收藏xiaomishop.xmlhuawei進入華為商品詳情頁HuaWeiShopActivity瀏覽華為商店、加入購物車\收藏huaweishop.xmlmeizu進入魅族商品詳情頁MeiZuShopActivity瀏覽魅族商店、加入購物車\收藏meizushop.xmlnubiya進入努比亞商品詳情頁NuBiYaShopActivity瀏覽努比亞商店、加入購物車\收藏nubiyashop.xmloneplus進入一加商品詳情頁OnePlusShopActivity瀏覽一加商店、加入購物車\收藏oneplusshop.xmlsmartisan進入錘子商品詳情頁SmartisanShopActivity瀏覽錘子商店、加入購物車\收藏smartisanshop.xml3.6購物車功能模塊設計購物車頁面是用戶用來瀏覽從手機商品詳細情況頁面上選擇加入購物車的商品列表。每當用戶從每個手機商品詳細情況頁面上選擇添加到購物車的商品,都會在購物車頁面上以列表的形式羅列出來[7],通過點擊購買按鈕,可以前往支付頁面[8]。CommonAdapterCommonAdapterShopCarListListViewPayButton支付頁面圖3-3邏輯圖從邏輯上看,是ListView加載數(shù)據(jù)的設計??梢詾長istView創(chuàng)建一個CommonAdapter簡單適配器[9],把商品詳情頁上獲取到的數(shù)據(jù)從MyApplication上的ShopCarList中加載進適配器中,再從ListView上以列表形式展現(xiàn)出來。在展示好數(shù)據(jù)的ListView上,通過點擊相應的Button按鈕跳轉到支付頁面上,如圖3-3邏輯圖所示和表3-7所示:表3-7類的功能定義類功能ShopCarList暫存、傳遞數(shù)據(jù)CommonAdapter適配數(shù)據(jù)ListView列表顯示視圖PayButton前往支付按鈕3.7個人中心功能模塊設計個人中心頁面是增強用戶購物體驗的模塊,在這頁面上有用戶登錄、我的收藏和分享應用。顧名思義,用戶登錄就是登錄用戶自己的賬號,我的收藏中可以查看收藏的商品,可以選擇當商品出現(xiàn)降價時通知用戶,而分享應用[10]則是分享購物商城軟件給朋友們,個人中心設計詳情表如表3-8所示:表3-8個人中心設計詳情表Activity功能UI布局CollectActivity我的收藏模塊collect.xml、item_collect_listview.xmlLoginActivity用戶登錄模塊login.xml、register.xml3.4本章小結購物商城的設計遵循了最基本的購物需求,從參考文獻、書籍等各方面收集資料,設計出有自己思想的購物商城。頁面設計上從商品首頁面到購物車頁面再到個人中心頁面;功能設計上從查看商品到加入購物車、加入收藏再到用戶登錄和分享應用功能;UI布局上既滿足了現(xiàn)代審美需求,也強化了用戶的購物體驗的。4購物商城的實現(xiàn)4.1購物商城歡迎界面的實現(xiàn)當用戶點擊購物商城App后,首先在SplashActivity中先把歡迎界面圖片加載進來,如下代碼所示:setContentView(R.layout.activity_splash);然后為SplashActivity開啟一個線程,禁用返回鍵并持續(xù)三秒后跳轉到商城主界面上,代碼如下:newHandler().postDelayed(newRunnable(){ @Overridepublicvoidrun(){ Intentintent=newIntent(); intent.setClass(SplashActivity.this,MainActivity.class); startActivity(intent); finish(); } },3000);if(keyCode==KeyEvent.KEYCODE_BACK){ returntrue;}加入歡迎界面圖片手機商城效果如圖4-1所示:圖4-1購物商城歡迎界面4.2商城界面及底部菜單欄的實現(xiàn)首先在MainActivity類中繼承FragmentActivity類,代碼如下:publicclassMainActivityextendsFragmentActivity然后在其中定義一個FragmentTabHost對象和LayoutInflater對象,代碼如下:PrivateFragmentTabHostmTabHost;privateLayoutInflaterlayoutInflater;然后定義一個商城界面數(shù)組fragmentArray和底部菜單欄的選項按鈕數(shù)組mImageViewArray和選項按鈕文字標識數(shù)組mTextViewArray,代碼如下:privateClassfragmentArray[]={HomeFragment.class,BuyFragment.class, PeopleFragment.class};privateintmImageViewArray[]={R.drawable.tab_home_btn, R.drawable.tab_buy_btn,R.drawable.tab_people_btn};privateStringmTextViewArray[]={"首頁","購物車","個人中心"};在加載好底部菜單欄的布局后,定義一個initView方法,把HomeFragment.class、BuyFragment.class、PeopleFragment.class三個Fragment加載進MainActivity中實現(xiàn)關鍵代碼如下:privatevoidinitView(){layoutInflater=LayoutInflater.from(this);mTabHost=(FragmentTabHost)findViewById(android.R.id.tabhost);mTabHost.setup(this,getSupportFragmentManager(),R.id.realtabcontent);intcount=fragmentArray.length;for(inti=0;i<count;i++){TabSpectabSpec=mTabHost.newTabSpec(mTextViewArray[i]) .setIndicator(getTabItemView(i));mTabHost.addTab(tabSpec,fragmentArray[i],null);}}加載底部菜單欄選項按鈕代碼如下:privateViewgetTabItemView(intindex){Viewview=layoutInflater.inflate(R.layout.tab_item_view,null);ImageViewimageView=(ImageView)view.findViewById(R.id.imageView1);imageView.setImageResource(mImageViewArray[index]);TextViewtextView=(TextView)view.findViewById(R.id.textView1);textView.setText(mTextViewArray[index]);returnview;}最后分別在HomeFragment.class、BuyFragment.class、PeopleFragment.class上重寫onCreateView方法,把布局對應的布局文件加載。以下是HomeFragment中的關鍵代碼:publicViewonCreateView(LayoutInflaterinflater,ViewGroupcontainer, BundlesavedInstanceState){ Viewview=inflater.inflate(R.layout.fragment_main,null);returnview;}商城界面及底部菜單欄的實現(xiàn)如圖4-2所示:圖4-2商城界面及底部菜單欄的實現(xiàn)4.3商城首頁的實現(xiàn)商城首頁的實現(xiàn)不算復雜,布局方式是采用多重嵌套實現(xiàn),如圖4-3嵌套布局所示:圖4-3商城首頁UI布局頂部是導航欄,是RelativeLayout布局并在其中添加一個TextView控件。然后在嵌套中再添加4個LinearLayout,用來放置8個ImageView控件,每個ImageView控件代表一個手機品牌。如圖4-4手機品牌布局所示:圖4-4手機品牌布局然后定義好導航欄中RelativeLayout控件和textView1控件的屬性詳情,如表4-1所示:表4-1導航欄中控件屬性詳情控件標簽屬性RelativeLayoutandroid:layout_widthmatch_parentandroid:layout_height46dpandroid:gravitycenterandroid:background#CD0000textView1android:textColor#FFFFFFandroid:text首頁再為8個ImageView添加單擊事件監(jiān)聽器,當用戶觸摸設置有單擊事件監(jiān)聽器的ImageView時,就會觸發(fā)跳轉事件,實現(xiàn)跳轉到二級菜單手機商品詳細情況頁面上。最后為8個手機商品詳細情況頁面添加加入購物車和加入我的收藏功能,通過單擊按鈕,實現(xiàn)把商品加入購物車頁面或我的收藏頁面。單擊事件監(jiān)聽器觸發(fā)跳轉事件的關鍵代碼如下:classappleCheckedListenerimplementsOnClickListener{@OverridepublicvoidonClick(Viewv){Intentintent=newIntent();intent.setClass(getActivity(),AppleShopActivity.class);getActivity().startActivity(intent);}}以下為二級菜單頁中加入購物車按鈕的單擊事件監(jiān)聽器跳轉代碼:publicvoidonClick(Viewarg0){ CollectApplication.CollectList.add(1); Toast.makeText(AppleShopActivity.this,"已加入收藏", Toast.LENGTH_SHORT).show(); finish();}以下為二級菜單頁中收藏按鈕的單擊事件監(jiān)聽器跳轉代碼:publicvoidonClick(Viewarg0){ MyApplication.ShopCarList.add(1); Toast.makeText(AppleShopActivity.this,"已加入購物車", Toast.LENGTH_SHORT).show(); finish();}蘋果二級頁面如圖4-5所示:圖4-5二級菜單頁4.4購物車的實現(xiàn)購物車頁面中,UI布局也離不開多重RelativeLayout和LinearLayout的相互嵌套,如圖4-6購物車UI布局所示:圖4-6購物車UI布局其中包括一個ListView控件、一個ImageView控件和一個TextView控件。ListView控件是配合加載商品使用的,然后和首頁一樣,頂部也有相同的導航欄。下面是表4-2購物車UI布局中控件的屬性詳情表:表4-2購物車UI布局中控件的屬性詳情表控件標簽屬性lv_buyandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:layout_alignParentLefttrueandroid:visibilityvisibleimageView1android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_alignParentLefttrueandroid:layout_alignParentToptrueandroid:src@drawable/iconshoppingtextView2android:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_below@+id/imageView1android:layout_centerHorizontaltrueandroid:layout_marginTop26dpandroid:text你還沒添加商品而ImageView和TextView是在沒有商品時當沒有商品時顯示一個購物車圖案和文字“你還沒添加商品”,圖4-7展示空白購物車,關鍵實現(xiàn)代碼如下:if(MyApplication.ShopCarList.size()>0){ getActivity().findViewById(R.id.layout_shooping).setVisibility( View.GONE); getActivity().findViewById(R.id.lv_buy).setVisibility(View.VISIBLE); }圖4-7空白購物車當有商品添加進購物車時,在購物車頁面中將排列出來,圖4-8展示了商品購物車,關鍵代碼如下:else{ getActivity().findViewById(R.id.layout_shooping).setVisibility( View.VISIBLE); getActivity().findViewById(R.id.lv_buy).setVisibility(View.GONE); }adapter=newCommonAdapter<Integer>(getActivity(),MyApplication.ShopCarList,R.layout.item_shopcar_listview)switch(item){case0:holder.getView(R.id.rl_0).setVisibility(View.VISIBLE);break;圖4-8有商品購物車當有商品購物車中的購買按鈕時,就會跳轉至支付界面,并彈出“訂單已生成,請付款”提示框,圖4-9顯示了支付界面,關鍵代碼如下:publicvoidconvert(CommonViewHolderholder,intposition, Integeritem){holder.getView(R.id.samsungpaybtn).setOnClickListener( newOnClickListener(){ @Override publicvoidonClick(Viewarg0){ Intentintent=newIntent(); intent.setClass(getActivity(),PaySamsung1Activity.class); startActivity(intent); Toast.makeText(getActivity(),"訂單已生成,請付款!", Toast.LENGTH_SHORT).show();圖4-9支付界面4.5個人中心的實現(xiàn)個人中心頁面中,UI布局也和上述首頁、購物車的一樣,也是多重嵌套和具有一樣的導航欄。如圖4-10所示:圖4-10個人中心UI布局其中放置了一個RelativeLayout用作用戶登錄布局和一個LinearLayout用作我的收藏和分享應用功能布局。其中的view是用來當作分割線,美化布局。下面是表4-3個人中心UI布局中控件的屬性詳情表:表4-3個人中心UI布局中控件的屬性詳情表控件標簽屬性loginandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:layout_alignParentToptrueandroid:layout_centerHorizontaltrueandroid:paddingBottom15dpandroid:src@drawable/mycentercollectandroid:layout_alignParentLefttrueandroid:layout_alignParentToptrueandroid:paddingBottom10spandroid:paddingLeft20spandroid:paddingTop10spandroid:text我的收藏android:textSize20spshareandroid:layout_alignParentLefttrueandroid:layout_alignParentToptrueandroid:paddingBottom10spandroid:paddingLeft20spandroid:paddingTop10spandroid:text分享android:textSize20sp點擊用戶頭像將會跳轉至ReisterActivity登錄界面,當輸入的用戶密碼不為空時,保存用戶名和密碼并跳轉到LoginActivity登錄成功界面中然后返回個人中心,圖4-11是用戶登錄成功界面,關鍵代碼如下:if(!"".equals(user)&&!"".equals(pwd)){ Intentintent=newIntent(RegisterActivity.this,LoginActivity.class); Bundlebundle=newBundle();/ bundle.putCharSequence("user",user); bundle.putCharSequence("pwd",pwd); intent.putExtras(bundle); startActivity(intent); finish();圖4-11用戶登錄成功界面反之則彈出提示輸入信息有誤,圖4-12用戶登錄失敗界面,關鍵代碼如下:Toast.makeText(RegisterActivity.this,"用戶名或密碼輸入信息有誤!", Toast.LENGTH_SHORT).show();圖4-12用戶登錄失敗界面點擊分享功能,則彈出選擇框,供用戶選擇分享至手機上已經(jīng)安裝的軟件上。分享功能的實現(xiàn)也比較簡單,只許設置好intent過濾器,然后選擇分享的應用,就可以把已經(jīng)保存好的分享信息分享出去,圖4-13展示了分享應用,關鍵代碼如下:Intentintent=newIntent(Intent.ACTION_SEND);intent.setType("text/*");intent.putExtra(Intent.EXTRA_TEXT,info);if(intent.resolveActivity(getActivity().getPackageManager())!=null){startActivity(intent);圖4-13分享應用4.6本章小結在本章中,通過對購物商城進行詳細的設計實現(xiàn),從商城首頁到購物車再到個人中心。在大體上已經(jīng)是一個有模有樣的購物商城,能夠體驗到簡單的購物流程體驗。
結論畢業(yè)設計是對于我大學期間所學知識的應用,是一次系統(tǒng)的考察我對于所學知識的掌握程度。不得不說,在畢業(yè)設計的途中真遇到不少困難,少則困擾我十幾分鐘,重則困擾我數(shù)天時間,從理論到實踐的路上可以說是一條已經(jīng)砌好階梯但十分陡峭難行的登山道路?;贏ndroid(安卓)開發(fā)的購物商城的設計使用用了數(shù)據(jù)邏輯層加應用層架構,在強大的Java編程語言和XML標簽語言的幫與下,結合ADT-Bundle開發(fā)平臺的高速便捷開發(fā),實現(xiàn)了購物商城基本的購物流程體驗。盡管當下已擁有諸多強大的購物商城,但更重要的是我在這次的課題研究中掌握了更多的知識。論文的創(chuàng)新點在于通過Fragment+FragmentTabHost的結合,開發(fā)出具有底部菜單欄的應用框架,使得購物商城能夠在一個Activity下快速地訪問首頁、購物車或者個人中心。在有限的屏幕空間里實現(xiàn)了利用最大化。而移動購物充分展示出的便捷性,是傳統(tǒng)購物所不能比擬的。經(jīng)過重重的困難,最終我還是基本完成了能進行簡單購物體驗的購物商城,能滿足用戶簡單購物需求。如果有什么不足,會在以后慢慢完善,畢竟羅馬不是一日建成的。在畢業(yè)設計中,才真正意識到開發(fā)一個項目所做的準備是多么重要,在開發(fā)前就應該制定好詳細的框架結構,有了詳細的框架結構,再開始開發(fā)項目就會顯得井然有序。一開始時我并未意識到這個問題,導致我的購物商城項目框架潰不成軍,最后只能放棄已經(jīng)做了幾天的項目,重新制定詳細框架結構再繼續(xù)開發(fā)一個新的項目。項目中的各個模塊是互相借用互相嵌套的,不存在獨立的情況,可以說牽一發(fā)而動全身。正是因為這樣,各種各樣的困難接踵而至,在我不斷地查閱文檔資料和無數(shù)次的調試,才慢慢的解決一個又一個困難。相信這次經(jīng)歷,會讓我在以后的工作中提供了重要幫助。參考文獻[1]卞秀運.基于Android平臺的網(wǎng)上商城系統(tǒng)設計與實現(xiàn)[J].電腦知識與技術,2012,(32)[2]趙國棟.基于Android系統(tǒng)的手機網(wǎng)上商城設計與實現(xiàn)[D].北京交通大學,2012[3]軟件開發(fā)技術聯(lián)盟.Android開發(fā)實戰(zhàn)[M].清華大學出版社,2013[4]BudiKurniawan(克里亞萬).Java和Android開發(fā)學習指南[M].人民郵電出版社,2016[5]孫更新.Android從入門到精通[M].電子工業(yè)出版社,2011[6]吳亞峰,杜化美,蘇亞光.Android編程典型實例與項目開發(fā)[M].電子工業(yè)出版社,2011[7]李剛.瘋狂Android講義第3版[M].電子工業(yè)出版社,2015[8]李寧.Android應用開發(fā)實戰(zhàn)[M].機械工業(yè)出版社,2012[9]韓超.Android經(jīng)典應用程序開發(fā)[M].電子工業(yè)出版社,2012[10]郭霖.第一行代碼[M].人民郵電出版社,2016附錄說明購物商城結構購物商城應用總結構購物商城Java包存放各種功能頁面的activity購物商城的圖片資源文件夾存放購物商城應用的各種圖片資源文件購物商城layout布局文件夾組成購物商城每個頁面布局購物商城AndroidMainfest主設置文件<?xmlversion="1.0"encoding="utf-8"?><manifestxmlns:android="/apk/res/android"package="com.chason.shop"android:versionCode="1"android:versionName="1.0"><uses-sdkandroid:minSdkVersion="13"android:targetSdkVersion="21"/><applicationandroid:name="com.chason.shop.MyApplication"android:allowBackup="true"android:icon="@drawable/icon"android:label="@string/app_name"android:theme="@android:style/Theme.Holo.Light.NoActionBar"><activityandroid:name=".SplashActivity"android:label="@string/app_name"><intent-filter><actionandroid:name="ent.action.MAIN"/><categoryandroid:name="ent.category.LAUNCHER"/></int
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025屆云南省玉溪民族中學數(shù)學高三第一學期期末教學質量檢測模擬試題含解析
- 2025屆江蘇省江陰市石莊中學高一上數(shù)學期末監(jiān)測試題含解析
- 河北省保定市重點初中2025屆生物高二上期末考試模擬試題含解析
- 2025屆廣東省珠海市示范名校英語高三上期末教學質量檢測試題含解析
- 河北省邢臺市南和一中2025屆高二生物第一學期期末教學質量檢測模擬試題含解析
- 2025屆北京市豐臺區(qū)市級名校高三語文第一學期期末調研試題含解析
- 山東省棗莊市部分重點高中2025屆高二生物第一學期期末質量檢測模擬試題含解析
- 2025屆云南省昆明市官渡一中生物高一上期末達標檢測模擬試題含解析
- 2024年煤礦安全管理人員(機電運輸)考試題庫(濃縮500題)
- (新版)工業(yè)鍋爐司爐G1特種作業(yè)取證考試題庫-下(多選、判斷題)
- 邊坡支護樁施工方案
- 隧道開挖作業(yè)臺車計算書
- 養(yǎng)老院中心年度培訓計劃
- 如何提升員工安全素質
- 名師工作室三年規(guī)劃PPT課件
- 相關方參與危險源辨識與風險評價記錄表
- 京瓷常用代碼
- (完整版)企業(yè)執(zhí)行力的規(guī)章制度
- 和利時DCS控制系統(tǒng) 論文
- 古建筑維修分部分項維修技術
- T∕CSEA 13-2020 批量熱鍍鋅行業(yè)綠色工廠評價導則
評論
0/150
提交評論