数据请求flutter,数据请求失败,轻触屏幕重新加载

Flutter状态管理--GetX的简单使用

一、前言

奉新ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为成都创新互联公司的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18980820575(备注:SSL证书合作)期待与您的合作!

Flutter开发,就需要对各种状态的管理,就是在请求数据的时候需要实时变化,各种交互变化等,在没有使用GetX之前使用Provider,用Provider的时候觉得真香,挺方便的,需要刷新的时候直接 notifyListeners(); 用了GetX之后觉得Provider太繁琐了。这边介绍下GetX的使用以及常用的方法。

二、 GetX

GetX 是 Flutter 上的一个轻量且强大的解决方案:高性能的状态管理、智能的依赖注入和便捷的路由管理。

1、相关优势:

三、使用

1、第一步 引入get

2、第二步

修改入口、配置路由

3、路由

Routes类

Pages类

4、状态管理

我一般一个page对应一个controller, controller来处理逻辑,控制page.

简单使用

5、依赖注入

依赖注入也是我喜欢的,可以减少很多工作。

第一步

第二步

6、跨页面交互

7、黑暗模式

可以参考前期写的博客。 黑暗模式的适配

flutter dio 网络请求问题

最近在做公司工业互联网的一个项目 之前做了一个ipad 版本的 在使用dio网络请求框架的时候发现请求登录的时候后台一直报签名错误问题  检查了几遍写的签名方法没有发现错误 后面仔细查了下 是服务器不能识别我传的数据。。。

如果content-type是form-data 我们需要通过FormData类来构建数据,否则服务器将无法识别

同时需要传入一个Option指明content-type,而form-data的content-type完整类型表述为:multipart/form-data

主要我是个新手啊 

查看源码 

headers里面并有multipart/form-data 这个类型啊    讲道理这个是常用的contentType啊 应该要列出来才对啊 

咋整?

自己设置。。。。

后台就可以正常接收表单参数了

flutter 网络请求dio的简单使用以及请求头参数的自定义

dio的使用方式有很多,我就只选出我认为最好用的api方式做下记录,把get成post就是post请求了,网络请求都用的百度的api,实际上的response没有任何意义,所以只要打印出response有值即可。

1.最简单的请求例子,网络请求是异步的所以用async await

2.带有参数的get请求

3.自定义请求头,可定义的请求头dart已经为我们提供了专门的类存了对应的字符,引入以下库,就能使用 HttpHeaders

一般我们请求接收到的数据是json格式,如'accept: application/json',我们就可以这样自定义请求头

4.使用Baseoptions

其他详细参数设置参考如下:

Flutter网络请求之dio的初步使用

dio 是一个国产巨佬写的一个Flutter的网络请求库,写这篇的文章的时候更新到3.x版本了。这里是他的 官方中文 使用链接: dio

按照原作者所说:

我这里这个时候的是一个3.0.9版本,这里的 ^ 符号,表示3.多的库比如说3.1.1啥的,也能更新下来。

dio 的原作者给了我们一个简单的例子

我们基础的使用,请求一个URL,这里就直接是 Dio().get(".****.com") 。这样就可以通过get方式来请求我们的链接。

在我们项目中,我们当然不能直接使用 Dio().get(".****.com") 这样的方法,那样的话如果以后我们要更换网络请求的库的话,我们要修改的地方,就会非常的多。类似的问题,曾经在iOS开发的历史上出现过一次。最初的时候iOS的开发者大多使用的是一个叫 ASI 的库,但是在过了几年的时候,这个库不在维护了。这时候,我们就会去找一个新的网络库来代替他。当时如果我们有500个文件中都直接使用 ASI ,我们就需要改动500个地方。这样的体力和眼力消耗,实在是太惊人了。所以,我们一般会自己创建一个专门的 网络管理 的类 NetworkManager 。在 NetworkManager 里,我们把调用方法抽取出一个基础的方法,使用的时候,基于这个基础的方法来调用。这样,我们就能很方便的去进去使用和维护。

这个时候我们就可以使用我们创建的类来直接调用我们的方法了。

这样,我们的 dio 的初步使用就完成了。下一篇文章来写 dio 的进阶使用。


新闻名称:数据请求flutter,数据请求失败,轻触屏幕重新加载
浏览路径:http://ybzwz.com/article/dscegog.html