網(wǎng)絡(luò)請求框架——網(wǎng)絡(luò)請求可以很簡單

雖然,網(wǎng)絡(luò)上有很多的網(wǎng)絡(luò)請求框架,在git上面也有不少。雖然,很流行retrofit(當(dāng)然,我下一篇也會寫這個玩意)。但是,我感覺,不夠簡潔和好用。所以,自己就索性寫了一個。

當(dāng)然,東西有點(diǎn)多,就不一一介紹了,就講幾個關(guān)鍵點(diǎn)。其他的,我會提供我的git地址。自行看源碼。

ok,先講一個東西。我只講前端的。

以Android為例,我們網(wǎng)絡(luò)請求,是用來干嘛的?

答案:請求服務(wù)器,獲取數(shù)據(jù)或者傳遞數(shù)據(jù)。

那么作為Android端,需要關(guān)注什么呢?

這個問題,可能就沒有前面一個問題好回答了。我這里只是給出自己的理解:

什么時候開始請求(獲取數(shù)據(jù)和傳遞數(shù)據(jù)都通稱為請求),請求結(jié)果是什么,請求過程中該怎么顯示(請求是一個“緩慢”的過程,要給用戶一個比較好的體驗(yàn)),請求完成之后干什么?

當(dāng)然,這不是標(biāo)準(zhǔn)答案,我只是提出我考慮的點(diǎn)。

其實(shí),換成簡潔一些的語言就是:請求開始,請求結(jié)果,請求中的loading,請求結(jié)束后UI的更新或者數(shù)據(jù)的更新。

那么,我們寫這個框架,就要從這幾個角度來思考。

這里,我要著重說一點(diǎn)的是,我們封裝一個東西,一定是為了解決某個或者某一類問題,才做的事情。我們用一個框架,也是要從我們的具體使用場景出發(fā)去考慮是否用這個框架。

好了,道理就講到這里,后面我開始講我寫的這個東西了。我先講使用:




以上就是,要實(shí)現(xiàn)一個網(wǎng)絡(luò)請求所需要的步驟。當(dāng)然,第三步,沒什么需要講的,是個請求都是這么寫的。

是不是很簡潔,特別是調(diào)用的時候,每一句話,都代表了我前面講的那些關(guān)注點(diǎn)。最后再補(bǔ)充一點(diǎn),就是用于一些需要統(tǒng)一處理的情況:


簡單使用,基本就是這樣。

我這個框架里面,幾乎可以實(shí)現(xiàn)你常用的所有需求。

自定義header,上傳文件,普通請求,get,post,body三種請求方式也封裝了。自定義loading,loading和請求綁定,不需要去管理等。

結(jié)構(gòu)也比較簡單:


當(dāng)然,要想真正了解和使用,還是需要下載源碼看看的。

https://github.com/LuckyCode1992/network_framework

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1、張良原是布衣,蕭何曾為縣吏; 韓信未遇之時,無一日之餐; 及至遇行,腰懸三齊玉印。 2、楚霸英雄,敗于烏江...
    hatonqkl閱讀 1,363評論 0 0
  • 01 “腦子一熱就押上全部”,曾經(jīng)我也干過類似的事,現(xiàn)在依稀記得當(dāng)時的感受:虧一點(diǎn)想馬上賺回來,自己都能感覺那時的...
    MSXiang閱讀 160評論 0 1
  • 一個荷花池,第一天荷花開放的很少,第二天開放的數(shù)量是第一天的兩倍,之后的每一天,荷花都會以前一天兩倍的數(shù)量開放。如...
    瑪爾比恩早教Miss楊閱讀 398評論 0 3
  • Meeting you is my luck. ——不用性別決定的愛情 文/墨染殘晝 想...
    安Finan閱讀 1,271評論 0 1

友情鏈接更多精彩內(nèi)容