【Flutter】之便于提高开发效率的周边库和轮子

GetX 状态管理

GetX包含很多功能,各种弹出widget、路由管理、国际化、Utils、状态管理等。

基于路由管理

1. 添加到项目中

1.1. 将此添加到pubspec.yaml文件中。

get: 4.1.4 

1.2. 在命令行中运行

flutter packages get 

1.3. 在MaterialApp前面加上 “Get”,就可以把它变成GetMaterialApp

GetMaterialApp( home: MyHome(),
) 
2. 具体的路由使用场景:

2.1 导航到新的页面。

Get.to(NextScreen()); 

2.2 关闭SnackBars、Dialogs、BottomSheets或任何你通常会用Navigator.pop(context)关闭的东西。

Get.back(); 

2.3进入下一个页面,但没有返回上一个页面的选项(用于SplashScreens,登录页面等)。

Get.off(NextScreen()); 

2.4 进入下一个界面并取消之前的所有路由(在购物车、投票和测试中很有用)。

Get.offAll(NextScreen()); 

2.5 要导航到下一条路由,并在返回后立即接收或更新数据。

var data = await Get.to(Payment()); 

2.6 在另一个页面上,发送前一个路由的数据。并使用它,例:

Get.back(result: 'success');
if(data == 'success') madeAnything(); 

2.7 与标准导航的关系 , 只要把 Navigator(大写)改成 navigator(小写),就可以拥有标准导航的所有功能,而不需要使用context // 默认的Flutter导航

Navigator.of(context).push(context,MaterialPageRoute(builder: (BuildContext context) {return HomePage();},),
); 

// 使用Flutter语法获得,而不需要context。

navigator.push(MaterialPageRoute(builder: (_) {return HomePage();},),
); 

// get语法 (这要好得多)

Get.to(HomePage()); 

dio:http 请求库

dio是一个强大的Dart Http请求库,支持Restful API、FormData、拦截器、请求取消、Cookie管理、文件上传/下载、超时、自定义适配器等…

1. 添加到项目中

1.1. 将此添加到pubspec.yaml文件中。

dio: ^4.0.6
dio_cookie_manager: ^2.0.0
cookie_jar: ^3.0.1 

1.2. 在命令行中运行

flutter packages get 

2.具体的使用

一个极简的示例:

import 'package:dio/dio.dart';
void getHttp() async {try {var response = await Dio().get('http://www.google.com');print(response);} catch (e) {print(e);}
} 

项目中的使用:

config.dart

统一管理请求接口的url地址

 // api地址前缀static String imApiUrl() {return 'https://xxxxxx.xxxxx.com/api/users';} // 接口列表 
class Urls {static var register = "${Config.imApiUrl()}/register";static var login = "${Config.imApiUrl()}/login";static var getCode = "${Config.imApiUrl()}/getCode";static var verifiCode = "${Config.imApiUrl()}/verifiCode";static var setNewPwd = "${Config.imApiUrl()}/setNewPwd";
} 

api_resp.dart

对接口返回的数据,进行统一数据类型校验

class ApiResp {int? code;String? msg;dynamic data;ApiResp.fromJson(Map<String, dynamic> map) {c
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值