亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于多種框架的農(nóng)產(chǎn)品電商平臺Android端的研究與設計

        2019-11-03 13:11:42雷靜
        電腦知識與技術 2019年24期

        雷靜

        摘要:隨著移動互聯(lián)技術的發(fā)展,農(nóng)產(chǎn)品銷售也進入互聯(lián)網(wǎng)時代。該項目是一個農(nóng)產(chǎn)品電商平臺,具有多種客戶端:網(wǎng)頁,手機網(wǎng)頁,Android客戶端,IOS客戶端,微信小程序等。該文主要研究Android端應用程序的架構設計。根據(jù)項目的特點及要求,對多種Android網(wǎng)絡通信框架,Android圖片加載框架進行比較后,選擇Volley框架負責與服務器端進行網(wǎng)絡通信;選擇Gson框架實現(xiàn)JSON數(shù)據(jù)與Java對象的轉換;選擇Fresco框架完成大量商品圖片的下載和緩存。通過在項目中引入多種框架,使得系統(tǒng)的架構設計更加高效,更加合理。

        關鍵詞:Android程序;Volley;Gson;Fresco

        中圖分類號:TP311.52? ? ? ?文獻標識碼:A

        文章編號:1009-3044(2019)24-0282-02

        開放科學(資源服務)標識碼(OSID):

        在我國鄉(xiāng)村振興戰(zhàn)略的指引下,移動互聯(lián)技術迅速融入農(nóng)業(yè)發(fā)展的各個方面,農(nóng)產(chǎn)品的銷售途徑也因此有了很大的變化。從單一的實體銷售,向移動電子商務的方向迅猛發(fā)展起來。為了方便用戶的使用,利用移動互聯(lián)技術,電子商務平臺為用戶提供電腦網(wǎng)頁、手機網(wǎng)頁和APP,或是微信小程序等多種訪問方式實現(xiàn)農(nóng)產(chǎn)品信息的快速、便捷地購買。

        1 系統(tǒng)整體設計

        本電子商務平臺的后臺采用Struts2,Spring框架設計完成,分為商家、顧客、管理者三類用戶。商家具有申請開店、編輯商品信息、商品上架、商品下架、商品發(fā)貨等功能;顧客具有瀏覽商品,加入購物車、編輯購物車、編輯收貨地址、付款、查看個人信息,查看訂單等功能;管理者可以管理用戶,查看訂單、查看商品、審核商家等功能。

        根據(jù)當前的用戶需求和技術發(fā)展趨勢,提供多種訪問方式:電腦網(wǎng)頁、手機網(wǎng)頁、App、小程序。用戶對某系統(tǒng)依賴度較低,使用頻次較少時,更愿意選擇手機網(wǎng)頁或是小程序的方式,其主要優(yōu)點是不需要下載安裝,不占存儲空間。但這些方式的缺點是不能記錄用戶登錄狀態(tài),使用時需要登錄,或是因為條件限制功能不夠完善?;贏ndroid系統(tǒng)的App是其中重要的一種訪問方式。Android手機是當前手機用戶的主要選擇,因此一款基于Android的App仍然是一個應用系統(tǒng)的必備用戶訪問方式。

        2 Android端設計

        在Android端主要供農(nóng)產(chǎn)品購買者使用,實現(xiàn)的功能主要包含三大模塊:個人管理、商品瀏覽、購物管理。用戶通過個人管理模塊可以實現(xiàn)用戶登錄與退出,修改密碼,查看個人信息,管理收貨地址等功能;商品瀏覽模塊主要包含首頁、商品分類查詢,商品列表,商品詳情展示等功能;購物管理模塊包含添加商品到購物車,支付管理,訂單管理等功能。

        在項目的架構設計上,項目分成模型層、接口層、核心層、界面層。模型層封裝所有的實體類。在Android程序與服務器端交換數(shù)據(jù)格式是JSON對象,在Android程序中需要轉換為Java對象。這個轉換比較復雜,流程比較煩瑣,采用數(shù)據(jù)解析框架簡化步驟,提高效率。在接口層完成Android程序調用服務器提供的API,需要控制網(wǎng)絡的訪問與服務器的連接。在核心層在接口層和界面層之間,負責處理業(yè)務邏輯。界面層主要負責向用戶展示商品,提供操作交互的窗口。為了提高效率,構建統(tǒng)一的界面風格,采用Fragment類和Activity類相結合的方式設計完成。

        3 網(wǎng)絡訪問框架

        本系統(tǒng)需要Android端與服務器進行頻繁的數(shù)據(jù)交互,傳統(tǒng)的兩種方法HttpURLConnection和HttpClient使用率非常高。但是這兩種方法使用起來稍顯復雜,如果封裝得不適當會造成極大的代碼重復,甚至會影響程序的穩(wěn)定性[1]。Android平臺上有很多網(wǎng)絡通訊的框架:Volley,Retrofit,OKHttp等獲得廣泛的應用。

        Volley是Google推出的異步網(wǎng)絡請求框架和圖片加載框架,特別適合數(shù)據(jù)量小,通信頻繁的網(wǎng)絡操作。OkHttp是Square公司推出的高性能 http 請求開源庫,但使用的時候稍顯復雜[2]。Retrofit是Square公司出品的基于OkHttp封裝的一套RESTful網(wǎng)絡請求框架。該框架使用注解進行配置,方便簡化程序[3]。Retrofit功能強大,但門檻較高;OkHttp性能較高,但需要再次封裝;Volley封裝更好,不適用于較大數(shù)據(jù)的發(fā)送。綜合各方面考慮,本系統(tǒng)采用Volley框架完成網(wǎng)絡層的網(wǎng)絡通信工作。

        4 數(shù)據(jù)轉換框架

        本系統(tǒng)采用服務器/客戶端的結構,服務器與客戶端需要頻繁交互數(shù)據(jù),因此必須選擇一種數(shù)據(jù)量小、安全、通用的數(shù)據(jù)格式作為傳輸?shù)妮d體。JSON作為一種輕量級的數(shù)據(jù)交換語言, 具有安全、快速、通用、數(shù)據(jù)通信量小等特性, 這讓JSON成為理想的數(shù)據(jù)通信方式[4]。但是在Android應用程序與服務器進行數(shù)據(jù)交互的過程中,需要將JSON格式與Java對象進行轉換,這個轉換是很煩瑣的。為了提高效率,在本項目中采用Gson框架實現(xiàn)數(shù)據(jù)轉換。Gson是Google提供的用來進行數(shù)據(jù)JSON格式化和JSON數(shù)據(jù)解析的開源庫[5]。通過Gson框架,一個復雜煩瑣的解析過程只需要幾行代碼就可以實現(xiàn)轉換,可以獲得非常好的封裝性和效率,使用簡單。

        5 圖片加載框架

        電商平臺需要展示較多的圖片,圖片需要占用較多的內存。當用戶在瀏覽商品頁面時,通常會需要快速展示大量圖片,直接訪問圖片將會導致卡頓,用戶體驗不佳,甚至出現(xiàn)內存溢出。在Android中有許多優(yōu)秀的開發(fā)框架,它們有封裝了較好的算法和緩存策略,可以解決各種圖片加載引起的問題,比較常見的圖像處理框架有[6]:Android Universal Image Loader是一個加載、緩存、展示圖片的庫,但已停止更新,不建議使用;Picasso是著名的開源組織Square出品的圖片下載和緩存的框架,使用者較多;Glide是Google的員工基于Picasso開發(fā),優(yōu)化的,Android官網(wǎng)推薦使用的圖片處理框架;Fresco是Facebook開源的圖片處理框架,真正做到了三級緩存,功能強大。

        由于本項目的需要下載和緩存大量各種不同大小、分辨率的商品圖片,因此選擇Fresco框架進行圖片的加載。Fresco中有一個叫作Image Pipeline的模塊。它負責從網(wǎng)絡,從本地文件系統(tǒng),本地資源加載圖片。為了最大限度節(jié)省空間和CPU時間,它含有3級緩存設計。Fresco中有一個叫作Drawees模塊,它會在圖片加載完成前顯示占位圖,加載成功后自動替換為目標圖片[7]。當圖片不再顯示在屏幕上時,它會及時地釋放內存和空間占用。

        6 總結

        在Android應用程序的開發(fā)中,出現(xiàn)了許多優(yōu)秀的開源框架,利用這些框架可以有效地提高效率,簡化步驟,獲得較高的性能。本項目是一個農(nóng)產(chǎn)品電商銷售平臺,需要頻繁與服務器進行數(shù)據(jù)交互,需要加載大量的圖片。根據(jù)項目特點,在整體設計上采用了Volley框架實現(xiàn)網(wǎng)絡通信訪問,采用Gson框架簡化JSON與Java對象的轉換,采用Fresco框架有效下載和緩存圖片。這樣的系統(tǒng)架構設計能夠有效提高系統(tǒng)的效率,簡化開發(fā)的過程,具備較好的可用性和用戶體驗性。

        參考文獻:

        [1] 孟遠. Android 網(wǎng)絡通信框架 Volley 的解析和比較[J]. 軟件, 2014, 35(12): 66-68.

        [2] VaFlower. Android主流常用網(wǎng)絡請求框架簡介[EB/OL]. https://www.jianshu.com/p/2bbfc27cffeb.2018.4.4.

        [3] SHERLOCKvv. 網(wǎng)絡加載框架 – Retrofit[EB/OL]. https://www.jianshu.com/p/0fda3132cf98.2018.1.8.

        [4] 趙鵬, 駱德漢, 梅領亮. 一種基于JSON的Android終端遠程獲取解析數(shù)據(jù)的方法[J].微型機與應用, 2017, 36(21): 57-60.

        [5] 李海平, 陳榮征, 李海文. 基于JSON的Android校園助手研究與設計[J]. 電腦與電信, 2016(16): 24-26.

        [6] Yoo-jeong SONGSoo-bin OUJong-woo LEE. An Analysis of Existing Android Image Loading Libraries: Picasso, Glide, Fresco, AUIL and Volley[C]. Proceedings of 2016 International Conference on Informatics, Management Engineering and Industrial Application (IMEIA 2016), 2016(4).

        [7] Fresco[EB/OL]. https://www.fresco-cn.org/.

        【通聯(lián)編輯:謝媛媛】

        国产台湾无码av片在线观看| 蜜桃成熟时日本一区二区| 亚洲国产综合久久天堂| 亚洲天堂精品成人影院| 7m精品福利视频导航| 黄色成人网站免费无码av| 人妻少妇精品无码专区二| 人妖另类综合视频网站| 久久人妻精品中文字幕一区二区| 亚洲成人激情深爱影院在线| 亚洲一区二区三区,日本| 亚洲国产精品久久久久秋霞小说| 欧美熟妇性xxx交潮喷| 亚洲性无码av在线| 亚洲av无码一区二区乱子仑| 一区二区三区国产97| 漂亮人妻出轨中文字幕| 全免费a敌肛交毛片免费| 日韩人妻无码免费视频一区二区三区 | 亚洲一区二区三区av天堂| 国产人成视频在线视频| 国产肉体xxxx裸体137大胆| 五十路熟妇亲子交尾| 视频网站在线观看不卡| 国产免费人成视频在线观看播放播 | 夜色阁亚洲一区二区三区| 亚洲av综合色区久久精品天堂 | 久久精品国产亚洲vr| 亚洲精品国产精品系列| 日韩女同在线免费观看| 久久国产色av免费观看| 国产在线精品欧美日韩电影| 亚洲无码一二专区| 亚洲成A人A∨久在线观看| 国产专区国产精品国产三级| 无码人妻一区二区三区免费看| 欧美人妻精品一区二区三区| 超碰Av一区=区三区| 亚洲一区二区三区免费av| 91成人自拍国语对白| 免费无码黄动漫在线观看|