欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

flutter網(wǎng)絡(luò)請(qǐng)求,flutter網(wǎng)絡(luò)請(qǐng)求框架

Flutter 之網(wǎng)絡(luò)請(qǐng)求Dio, FormData, 表單網(wǎng)絡(luò)請(qǐng)求, x-www-form-urlencoded

網(wǎng)絡(luò)請(qǐng)求, 先想到的是dart官方維護(hù)的 http 庫(kù). 由于我們項(xiàng)目組網(wǎng)絡(luò)請(qǐng)求都采用的表單結(jié)構(gòu), http 貌似不支持表單格式的網(wǎng)絡(luò)請(qǐng)求; 后來查看 dio 庫(kù), 發(fā)現(xiàn)支持 FormData , 完美解決!

在渭城等地區(qū),都構(gòu)建了全面的區(qū)域性戰(zhàn)略布局,加強(qiáng)發(fā)展的系統(tǒng)性、市場(chǎng)前瞻性、產(chǎn)品創(chuàng)新能力,以專注、極致的服務(wù)理念,為客戶提供網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站 網(wǎng)站設(shè)計(jì)制作按需定制網(wǎng)站,公司網(wǎng)站建設(shè),企業(yè)網(wǎng)站建設(shè),品牌網(wǎng)站制作,成都全網(wǎng)營(yíng)銷推廣,外貿(mào)網(wǎng)站制作,渭城網(wǎng)站建設(shè)費(fèi)用合理。

官方表單網(wǎng)絡(luò)請(qǐng)求示例:

比葫蘆畫瓢, 嘗試下

Flutter 網(wǎng)絡(luò)請(qǐng)求類封裝及搜索框?qū)崿F(xiàn)

在 Flutter 中定時(shí)器相對(duì) iOS 來說比較好的一點(diǎn)就是定時(shí)器事件的執(zhí)行不會(huì)受視圖拖拽的影響,不涉及到模式。但是需要注意一點(diǎn)的是在頁(yè)面離開的時(shí)候要對(duì)定時(shí)器進(jìn)行銷毀。

開始的時(shí)候我們是在頁(yè)面中直接使用三方框架 http 進(jìn)行網(wǎng)絡(luò)的請(qǐng)求,這里不好的一點(diǎn)就是如果將來我們更換了網(wǎng)絡(luò)請(qǐng)求框架的話,項(xiàng)目中涉及到網(wǎng)絡(luò)的請(qǐng)求的地方都需要改動(dòng),對(duì)項(xiàng)目的影響會(huì)比較大。所以這里我們自己封裝了一個(gè)網(wǎng)絡(luò)請(qǐng)求類,定義自己的網(wǎng)絡(luò)請(qǐng)求方法,即使將來更換三方框架的話,我們只需要在我們自己網(wǎng)絡(luò)請(qǐng)求類里面更換就好,項(xiàng)目的其他地方不用改動(dòng)。對(duì)網(wǎng)絡(luò)請(qǐng)求進(jìn)行封裝,相信不管是 iOS 項(xiàng)目還是安卓項(xiàng)目肯定也都是這樣做的。

這里我們是基于 Dio 這個(gè)三方框架進(jìn)行封裝的,在 HttpManager 類中我們定義了 Dio 的單例對(duì)象 _dioInstance ,通過單例方法 _getDioInstance 來獲取單例對(duì)象。我們定義了 post 跟 get 兩個(gè)靜態(tài)方法,在這兩個(gè)方法中我們都調(diào)用了私有方法 _sendRequest , _sendRequest 方法中通過該傳入的枚舉參數(shù) HttpMethod 來區(qū)分 Dio 單例對(duì)象是調(diào)用 get 還是 post 請(qǐng)求。這里需要注意的是方法中一定要使用 async ,返回值前要加 await 。

在聊天頁(yè)面中我們可以看到頂部的搜索框,這個(gè)搜索框是跟列表一起滾動(dòng)的,所以比較好的實(shí)現(xiàn)方式就是把搜索框定義為一個(gè) cell 。其實(shí)這個(gè)搜索框只有點(diǎn)擊事件,點(diǎn)擊之后跳轉(zhuǎn)一個(gè)新的頁(yè)面,所以我們只需要使用小部件來實(shí)現(xiàn)搜索框的展示就好。搜索框由白色底視圖跟圖片和文本組成,所以這里我們通過 Stack 部件來實(shí)現(xiàn), children 的第一個(gè)元素為白色底視圖,圖片跟搜索文字用 Row 部件來實(shí)現(xiàn),圖片跟文字布局左右排列。

flutter 網(wǎng)絡(luò)請(qǐng)求dio的簡(jiǎn)單使用以及請(qǐng)求頭參數(shù)的自定義

