版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
基于安卓的超市購物系統(tǒng)的設計與實現(xiàn)摘要:在現(xiàn)代生活中,安卓智能手機的各類應用所帶來的便利已經(jīng)影響我們生活的方方面面,對人們的生產(chǎn)生活、衣食住行產(chǎn)生了積極的作用。同時,手機智能平臺的快速發(fā)展也給各行各業(yè)帶來了新挑戰(zhàn),對于任意行業(yè),如果不能適應信息化的潮流、跟上時代發(fā)展的步伐,都會被殘酷的市場競爭所淘汰。本論文課題是基于安卓的超市購物系統(tǒng)的設計與實現(xiàn),利用移動開發(fā)技術初步實現(xiàn)了用基本的智能手機來管理超市的日常經(jīng)營。該系統(tǒng)改善了傳統(tǒng)購物體驗的多種弊端,最終目的當然就是給用戶提供一種方便的購物體驗。本設計是基于安卓的一款便于在智能平臺上購物的手機APP,開發(fā)工具是AndroidStudio,編程語言用的是Java,開發(fā)實現(xiàn)了引導界面、可自由加載和轉(zhuǎn)換的菜單以及其他模塊的功能。用手機代替超市實體店從而實現(xiàn)了足不出戶的手機超市購物,為人們節(jié)約了排隊等待付款、挑選商品的時間。本系統(tǒng)有較強的實用性,因為手機攜帶很方便,該APP操作起來也不費力,要實現(xiàn)的功能也相對完善,一些購物系統(tǒng)的經(jīng)典頁面比如添加商品至購物車中、查看已提交的訂單、秒殺很多做活動的商品等也能正常運行和顯示,更重要的是本軟件已在市內(nèi)的若干超市進行成功的模擬測試,并成功進行了小規(guī)模的實際應用,反饋回來的信息表明其市場應用前景非常廣闊。關鍵字:安卓開發(fā)Java程序設計語言超市購物系統(tǒng)
DesignandimplementationofsupermarketshoppingsystembasedonAndroidAbstract:Inmodernsociety,theconveniencebroughtbythevariousapplicationsofmobilephoneshasbenefitedallaspectsofourlives,givingtheproductionandlivingofthepeopleandbasicnecessitiesoflifeapositiveeffect.Atthesametime,therapiddevelopmentofintelligentplatformalsobringsnewchallengestoallwalksoflife,foranyindustry,Ifyoucannotadapttothetrendofinformation,tokeepupwiththepaceofdevelopmentofthetimes,youwillbeburiedbythebrutalcompetitioninthemarket.ThetopicofthisthesisisthedesignandimplementationofthesupermarketshoppingsystembasedonAndroid,usingmobiledevelopmenttechnologytoachieveapreliminaryrealizationofthebasicsmartphonetomanagethedailyoperationofthesupermarket.Thesystemimprovesthetraditionalshoppingexperienceofavarietyofdrawbacks,ofcourse,it’sfinalpurposeisprovidinganovelandconvenientshoppingexperience.ThedesignisbasedonAndroid'smobilephoneAPPtofacilitateshoppingonthesmartplatform,usingAndroid5.0asadevelopmenttool,Javaasaprogramminglanguage,thedevelopmentandimplementationofthebootinterface,freetoloadandconvertmenusandothermodulesofthefunction.Usingamobilephoneinsteadofasupermarketstoresoastorealizetheonlineshoppingathome,forthepublictosavethequeuetowait,longdistanceruntime.Thesystemhasstrongpracticability,becauseitisconvenienttocarryamobilephone,thesystemiseasytooperate,toachievethefunctionisrelativelyperfect,someoftheclassicshoppingsystempages,suchasaddingmerchandisetotheshoppingcart,viewsubmittedorders,spikealotofactivitiestodothegoods,etc.canalsobenormaloperationanddisplay,andthissoftwaresystemhasbeeninthesupermarketandafast-foodchainthroughthesimulationtestundertheLANenvironment,andsuccessfullycarriedoutthepracticalapplicationofsmallscale,thefeedbackinformationindicatesthatthemarkethasaverybroadapplicationprospects.Keywords:GoogleandroidSDKJavaprogramminglanguageShoppingsystem引言現(xiàn)在的社會經(jīng)濟和網(wǎng)絡發(fā)展得愈來愈快,喜歡在手機購物的人越來越多,傳統(tǒng)的購物方式已經(jīng)滿足不了人們追求方便快捷的購物心理,現(xiàn)在手機已經(jīng)是人們不可缺少的一部分,幾乎每個人都有手機,它也是人們生活中必不可少的溝通工具?;谑謾C端的在線購物系統(tǒng)能使人們隨時隨地選購自己喜歡的商品,現(xiàn)在國內(nèi)的很多中、小型超市每天都要查看庫存信息還要及時更新訂單信息等,可是經(jīng)濟市場的變化不會等待,所以高效的、現(xiàn)代化的管理超市的方法就受到了各大、中、小型超市的喜愛。
各種實體店超市給我們的生活帶來了很多便利,不可避免的是這些實體店超市也有各種缺點,如:每天都要處理入庫的大量商品導致其效率降低,時刻都需要有人結(jié)算付款,人工的速度當然是有限的而且特別容易有細微的差錯,每次有活動的商品都要重新打印價簽,其效率一定不會高。另外一方面,對于一個稍微有規(guī)模的超市來說,每天都會有商品的入庫、銷售和更新等信息需要處理,這些都要一些有經(jīng)驗的管理人員進行決策、分析和處理,不像計算機或者手機能實現(xiàn)實時分析,這樣,這些管理人員一直都不能對及時傳遞的資料進行分析和研究。因此,在進行市場調(diào)查之后,我選擇了超市購物系統(tǒng)設計題目,這種用手機客戶端實現(xiàn)的購物平臺能實時、精確的掌握超市中的各項工作的工作情況,從而能使超市管理者在最短的時間、最少的人力物力的情況下加速商品的周轉(zhuǎn)率,這樣做還能滿足客戶的需求并提高服務質(zhì)量,也能夠很好的處理產(chǎn)品售價的更新等銷售問題,讓超市的管理人員面對市場變幻莫測的情況做出最適合最正確的決策,這在一定程度上就加快了超市的經(jīng)營效率。我設計的這個購物系統(tǒng)實現(xiàn)的功能主要有:新用戶注冊登錄,瀏覽新添加和原來的商品,購買想買或者需要買的商品,添加要買的商品至購物車中,查看剛完成的和歷史的訂單等功能;管理員能夠處理更新用戶、添加刪除商品信息、處理訂單信息、等功能。超市購物系統(tǒng)目前在各個商業(yè)領域都發(fā)揮了很大的作用,也得到了越來越多的大、中、小型超市的應用。第1章緒論1.1設計的目的和意義通過對市場的調(diào)查和對未來前景的分析,針對目前大多數(shù)中、小型超市的實際需求,開發(fā)了這款手機購物APP。作為一家超市工作人員,每天都要分析研究商品的入庫、銷售、更新等各種信息,設計本系統(tǒng)的最終目的是要提高超市的銷售額,給這些超市帶來更多的經(jīng)濟效益。在一定程度上也實現(xiàn)了超市實體店與互聯(lián)網(wǎng)、手機的有效結(jié)合,促進了周邊地區(qū)的消費和超市的收入。1.1.1設計的目的隨著時代的發(fā)展,網(wǎng)絡已經(jīng)被應用到很多行業(yè)和領域。現(xiàn)如今,信息技術和網(wǎng)絡的發(fā)展給商家們提供了一個更廣闊的商品推廣渠道。借助于支付方式的不斷完善,開發(fā)超市購物APP應用,不僅給商家?guī)沓杀镜土男麄鳌⑼茝V、銷售等好處,還可以幫顧客節(jié)約時間,減去排隊等候付款的煩惱,感受全新的購物體驗。設計此手機超市購物應用,使超市管理員能夠很方便地查詢商品銷售情況以及對商品種類、價格進行添加、刪除,以促進營業(yè)額的上升,提高工作效率,節(jié)省了成本。該軟件的設計目標是盡量降低人力與物力資源的消耗,提高處理數(shù)據(jù)的速度,面向各超市,實現(xiàn)對商品進行有序快速的交易。1.1.2設計的意義我這次設計的是一個基于Android的超市購物系統(tǒng),超市管理者或者消費者用一部普通的Android手機,登錄進入該軟件,就可以對商品進行一些基本操作。
該購物軟件成功地讓使用它的人不用非要在電腦端購物,也不用抽大量的時間去超市查詢各類商品。只要擁有Android手機,用戶就可以隨時隨地的購買商品。對超市管理者而言,在網(wǎng)絡平臺上銷售商品使得庫存的壓力變小了、成本變低了,況且管理者用手機就能看到新老顧客購物過后的反饋信息和建議,這樣方便經(jīng)營者調(diào)整營銷戰(zhàn)略,獲得更大的收益。手機購物打破了傳統(tǒng)商務的障礙,對很多消費者、各中、小型超市還有經(jīng)濟市場起到了很大的影響,順應了社會的發(fā)展,使購物更加便利而又人性化。1.2設計的方法和技術1.2.1開發(fā)環(huán)境系統(tǒng)的軟硬件平臺表1-1硬件運行環(huán)境的配置要求:環(huán)境配置CPU建議i7內(nèi)存建議4G以上硬盤空間建議8G以上表1-2軟件運行環(huán)境的配置要求:環(huán)境配置操作系統(tǒng)Microsoft10數(shù)據(jù)庫SQLServer開發(fā)工具AndroidStudio1.2.2開發(fā)語言面向?qū)ο笫钱斍跋鄬Χ员容^流行的一種程序設計思想,其基本的設計思路是使用對象、類、方法等基本的軟件設計概念來進行程序開發(fā)復用性增強。對象是指現(xiàn)實世界中客觀存在的事物擬物成軟件系統(tǒng)的組成元素,并且在軟件系統(tǒng)開發(fā)過程中運用人類自己的自然思維方式進行軟件開發(fā)過程。面向?qū)ο蠹夹g強調(diào)在軟件開發(fā)過程中面向客觀世界真實存在的事物,采用人類在認識客觀世界的過程中普遍運用的思維方法,直觀、自然地描述客觀世界中的有關事物[8]。面向?qū)ο蠹夹g的基本特征主要有封裝、繼承和多態(tài)[5]。(1)封裝:封裝是指將具有一致的屬性和行為的對象抽象成單獨的類。一個類就是這樣的一種單獨的抽象模式,它包含了與程序的對象有關的重要的性質(zhì),而忽略其他無關的內(nèi)容。任何類的劃分都是我們主觀意義上的,但是類的劃分必須是和我們設計的程序有關[13]。(2)繼承:繼承性是子類共享父類數(shù)據(jù)結(jié)構(gòu)和方法的一種方便的實現(xiàn)代碼結(jié)構(gòu)完整性的機制,子類可以共享父類的全部公有描述,但是還可以進行必要的修改和擴充[13]。(3)多態(tài):多態(tài)性使指相同的操作或函數(shù)其過程可作用于多種類型的對象上并獲得不同的結(jié)果。不同的對象,收到同一消息可以產(chǎn)生不同的結(jié)果,這種現(xiàn)象稱為多態(tài)性。多態(tài)指允許每個對象以適合自身的方式去響應共同的消息[8]。多態(tài)性增強了軟件的靈活性[13]。
第2章系統(tǒng)分析2.1業(yè)務流程的概述用戶進入首頁后看到的界面從上到下依次是位置定位、新品圖片、功能條款、秒殺促銷,用戶點擊“分類”即可進入所有的商品列表,在商品列表界面點擊任意商品,用戶就能了解該商品的詳細信息。若用戶喜歡該商品,可將其加入購物車,隨時結(jié)算,提交訂單,即完成了一次購物。2.2可行性分析該系統(tǒng)從經(jīng)濟、操作、運行、技術多個方面進行分析其可行性,按照我本人對Java程序設計語言和安卓知識的了解,本系統(tǒng)的可行性分析主要從以下四個方面進行介紹。2.2.1經(jīng)濟可行性分析該系統(tǒng)要用到的AndroidStudio軟件獲得很便捷,就是直接從網(wǎng)上下載,不需要任何費用,并且該系統(tǒng)又是我自己獨立完成,可以節(jié)省很多花銷,在一定程度上也提高了自己的動手能力。2.2.2操作可行性分析該軟件操作起來非常簡便,只要會用安卓手機的人都可以輕松上手,軟件的所有購物流程都使用了很好用的交互界面,操作起來也很簡單便利,用戶也不用非要掌握它的工作原理和流程。所以來說,該軟件在操作方面是可行的。2.2.3技術可行性分析從事IT行業(yè)的人們一般至少都要懂得計算機和手機的一些基礎知識,也就是說一定要有一定的軟硬件基礎知識,也要會用各種基本的管理軟件。在現(xiàn)在社會人們都有或多或少的電腦知識,跟不用說企業(yè)高層的管理層人員了,只要會一些電腦知識,在投入使用已設計好的新軟件時,只要培訓一些少量的管理人員,軟件就能夠順利的使用和運行了,因為其后臺管理界面友好,整個軟件的功能和使用方法也能夠被大多數(shù)員工了解并掌握,操作管理員即使不會任何數(shù)據(jù)庫知識也能很快使用。2.2.4運行可行性分析本系統(tǒng)為一個簡單的手機網(wǎng)上購物系統(tǒng),所消耗的資源比較少,電腦配置能夠支持開發(fā)軟件的正常運行,又由于開發(fā)環(huán)境的搭建成功,所以本系統(tǒng)運行上是可行的。2.3系統(tǒng)結(jié)構(gòu)分析本系統(tǒng)是一款在智能手機上網(wǎng)上購物的應用,總共分為五個大功能模塊:首頁顯示模塊、商品分類模塊、添加購物車模塊、查看訂單模塊、個人中心模塊,主要目的是設計一款方便消費者在手機上超市購物的應用。2.3.1首頁模塊首頁模塊顯示的首先豎列的秒殺信息和橫向的廣告,橫向能左右滑動豎向能上下,用戶在首頁上方或下方秒殺商品處點擊商品的圖片就能進入到該商品的詳情頁面,在詳情頁面中用戶可根據(jù)自己的需要將該商品加入購物車或者直接購買,數(shù)量也是可自由增加或減少的,也是附近店鋪,促銷專場,禮券,錢包等功能的入口界面。2.3.2商品分類模塊在商品分類模塊用戶可以選擇查看不同類別的商品,比如食品部和聯(lián)營部等等,每一類別的商品又有不同的分區(qū),例如生鮮類就包括蔬菜和雜糧分區(qū)。每一個分區(qū)又包含了很多商品種類,此時點擊這些商品種類,會顯示這類商品的全部品牌,用戶根據(jù)自己的喜好來選擇不同品牌不同類別的商品。豐富而又不復雜的分類模塊能讓用戶簡便快速找到自己心儀的商品。2.3.3購物車模塊用戶在查看購物車之前須先登錄自己的賬號和密碼,沒有登錄的話該界面會提示“請登錄”的消息。該模塊能實現(xiàn)的功能有:將要買的商品添加至購物車中、編輯商品數(shù)量直到滿足自己的需求、把加入購物車中的商品顯示出來。2.3.4訂單模塊該模塊的功能有:提交已付款的訂單、選擇適合自己的支付方式、全部費用結(jié)算、查看已完成的和未完成的訂單。在購物車中確定要買的商品進行費用結(jié)算,然后完善收貨信息(對于備注,可表明對商品的需求)就完成了訂單,跳轉(zhuǎn)到支付頁面,顯示若干種付款方式,用戶按照適合自己的付款方式,此項訂單就產(chǎn)生了。2.3.5個人中心模塊個人中心模塊主要包括:管理收貨地址、服務與用戶反饋、配送管理、幫助說明、給朋友們推薦使用該應用。例如:增加新的收貨地址或者刪除已經(jīng)不用的收貨地址,服務與用戶反饋則給客戶提交自己建議的空間,主要是一些輔助功能。
第3章總體設計3.1系統(tǒng)功能結(jié)構(gòu)該系統(tǒng)分為客戶端和服務端:客戶端主要是用戶的注冊、登錄、瀏覽商品、選購商品、加入購物車、查看訂單;服務端主要是管理員對用戶、商品、訂單的管理,在整個系統(tǒng)中他們具有不同的功能和權限。該軟件系統(tǒng)功能結(jié)構(gòu)圖如圖3-1所示: 圖3-1系統(tǒng)功能結(jié)構(gòu)圖3.1.1客戶端客戶端是供用戶購物的,其包含了用戶的注冊與登錄、瀏覽商品、加入購物車、查詢訂單、支付等功能,它負責直接和用戶交互的功能。用戶進入軟件如果以前注冊過就會把以前加入購物車的記錄和訂單記錄重新顯示,只有登錄過后才能把商品加入購物車或夠買商品,沒有登錄的話系統(tǒng)會跳到登錄界面提示用戶先登錄,在用戶注冊的時候必須用不同的信息注冊,例如用戶的手機號以前注冊過就會提示用戶此手機號已注冊,當用戶購買的時候用戶能根據(jù)支付方式去選擇自己需要的支付方式,只有在輸入正確的用戶名和密碼的情況下才能購買,否則會提示密碼錯誤,當購買成功后會調(diào)到購買成功界面,其功能流程圖如圖3-2所示:圖3-2系統(tǒng)流程圖3.1.2服務端服務端主要用于服務端的管理員管理用戶、商品和訂單等方面,用戶包括用戶名、密碼、電話等一些個人信息,商品包含商品名、圖片、價格、數(shù)量等信息,訂單包括時間、地址等屬性信息。其E-R圖如下3-3所示:圖3-3E-R圖3.2軟件的體系結(jié)構(gòu)本軟件是典型的Android超市購物客戶端,采用建立在Android系統(tǒng)之上的ApplicationFramework應用程序架構(gòu)。本軟件遵循MVC架構(gòu)設計原則,即數(shù)據(jù)(模型,Model)、視圖(View)和控制器(Controller),三層有自己所要完成的任務,但又相互聯(lián)系。模型層中主要封裝了要用到的實體類,因為這些類要重復利用,本軟件主要數(shù)據(jù)來源于服務器,數(shù)據(jù)層中存儲了所有數(shù)據(jù)列表的信息、圖片列表信息,內(nèi)容以JSON文件形式保存于緩存空間里,這些JavaBean主要就是封裝從服務器請求數(shù)據(jù)的信息??刂破鲗臃庋b了一些程序的邏輯。為視圖層展示做準備,控制器主要負責本項目的邏輯部分,包括數(shù)據(jù)調(diào)用邏輯、數(shù)據(jù)計算與視圖關系的邏輯處理等等。邏輯層在代碼上主要表現(xiàn)為各個視圖控制器,設置了整個應用各個視圖之間如何切換,數(shù)據(jù)關系如何協(xié)調(diào)等,其中在本次設計中我使用了很多的方法來簡化代碼,也是銜接視圖層和數(shù)據(jù)層最重要的部分。視圖層中處理數(shù)據(jù)顯示的部分,XML布局可以視為V層,顯示Model層的數(shù)據(jù)結(jié)果Google提供了Android視圖層中的各個類,自己可以對各種基本控件進行組裝和排版,構(gòu)成應用需要的特定的視圖控件,如軟件標題設置紅底白字、在用戶體驗至關重要的點擊處理過程中,大部分控件設置了相應的視覺效果,如各種控件按鈕點擊后變色、背景圖片和部分視覺效果等。3.3界面設計目前Android界面設計的方法主要有兩種:第一種是用Java編寫的代碼實現(xiàn)。第二種是基于xml的實現(xiàn)。對于界面設計而言,客戶端注重用戶的操作體驗和頁面之間的層級關系。受“屏幕小、觸屏操作容易出現(xiàn)錯誤、網(wǎng)速的限制問題”等的條件制約,移動的UI設計需要考慮精簡頁面布局、提高圖片的加載效率、減少輸入等問題。具體辦法可以這么做:(1)對原有的信息進行簡要整合分析并重組,避免頁面布局的復雜性。(2)為了更多的展示信息,本軟件整體用Fragment和ViewPager實現(xiàn)讓用戶既能點擊下面的按鈕切換又能左右滑動來切換不同的功能界面。(3)以精簡為主??紤]到手機屏幕的尺寸問題,因此頁面內(nèi)容要足夠的精簡,這就要求主元素內(nèi)容要夠“大”,同時去掉不必要的元素。
第4章詳細設計與實現(xiàn)本章主要闡述了首頁模塊,所有商品各種分類模塊、整理購物車模塊、處理所有訂單模塊、個人中心模塊五大模塊的詳細內(nèi)容,并且詳細介紹了各個模塊主要功能的實現(xiàn)方法。每塊功能都用實際效果截圖來更加清晰的展示了該模塊用到的知識和技術,接著用部分典型功能的實現(xiàn)代碼來進行進一步說明。4.1基本功能類設計在基類功能模塊中,主要實現(xiàn)了各模塊所用到的一些復用類以及若干視圖控制器類,主要是視圖控制器方法的封裝,供各個實體控制器調(diào)用,這里說幾個。UtilTool類為了提高性能,利用線程池創(chuàng)建線程了10個線程利用handler和接口回調(diào)供各實體控制器調(diào)用,調(diào)用此類能得到正確的返回的字符串,和錯誤的信息然后供調(diào)用者根據(jù)不同的返回信息進行不同的處理。UserManager類該類是工具類,是保存一些信息到本地,主要用途是封裝用戶的數(shù)據(jù)到本地,例如登錄記錄,錢包登錄記錄,當用戶再次登錄的時候不用再次輸入,提高用戶體驗,供各個實體類調(diào)用。3.StringUtils類該類是一些字符串的轉(zhuǎn)換,主要功能是一些驗證的正則表達式,對手機號的驗證,郵箱的驗證double和int的轉(zhuǎn)換,取整和保留位數(shù)的使用。MD5key類和Coder類整兩個類是加密類,MD5key是用來MD5加密,當用戶注冊的時候密碼直接用MD5加密,因為MD5加密是不可逆的和唯一的,所以直接把MD5加密后的字符串存到數(shù)據(jù)庫,登錄驗證的時候也用MD5加密的字符串驗證,Coder是RAS加密的工具類,該類用于當用戶支付的時候和轉(zhuǎn)賬的時候確保安全性。AddBuyCar這兩個類會在帶有加入購物車功能的界面用到,用來添加商品到購物車,為了提高代碼的復用性,我把這這個功能封裝成一個類4.2首頁功能模塊首頁功能模塊是用戶進入軟件后首次看到的模塊主要用來瀏覽廣告列表、進入附近店鋪,錢包,促銷專場,名優(yōu)特產(chǎn),滴購,禮來了等功能的入口,用戶可根據(jù)需要選擇點擊進入任意功能,這個模塊也是整個購物軟件中最重要的功能模塊。4.2.1首頁功能模塊架構(gòu)首頁包括廣告頁和內(nèi)容頁,分別由Scrolview,ListView和ViewPager三個控件實現(xiàn)。ListView控件控制豎向的廣告,ViewPager控件控制橫向的廣告,Scrolview主要的作用是控制整體滑動。Include封裝了八個入口列表視圖,而由于主頁場景中分布了多個功能模塊的視圖界面,此頁面作為主頁界面,該頁面中同時包含了其他模塊的部分邏輯功能,也是其它模塊的入口。主頁模塊主要涉及了若干視圖類,封裝了程序的主要應用邏輯以及界面布局構(gòu)造。主要的類如下:FirstpageFragment類該類是的軟件首頁類,首頁的所有控件都是在此類中實現(xiàn)。該類盛放了首頁的所有控件和邏輯。Typesleftadapter類該類繼承于BaseAdapter,主要是Listview控件的數(shù)據(jù)的填充,主要實現(xiàn)了省份列表各視圖的設計,提供了主頁列表單元格的共有模型,點擊此控件城市和店鋪會跟隨變化,其他入口的界面也會更具不同的選擇具有不同的變化。3.Typesadapter類該類是GridView的適配器,GridView的所有數(shù)據(jù)填充都在此類中。4.2.2廣告頁面的實現(xiàn)ViewPager是Android開發(fā)中最常用的基本視圖控件之一,用于構(gòu)建橫向列表視圖控件。軟件中所有列表控件,如五個主要視圖的切換、橫向廣告的切換列表均使用了ViewPager控件進行列表的構(gòu)造。通過FirstPageradapter適配器事項橫向列表數(shù)據(jù)的填充。FirstPageradapter繼承于PagerAdapter(滾動視圖),可對各種列表拖動過程操作進行控制和監(jiān)控。ViewPager通過重寫instantiateItem和destroyItem的委托方法來讀取數(shù)據(jù)和實現(xiàn)數(shù)據(jù)的加載銷毀,涉及的主要方法和相應邏輯如下:1.列表中橫向廣告數(shù)量:@OverridepublicintgetCount(){returnInteger.MAX_VALUE;}讓適配器默認返回最大值返回無數(shù)多個用于循環(huán)滑動2.返回需要顯示的視圖:@OverridepublicObjectinstantiateItem(ViewGroupcontainer,intposition){position%=listimage.size();ImageViewview=listimage.get(position);ViewParentvp=view.getParent();if(vp!=null){ViewGroupparent=(ViewGroup)vp;parent.removeView(view);}container.addView(view);returnview;}。返回列表中對應的對象,包含了圖片、文本等多種視圖控件和一部分排版邏輯代碼。設計樣式具體如圖4-1所示:圖4-1ViewPager效果圖實現(xiàn)的關鍵代碼:privatevoidinitImageView(){listimage=newArrayList<ImageView>();for(inti=0;i<list.size()*100;i++){finalinta=(i%list.size());finalImageViewimageView=newImageView(getActivity());imageView.setTag(list.get(a).getbGoodsORStoreNo());imageView.setScaleType(ImageView.ScaleType.FIT_XY);imageView.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Stringpage=(String)imageView.getTag();if(page.equals("2")){Intentintent=newIntent(getActivity(),GoodsDetailsActivity.class);intent.putExtra("storeno",list.get(a).getcStoreNo());intent.putExtra("goodsno",list.get(a).getAdcGoodsNo());intent.putExtra("type","FirstpageFragment");intent.putExtra("cMall_No",list.get(a).getcMall_No());startActivity(intent);}elseif(page.equals("1")){Intentintent=newIntent(getActivity(),AroundContentActivity.class);intent.putExtra("storeno",list.get(a).getcStoreNo());intent.putExtra("storename",list.get(a).getcStoreName());intent.putExtra("cMall_No",list.get(a).getcMall_No());intent.putExtra("type","FirstpageFragment");startActivity(intent);}if(page.equals("0")){Intentintent=newIntent(getActivity(),WebViewActivity.class);intent.putExtra("url",list.get(a).getAdSkipUrl());Log.i("tag",list.get(a).getAdSkipUrl());intent.putExtra("cMall_No",list.get(a).getcMall_No());startActivity(intent);}}});listimage.add(imageView);}FirstPageradapterfirstPageradapter=newFirstPageradapter(listimage);viewpagerfirst.setCurrentItem(Integer.MAX_VALUE/2);viewpagerfirst.setAdapter(firstPageradapter);problem();for(inti=0;i<listimage.size();i++){Picasso.with(getActivity()).load(URLConfig.imageUrl+list.get((i%list.size())).getAdImagePath()).into(listimage.get(i));}}使用ListView實現(xiàn)加載數(shù)據(jù)madapter=newFirstListAdapter(getActivity());id_listview.setAdapter(madapter);利用ListView實現(xiàn)加載豎向的數(shù)據(jù)ListView是應用中使用數(shù)量最多的控件也是應用中最流行的數(shù)據(jù)加載控件。在現(xiàn)在的開發(fā)模式中,用到了listView和ViewPagerd的功能這一功能是非常流行的,這樣既能橫向滑動用能豎向滑動,也是用戶最為接受的,同時進行了創(chuàng)新的用戶界面設計。由于動作邏輯和實現(xiàn)代碼非常相似,故本節(jié)介紹該功能的操作流程。其實現(xiàn)的效果圖如下圖4-2所示:圖4-2實現(xiàn)的效果圖關鍵代碼如下:@Override
publicViewgetView(intposition,ViewconvertView,ViewGroupparent){
ViewHoldviewHold;
if(convertView==null){
viewHold=newViewHold();
convertView=LayoutInflater.from(context).inflate(R.layout.firstlistadapter,null);
viewHold.imageView=(ImageView)convertView.findViewById(R.id.imagefirst);
convertView.setTag(viewHold);
}
else{
viewHold=(ViewHold)convertView.getTag();
}
Stringurl=list.get(position).getAdImagePath();
url=URLConfig.imageUrl+url;
Picasso.with(context).load(url).into(viewHold.imageView);
returnconvertView;
}
classViewHold{
ImageViewimageView;4.2.3附近店鋪,促銷專場和名優(yōu)特產(chǎn)的實現(xiàn)這三個模塊基本實現(xiàn)都一樣都是用ListView顯示要加載的數(shù)據(jù),附近店鋪就是用戶最近的商店,促銷專場是用來顯示商家要促銷的商品,名優(yōu)特產(chǎn)是一些有特價的商品在現(xiàn)在的開發(fā)模式中,用到了listView的Contentview的復用功能,這樣既能友好的展示,還能防止內(nèi)存溢出,所以本軟件的各個模塊均使用了此功能。其界面基本類似如圖4-3所示。圖4-3實現(xiàn)的效果圖4.2.4禮券的實現(xiàn)禮券的主要功能就是展示商家發(fā)的優(yōu)惠券,用戶領取以后會根據(jù)后臺的處理省去一些錢,其主要功能就是根據(jù)商家的需要去銷售商品,禮券上展示的主要有此禮券可用和當消費費用達到多少時能用,主要實現(xiàn)也是用到了用到了listView的來展示,能夠更具服務器的個數(shù)動態(tài)展示。由于動作邏輯和實現(xiàn)代碼非常相似,故本節(jié)介紹該功能的操作流程。其實現(xiàn)的效果圖如下圖4-4所示:圖4-4實現(xiàn)的效果圖4.3分類模塊的設計分類模塊是用戶主要用來瀏覽商品列表、通過進行對商品的過濾查看想要的商品詳情的部分,用戶可根據(jù)選擇點擊進入任意應用詳情界面。4.3.1分類模塊架構(gòu)分類模塊主要由主頁和內(nèi)容頁兩個頁面組成,分別由ListView,TabLayout和GridView三個視圖控制器控制。ListView視圖顯示總分類的商品,點擊ListView對應的Item,TabLayout的數(shù)據(jù)和GridView的數(shù)據(jù)會發(fā)生變化,點擊TabLayout后GridView的內(nèi)容也會顯示對應中類下的商品,根據(jù)用戶的需要能進入商品目錄,或商品詳情界面。分類模塊主要涉三個主要控件,和三個對應的數(shù)據(jù)適配器類。主要的類如下:1.Typesleftadapter類該類是分類的大類適配器類,在該類中主要是調(diào)用各個基類的方法實現(xiàn)界面UI的設計。2.Typesadapter類該類是GridView的適配器,GridView的所有數(shù)據(jù)填充都在此類中。該類是分類內(nèi)容小類頁面,通過調(diào)用基類中的方法統(tǒng)一管理了應用正文頁面中UI的布局和其他手勢的視圖邏輯。通過幾點可以調(diào)到商品列表頁面。4.3.2分類界面的實現(xiàn)其主要實現(xiàn)的代碼為:privatevoidinitleft(){//初始化左面的適配器
if(typesleftadapter==null){
typesleftadapter=newTypesleftadapter(getActivity());
}
typesleftadapter.setData(typeleftlist);
leftlistview.setAdapter(typesleftadapter);
leftlistview.post(newRunnable(){
@Override
publicvoidrun(){
if(leftlistview.getChildAt(0)!=null)
leftlistview.getChildAt(0).findViewById(R.id.visible).setVisibility(View.VISIBLE);
}
});
}
privatevoidinittop(){
tabLayout.removeAllTabs();
tabLayout.setTabMode(TabLayout.MODE_SCROLLABLE);//設置tab模式</code>能滑動
for(inti=0;i<typetoplist.size();i++){
tabLayout.addTab(tabLayout.newTab().setText(typetoplist.get(i).getGrName2()));
}
}
privatevoidinittypes(){
if(adapter==null){
adapter=newTypesadapter(getActivity());
typesgridview.setAdapter(adapter);
}
adapter.setData(typesitemlist);
adapter.notifyDataSetChanged();
}在應用列表界面的設計主要還是調(diào)用requestDataleft,requestDataTop和requestDataSmall中的方法,來進行頁面的數(shù)據(jù)的請求,然后進給ListView,TabLayout,和GridView數(shù)據(jù)的填充。分類實現(xiàn)的效果和搜索實現(xiàn)的效果如下圖4-5,4-6所示:圖4-5分類界面實現(xiàn)效果圖圖4-6搜索界面實現(xiàn)效果圖4.3.3.商品目錄的實現(xiàn)該類繼承于AppCompatActivity,主要實現(xiàn)了分類列表各視圖的設計,提供了分類商品下的各種對應商品的列表,實現(xiàn)起來比較簡單,效果如圖4-7。圖4-7商品種類的實現(xiàn)效果圖4.3.4商品列表的實現(xiàn)該類是繼承于AppCompatActivity類,是GoodsListActivity中ListView點擊以后進入的界面類,主要顯示此種商品下對應的所有商家的商品,通過點擊加入購物車圖標調(diào)用AddBuyCar類實現(xiàn)加入購物車功能,效果如圖4-8。圖4-8每種商品的添加購物車實現(xiàn)效果圖4.4購物車模塊的設計購物車模塊是用戶主要用來瀏覽已添加到購物車的商品列表、進行購買前數(shù)量的選擇和取消添加的部分,用戶可根據(jù)選擇點擊加減按鈕進行數(shù)量的選取和刪除,也是最復雜的一個模,本節(jié)主要闡述的是購物車模塊內(nèi)部的技術實現(xiàn)方法。4.4.1購物車模塊架構(gòu)購物車模塊主要由ListView控件實現(xiàn),ListView界面中嵌套RadioButton,Button等控件。主要有商品的數(shù)量改變的點擊事件,和一些價格的運算,購物車模塊主要涉及了三個視圖控制器類,一個是數(shù)據(jù)封裝類Buycar,主要是封裝購物車要顯示的主要信息,另一個就是加入購物車的類AddBuyCar主要作用是邏輯處理和數(shù)據(jù)提交。主要的類如下:BuycarAdapter類該類是繼承BaseAdapter類,是購物車中ListView數(shù)據(jù)填充的類,購物車所有邏輯的實現(xiàn)和各種點擊事件的處理都在這個類中實現(xiàn),這個類也是此軟件最復雜的ListView的適配器。4.4.2購物車的實現(xiàn)其主要實現(xiàn)方法和商品分類一樣都是Fragment忠放ListView然后用BucarAdapter填充listView數(shù)據(jù),其中加入購物車的方法有兩種,一種是手動加入購物車,另一種是打開軟件登錄的時候會根據(jù)用戶以前的購物車的商品從服務器請求加進去,重新顯示,其主要代碼如下:1.打開軟件首次加載:publicvoidrequestData(){
Stringuserno=UserManager.getUser(getActivity());
Stringdata="name=[{\"cOSS_No\":\""+SendMessage.cOSS_No+"\",\"cMall_No\":\"\",\"userNo\":\""+userno+"\"}]";
Log.i("tag",data);
UtilTool.get(URLConfig.requestBuycar,newUtilTool.Callback(){
@Override
publicvoidresponse(Stringurl,Stringstr){
try{
Log.i("tag",str);
JSONObjectobj=newJSONObject(str);
StringresultStatus=obj.getString("resultStatus");
if(resultStatus.equals("1")){
JSONArrayarray=obj.getJSONArray("dDate");
Gsongson=newGson();
list=gson.fromJson(array.toString(),newTypeToken<List<Buycar1>>(){
}.getType());
adapter.setData(list);
Log.i("tag","購物車"+list);
}
else{
adapter.setData(newArrayList<Buycar1>());
}
adapter.notifyDataSetChanged();
}catch(Exceptione){
e.printStackTrace();
}
}
},data);
}加入購物車的代碼:publicstaticvoidjudgeaddcar(Buycarbuycar,finalAddaddbuycar){//向網(wǎng)絡請求加入購物車ArrayList<Buycar>listbuycar=newArrayList<Buycar>();listbuycar.add(buycar);Gsongson=newGson();Strings=gson.toJson(listbuycar);//應為服務器的格式是集合格式所以就放在集合轉(zhuǎn)成這樣finalStringdata="name="+s;UtilTool.get(URLConfig.addbuycar,newUtilTool.Callback(){@Overridepublicvoidresponse(Stringurl,Stringstr){if(str.equals("1")){addbuycar.add(true);BuycarFragment.getFragment().requestData();}else{addbuycar.add(false);Log.i("tag",""+data);}}},data);}publicinterfaceAdd{publicvoidadd(booleana);}publicinterfaceReduce{publicvoidcut(booleana);}由于在購物車界面中視圖的加載控件都是用代碼寫的,所以代碼量會比較多,但是效果還是完成了預期。實現(xiàn)的效果圖如下圖4-9所示:圖4-9購物車頁面實現(xiàn)效果圖4.5訂單模塊的設計訂單模塊分四個功能模塊、提交訂單功能,支付功能,瀏覽訂單功能和查看訂單詳情功能,用戶可從購物車進入提交訂單模塊也可從商品詳情進入訂單模塊。4.5.1模塊架構(gòu)提交訂單模塊主要由主頁和內(nèi)容頁兩個頁面組成,主要有分別由LinearLayout和DrawLayout兩個視圖控制器控制。LinearLayout用來顯示主頁,DrawLayout用來側(cè)拉頁面。瀏覽訂單模塊比較簡單主要負責顯示用戶已經(jīng)下單的數(shù)據(jù)。BuycarContentActivity類該類是購物車的最重要的類,由于購物車主頁UI設計的內(nèi)容非常多且操作復雜,故該類包含了眾多視圖邏輯的代碼,包括關于應用模塊的單元格的布局方法的調(diào)用等邏輯。在該類中主要是調(diào)用各個基類的方法實現(xiàn)界面UI的設計。2.OrderGiftAdapter類該類是適配器類,也是優(yōu)惠券DrawLayout中ListView的數(shù)據(jù)填充類,主要判斷是不是有優(yōu)惠券和優(yōu)惠的額度。3.BuycarContentAdapter類該類是集成BaseAdapter類,是右面DrawLayout中Listview的適配器類,主要是當購買商品過多時,用可滑動的ListView以列表的形式展示要購買的商品。4.5.2提交訂單頁面的實現(xiàn)BuycarContentActivity的頁面主要有三部分構(gòu)成,分別是用戶的購買地址信息,需要該買的商品信息,和備注,通過這幾部分的集合視圖,可實現(xiàn)不同的信息的展示,聯(lián)系人信息用圖片隔開更有層次感,通過DrawLayout能讓屏幕空間充分利用。DrawLayout和ListView的組合是一種新的數(shù)據(jù)視圖展示方式,這種方式更加靈活,能盡可能的展示更多的信息。實現(xiàn)一個這個效果的方法就是DrawerLayout里面嵌套ListView基本和寫ListView沒有什么大區(qū)別,當側(cè)拉的時候或者點擊右面的圖標的時候會展示出來。在本次設計中其主要實現(xiàn)代碼如下:1.提交訂單的代碼:promocode.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
drawerLayout.openDrawer(linear1);//用于打開菜單
}
});privatevoiduoload(){//提交給服務器dialog.show();Gsongson=newGson();Stringstr=gson.toJson(orderitems);finalStringdata="name="+str;Log.i("tag","提交訂單"+data);UtilTool.get(URLConfig.uploadOrder,newUtilTool.Callback(){@Overridepublicvoidresponse(Stringurl,Strings){try{JSONObjectobject=newJSONObject(s);Stringstr=object.getString("resultStatus");if(!str.equals("0")){Toast.makeText(getApplicationContext(),"成功",Toast.LENGTH_SHORT).show();BuycarAegerListMap.clear();BuycarFragment.getFragment().requestData();Log.i("tag",data);Intentintent=newIntent(getApplicationContext(),PayDemoActivity.class);StringcStoreName=getIntent().getStringExtra("cStoreName");intent.putExtra("storename",cStoreName);intent.putExtra("orderno",str);//訂單編號intent.putExtra("cStoreNo",cStoreNo);Log.i("tag","單號"+str);if(orderitems.get(0).getfLastMoney()!=null){intent.putExtra("lastMoney",orderitems.get(0).getfLastMoney());startActivity(intent);}orderitems.clear();OrderFragment.getFragment().judge();//更新訂單;finish();}else{Toast.makeText(getApplicationContext(),"失敗",Toast.LENGTH_SHORT).show();Log.i("tag",data);}}catch(Exceptione){}dialog.dismiss();}},newUtilTool.ErrorCallback(){@Overridepublicvoidresponse(Exceptionstr){Log.i("tag",""+str);Toast.makeText(getApplicationContext(),"提交失敗",Toast.LENGTH_SHORT).show();dialog.hide();}},data);}提交訂單頁面的最終的實現(xiàn)效果如下圖4-10所示:圖4-10提交訂單頁面實現(xiàn)效果圖‘4.5.3訂單頁面的實現(xiàn)訂單主要由listView和Button實現(xiàn),其主要的代碼實現(xiàn):viewHold.fukuan.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Intentintent=newIntent(getActivity(),PayDemoActivity.class);Stringd=list.get(position).getfMoney();StringlastMoney=list.get(position).getfLastMoney();StringOverCut=list.get(position).getOverCut();intent.putExtra("cStoreNo",list.get(position).getcStoreNo());intent.putExtra("storename",list.get(position).getcStoreName());intent.putExtra("orderno",list.get(position).getcSaleSheetno());intent.putExtra("lastMoney",lastMoney);startActivity(intent);}});viewHold.xiangqing.setOnClickListener(newView.OnClickListener(){@OverridepublicvoidonClick(Viewv){Intentintent=newIntent(getActivity(),OrderContentActivity.class);intent.putExtra("fMoney",list.get(position).getfMoney());//原價intent.putExtra("FirstSheet",list.get(position).getFirstSheet());//首單減intent.putExtra("OverCut",list.get(position).getOverCut());//慢件intent.putExtra("CouPonMoney",list.get(position).getCouPonMoney());//優(yōu)惠intent.putExtra("PeisongFee",list.get(position).getPeisongFee());//運費intent.putExtra("fLastMoney",list.get(position).getfLastMoney());//最后價格intent.putExtra("SheetNo",list.get(position).getcSaleSheetno());//訂單編號intent.putExtra("Storename",list.get(position).getcStoreName());startActivity(intent);}});StringStat_Id=list.get(position).getStat_Id();Log.i("tag","訂單編號"+list.get(position).getcSaleSheetno()+"訂單編號狀態(tài)"+list.get(position).getStat_Id()+""+list.get(position).getStat_Name());if(Stat_Id.equals("00")){viewHold.fukuan.setVisibility(View.VISIBLE);}else{viewHold.fukuan.setVisibility(View.INVISIBLE);}Stringname=list.get(position).getcStoreName();Stringno=list.get(position).getcStoreNo();viewHold.orderno.setText("訂單編號:"+list.get(position).getcSaleSheetno());viewHold.storename.setText("店鋪名:"+name);viewHold.zhuangtai.setText("付款狀態(tài):"+list.get(position).getStat_Name());viewHold.time.setText("時間:"+list.get(position).getdSaleDate());訂單頁面的最終的實現(xiàn)效果如下圖4-11所示:圖4-11訂單頁面實現(xiàn)效果圖4.5.4訂單詳情頁面的實現(xiàn)訂單詳情主要在OrderContentActivity類中實現(xiàn)上面是訂單信息,下面是買的商品的列表信息最終實現(xiàn)效果如圖4-12所示:圖4-12瀏覽訂單詳情頁面實現(xiàn)效果圖4.5.5支付頁面的設計支付模塊是實現(xiàn)一次購物的流程的最后模塊,根據(jù)需要支付方式有支付寶支付,錢包支付,貨到付款三種支付方式,每一種上品根據(jù)商家的設置,支付方式也不一樣,支付方式客戶端是從服務器獲取的,這樣商家會更加靈活的選擇支付方式,其中錢包支付綁定的是超市會員卡,為了確保和支付寶一樣的安全性,用到了RAS和MD5加密方式。1.PayDemoActivity類該類是支付模塊的主頁類,該類包含了支付流程的邏輯代碼,該視圖主要的內(nèi)容視圖設計都是基于FragmentActivity類來設計。在該類中主要是調(diào)用各個基類的方法實現(xiàn)界面UI的設計和這個支付方式的判斷及點擊事件的處理,這里用到了PopupWindow和自定義View。主要實現(xiàn)代碼如下:privatevoidPayNotify(StringcPayStyleNo,StringcSaleSheetNo,StringfPayMoney){//支付成功以后通知的鏈接Log.i("通知服務器",cPayStyleNo+""+cSaleSheetNo+""+fPayMoney);Stringdata="name=[{\"cOSS_No\":\""+SendMessage.cOSS_No+"\",\"cPayStyleNo\":\""+cPayStyleNo+"\",\"cSaleSheetNo\":\""+cSaleSheetNo+"\",\"fPayMoney\":\""+fPayMoney+"\",\"cPayStyleDetail\":\"明細\"}]";Log.i("tag",data);UtilTool.get(URLConfig.PayNotify,newUtilTool.Callback(){@Overridepublicvoidresponse(Stringurl,Stringstr){Log.i("tag","通知服務器后返回的結(jié)果"+str);OrderFragment.getFragment().judge();}},data);}實現(xiàn)的效果圖如下圖4-13,4-14,4-15所示:圖4-13支付頁面實現(xiàn)效果圖圖4-14選擇支付方式效果圖圖4-15支付成功效果圖4.6我的模塊的設計我的模塊是這幾個模塊中最簡單的模塊,主要是一些輔助功能,在這里主要有修改地址,分享,反饋用的建議。4.6.1模塊架構(gòu)此模塊主要由主頁和內(nèi)容頁兩個頁面組成,主要有分別由LinearLayout和TextView兩個控件布局。LinearLayout用來分配整體的布局,TextView用來顯示具體的內(nèi)容。用戶可以根據(jù)不同的點擊或得不同的點擊效果。4.6.2管理地址的實現(xiàn)此功能是幫助用戶修改購買地址信息通過點擊新增地址按鈕能添加新的地址。實現(xiàn)一個這個效果的方法就是ListView基本和寫ListView沒有什么大區(qū)別。在本次設計中其主要實現(xiàn)代碼如下:提交訂單的代碼:viewHold.button.setOnClickListener(newView.OnClickListener(){
@Override
publicvoidonClick(Viewv){
if(list.size()>1)
UtilTool.get(URLConfig.deladdress,newUtilTool.Callback(){
@Override
publicvoidresponse(Stringurl,Stringstr){
if(str.equ
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年電商企業(yè)個人股份代持與轉(zhuǎn)讓合同3篇
- 2025年度高新技術產(chǎn)業(yè)園區(qū)承包經(jīng)營合同參考3篇
- 2025年度車輛租賃技術支持委托合同模板4篇
- A輪融資合同書2024版版B版
- 二零二五版礦長職務聘用合同范本(礦山行業(yè)專用)3篇
- 鉆井工程設計與優(yōu)化2025年度合同3篇
- 2025年度廚師職業(yè)培訓基地實習合同范本4篇
- 標題17:二零二五年度網(wǎng)絡安全應急演練與培訓合同2篇
- 二零二五年綠色建筑合同能源管理標準范本2篇
- 2025年度環(huán)保型辦公設備批量采購及綠色回收合同4篇
- 中國末端執(zhí)行器(靈巧手)行業(yè)市場發(fā)展態(tài)勢及前景戰(zhàn)略研判報告
- 北京離婚協(xié)議書(2篇)(2篇)
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說明書200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學真題試卷(含答案)
- 無人機應用平臺實施方案
- 2019年醫(yī)養(yǎng)結(jié)合項目商業(yè)計劃書
- 安全生產(chǎn)管理問題與對策探討
- 2024屆浙江寧波鎮(zhèn)海區(qū)中考生物全真模擬試題含解析
- 人教版八年級物理下冊 (功)教育教學課件
評論
0/150
提交評論