时间:2021-05-20
目前dio库的最新版本是3.0.1,同使用其他三方库一样,Flutter中使用dio库同样需要配置pubspec.yaml文件。
dependencies: flutter: sdk: flutter dio: ^3.0.10dio包引入成功之后就可以创建dio实例了,一个实例可以发起多个请求,APP中如果只有一个数据源的情况下就可以考虑将dio实例创建成单例模式,这样可以节省系统资源,减少不必要的开销。
//htpp.dartimport 'package:dio/dio.dart';var dio = Dio();在开始使用实例之前需要对实例进行一些基本设置,由于每个人的项目需求不同,我这里只写一下我自己小项目的几个简单配置:
//统一配置dio dio.options.baseUrl = "https:///flutterchin…dio实例配置完成之后如何使用呢?通过请求玩android首页的banner图来演示一下: 基本的步骤是,第一步先请求数据,第二步把请求回来的json数据转成model,第三步把model数据渲染成轮播图:
child: FutureBuilder( future: dio.get("/banner/json"), builder: (context, snapshot) { if (snapshot.connectionState == ConnectionState.done) { Response response = snapshot.data; Map bannerMap = json.decode(response.toString()); var banner = HomeBanner.fromJson(bannerMap); if (snapshot.hasError) { Fluttertoast.showToast(msg: snapshot.error.toString()); } else { return _getSwiper(banner.data); // Fluttertoast.showToast(msg: banner.data[0].title); } } return Center( child: CircularProgressIndicator(), ); }, ), //根据接口返回的数据生成轮播图 Swiper _getSwiper(List<Datum> data) { imgs.clear(); for (var i = 0; i < data.length; i++) { var image = Image.network( data[i].imagePath, fit: BoxFit.cover, ); imgs.add(image); } return Swiper( itemWidth: double.infinity, itemHeight: 200, itemCount: imgs.length, itemBuilder: (BuildContext context, int index) { return imgs[index]; }, autoplay: true, pagination: new SwiperPagination( builder: SwiperPagination.dots, ), control: new SwiperControl(), ); }这个示例中涉及到了JSON转MODEL的相关知识
以上就是Flutter网络请求库DIO的基本使用的详细内容,更多关于Flutter网络请求库DIO的使用的资料请关注其它相关文章!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
概述:App几乎都离不开与服务器的交互,本文主要讲解了flutter网络请求三种方式flutter自带的HttpClient、第三方库http和第三方库Dio的
3月5日消息昨日,谷歌Flutter2正式发布。通过Flutter2,开发者可以使用相同的代码库为iOS、Android、Windows、macOS和Linux
requests库是一个简介且简单的处理HTTP请求的第三方库get()是获取网页最常用的方式,其基本使用方式如下使用requests库获取HTML页面并将其转
我们在使用requests这类网络请求第三方库时,可以看到它有一个参数叫做timeout,就是指在网络请求发出开始计算,如果超过timeout还没有收到返回,就
简介最近花了两天时间研究使用Flutter开发一个抖音国际版.个人感觉使用Flutter开发app快得不要不要的额.两天就基本可以开发个大概出来.最主要是热重载