dio的使用方式有很多,我就只選出我認(rèn)為最好用的api方式做下記錄,把get成post就是post請(qǐng)求了,網(wǎng)絡(luò)請(qǐng)求都用的百度的api,實(shí)際上的response沒有任何意義,所以只要打印出response有值即可。

1.最簡(jiǎn)單的請(qǐng)求例子,網(wǎng)絡(luò)請(qǐng)求是異步的所以用async await

2.帶有參數(shù)的get請(qǐng)求

3.自定義請(qǐng)求頭,可定義的請(qǐng)求頭dart已經(jīng)為我們提供了專門的類存了對(duì)應(yīng)的字符,引入以下庫(kù),就能使用 HttpHeaders

一般我們請(qǐng)求接收到的數(shù)據(jù)是json格式,如'accept: application/json',我們就可以這樣自定義請(qǐng)求頭

4.使用Baseoptions

其他詳細(xì)參數(shù)設(shè)置參考如下:

Flutter網(wǎng)絡(luò)請(qǐng)求之dio的初步使用

dio 是一個(gè)國(guó)產(chǎn)巨佬寫的一個(gè)Flutter的網(wǎng)絡(luò)請(qǐng)求庫(kù),寫這篇的文章的時(shí)候更新到3.x版本了。這里是他的 官方中文 使用鏈接: dio

按照原作者所說:

我這里這個(gè)時(shí)候的是一個(gè)3.0.9版本,這里的 ^ 符號(hào),表示3.多的庫(kù)比如說3.1.1啥的,也能更新下來。

dio 的原作者給了我們一個(gè)簡(jiǎn)單的例子

我們基礎(chǔ)的使用,請(qǐng)求一個(gè)URL,這里就直接是 Dio().get(".****.com") 。這樣就可以通過get方式來請(qǐng)求我們的鏈接。

在我們項(xiàng)目中,我們當(dāng)然不能直接使用 Dio().get(".****.com") 這樣的方法,那樣的話如果以后我們要更換網(wǎng)絡(luò)請(qǐng)求的庫(kù)的話,我們要修改的地方,就會(huì)非常的多。類似的問題,曾經(jīng)在iOS開發(fā)的歷史上出現(xiàn)過一次。最初的時(shí)候iOS的開發(fā)者大多使用的是一個(gè)叫 ASI 的庫(kù),但是在過了幾年的時(shí)候,這個(gè)庫(kù)不在維護(hù)了。這時(shí)候,我們就會(huì)去找一個(gè)新的網(wǎng)絡(luò)庫(kù)來代替他。當(dāng)時(shí)如果我們有500個(gè)文件中都直接使用 ASI ,我們就需要改動(dòng)500個(gè)地方。這樣的體力和眼力消耗,實(shí)在是太驚人了。所以,我們一般會(huì)自己創(chuàng)建一個(gè)專門的 網(wǎng)絡(luò)管理 的類 NetworkManager 。在 NetworkManager 里,我們把調(diào)用方法抽取出一個(gè)基礎(chǔ)的方法,使用的時(shí)候,基于這個(gè)基礎(chǔ)的方法來調(diào)用。這樣,我們就能很方便的去進(jìn)去使用和維護(hù)。

這個(gè)時(shí)候我們就可以使用我們創(chuàng)建的類來直接調(diào)用我們的方法了。

這樣,我們的 dio 的初步使用就完成了。下一篇文章來寫 dio 的進(jìn)階使用。

Flutter的Dio網(wǎng)絡(luò)請(qǐng)求封裝

在yaml文件里邊添加如下依賴

新建一個(gè)network_config.dart文件存放網(wǎng)絡(luò)配置

ApiResponse是之前定義的公共接口返回實(shí)體 Flutter的Json數(shù)據(jù)解析之FlutterJsonBeanFactory插件

主要是對(duì)http異常和業(yè)務(wù)異常進(jìn)行處理。

上述封裝后,如果業(yè)務(wù)存在多個(gè)請(qǐng)求依賴調(diào)用,就需要統(tǒng)一的處理錯(cuò)誤。

Dio支持自定義攔截器,繼承 Interceptor ,重寫 onRequest 和 onResponse 方法就行。

在初始化dio的地方,把攔截器加入dio對(duì)象的攔截器集合 dio.interceptors 中就行。

可以通過自定義的攔截器實(shí)現(xiàn),也可以引入 pretty_dio_logger 庫(kù)。

fastmock 上新建自己的項(xiàng)目,接口配置如下:

發(fā)起請(qǐng)求:

效果展示:

參考文章:

文章標(biāo)題:flutter網(wǎng)絡(luò)請(qǐng)求,flutter網(wǎng)絡(luò)請(qǐng)求框架
瀏覽路徑:http://chinadenli.net/article2/hohdoc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站排名網(wǎng)站改版、外貿(mào)建站動(dòng)態(tài)網(wǎng)站、企業(yè)建站搜索引擎優(yōu)化

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站建設(shè)