第四百七十五回

文章目录

  • 1. 概念介绍
  • 2. 功能与用法
    • 2.1 主要功能
    • 2.2 使用方法
  • 3. 示例代码
  • 4. 内容总结

我们在上一章回中介绍了"四个bublue包对比与总结"相关的内容,本章回中将介绍Get包.闲话休提,让我们一起Talk Flutter吧。

在这里插入图片描述

1. 概念介绍

我们在本章回中将介绍Get包,它是一个三方插件,功能十分强大,不过我看了一下Github上的开发人员后发现该包竟然是英国一位律师开发的,写程序只是他的业余爱
好,果然十分强大。我们将在本章回中详细该包的功能和用法。

2. 功能与用法

2.1 主要功能

该包的主要功能有四大块,详细如下:

  • 状态管理:该包提供了状态管理功能,而且使用十分方便,据文档所说性能比Provider还要好;
  • 路由管理:该包对Navigate组件进行了封装,原生有的路由功能它都有,最重要的是不需要Context;
  • 依赖注入:该包提供依赖管理功能,不过主要是对状态管理进行功能上的辅助;
  • 实用工具:该包可以快速地使用SnackBar和Dialog,并且还能切换语言和主题;
    上面介绍的这些功能确实比较多,我还担心在项目中引入该包后会导致生成物变大,看完文档后发现没必要担心,因为该包不会把所有的内容都添加到项目中,它是分开编
    译的,用什么功能就在项目中加入什么功能。在接下来的章回中,我们将详细介绍该包提供的这些功能。

2.2 使用方法

该包的使用方法和其它包稍微有些不同,主要是该包需要在顶层组件中做修改,这点类似Provider.下面是详细的使用方法:

  • 在yaml文件中配置get包并且通过pub get命令获取包中的内容到本地项目中;
  • 在runApp中MainApp的地方配置GetMaterialApp,其它的内容放到它的home属性中;
    上面的方法中使用了GetMaterialApp组件,这是包中提供的组件同,它的用法类似MaterialApp,我们将在后面的章回中单独介绍这个组件。这种方法相当于在整个
    项目中使用GetMaterialApp组件,我开始时还担心它会影响项目中的组件或者配置,看来阅读官方文档后发现没有必要担心,因为GetMaterialApp组件不是新定义
    的组件,它只是在官方MaterialApp组件的基础上做了一些配置。如果实在是不放心,我们再提供一种使用方法:定义一个StatelessWidget,然后在build方法中
    return这个GetMaterialApp。这种方法相当于只在某个页面中单独使用GetMaterialApp组件,其它页面中还是使用官方的MaterialApp组件.

3. 示例代码

///在整个项目中使用GetMaterialApp
void main() => runApp(GetMaterialApp(home: Home()));///只在单独页面中使用GetMaterialApp
class ExGetMaterialApp extends StatelessWidget {const ExGetMaterialApp({super.key});Widget build(BuildContext context) {return GetMaterialApp(home: GetHomePage(),theme: ThemeData(///建议打开Material主题,否则页面风格太难看useMaterial3: true,),);}}

我们在上面的示例代码中演示了两种使用GetMaterialApp组件的方法,细节的看官就会发现它和MaterialApp组件的几乎一样。有看官提问这两方法哪种好一些呢?
其实没有优劣之分,如果想在当于在整个项目中使用GetMaterialApp组件,那么就使用示例代码中的第一种方法。如果只想在单个页面中使用GetMaterialApp组件,
那么就使用示例代码中的第二种方法。我在这里就不演示程序的运行结果了,建议大家自己动手去实践。

4. 内容总结

最后,我们对本章回的内容做一个全面的总结:

  • Get包是三方组件,它提供了状态管理,依赖注入,路由管理以及一些实现工具;
  • Get包提供的功能十分强大,不过所有功能都是基于GetMaterialApp组件实现;
  • GetMaterialApp组件有两种使用方法,一种用于整个项目,另外一种用于单个页面;
    看官们,与"Get包简介"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/2277.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

zustand关于状态变化,是写在内部,还是外部

在使用Zustand时,通常建议将逻辑写在Zustand内部。Zustand是一个状态管理库,它提供了一种简单且强大的方式来管理状态,并且它的设计初衷就是为了让状态管理更加简洁和直观。 在Zustand内部定义状态和操作函数,并通过useStore hoo…

文件、文件夹被占用无法删除

一、针对文件夹无法删除 1、我们打开这个无法删除的文件夹,复制这个文件夹的地址。 2、打开windows任务管理器,选择“性能”选项卡,点击“打开资源监视器”。 3、在“资源监视器”中,cpu中找到“关联的句柄”,在文本框…

4.12 SpringBoot整合AOP ❤❤❤

1. AOP简介 要介绍面向切面编程(Aspect-Oriented Programming,AOP),需要读者 首先考虑这样一个场景: 公司有一个人力资源管理系统目前已经上线,但是系统运行不稳定,有时运行得很慢,为了检测出到底是哪个环节出问题了,…

错了,全部错了

感觉还是挺有难度的吧。。 其实最小割在这种最大/最小化代价的问题上的拓展性是比最大流要好的,甚至有些问题用最大流建模后不好求而要转化为求最小割(例如 CF1368H Breadboard Capacity,但是也不绝对,有极少数题是用最小割建模…

力扣HOT100 - 2. 两数相加

解题思路: 缺位的节点进行补零处理,如97323补充为973023 注意相加的进位问题 class Solution {public ListNode addTwoNumbers(ListNode l1, ListNode l2) {ListNode head null, tail null;int carry 0;while (l1 ! null || l2 ! null) {int n1 l…

2013-2021年各省经济韧性相关测度指标面板数据

2013-2021年各省经济韧性相关测度指标面板数据 1、时间:2013-2021年 2、指标:城镇化率 %、财政科学技术支出(亿元)、万人高等教育在校人数(万人)、财政教育支出(亿元)、第三产业占…

semaphore信号量使用+原理分析

1.概述 Semaphore 信号量,相当于一个计数器,通常用来限制线程的数量。 每个线程操作前会先获取一个许可证,逻辑处理完成之后就归还这个许可证。 通俗的解释:相当于一个停车场,有10个停车位,进来一个车&am…

QtCharts 组件

Qtcharts 组件基于GraphicsView模式实现,其核心是QChartView和QChart的二次封装版。 在pro文件中包含QT charts来引入绘图类库。 头文件中定义QT_CHARTS_USE_NAMESPACE宏,这样才可以正常的使用绘图功能。 一般情况下我们会在mainwindows.h头文件中增…

本地部署Docker容器可视化图形管理工具DockerUI并实现无公网IP远程访问——“cpolar内网穿透”

文章目录 前言1. 安装部署DockerUI2. 安装cpolar内网穿透3. 配置DockerUI公网访问地址4. 公网远程访问DockerUI5. 固定DockerUI公网地址 前言 DockerUI是一个docker容器镜像的可视化图形化管理工具。DockerUI可以用来轻松构建、管理和维护docker环境。它是完全开源且免费的。基…

stack、queue(priority_queue)的模拟实现和deque的简单介绍

stack和queue(priority_queue) 1. 容器适配器 适配器(Adapter):一种用来修饰容器(Containers)或仿函数(Functors)或迭代器(Iterator)接口的东西。 适配器是一种设计模式,该模式将一个类的接口转换成客户希望的另外一个接口。 现实中拿插座来说&#xf…

LeetCode 每日一题 Day 137-143

928. 尽量减少恶意软件的传播 II(Hard) 给定一个由 n 个节点组成的网络,用 n x n 个邻接矩阵 graph 表示。在节点网络中,只有当 graph[i][j] 1 时,节点 i 能够直接连接到另一个节点 j。 一些节点 initial 最初被恶意软件感染。只要两个节点…

llm构建知识库

构建词向量库 在RAG应用中,我们需要大模型调用知识库中的专业内容对用户的提问进行更加完善的回答,因此如何为llm引入知识库便尤为关键,在本篇内容中,我会从基础的词向量开始介绍,最终到如何完成一个可供llm调用的向量…

C语言进阶课程学习记录- 函数与宏分析

C语言进阶课程学习记录- 函数与宏分析 实验-宏和函数实验-宏的副作用实验-宏的妙用小结 本文学习自狄泰软件学院 唐佐林老师的 C语言进阶课程&#xff0c;图片全部来源于课程PPT&#xff0c;仅用于个人学习记录 实验-宏和函数 #include <stdio.h>#define RESET(p, len) …

程序员开发必备,开发资源资料分享【3】

第2部分内容 090-100036401-专栏课-聂鹏程-分布式技术原理与算法解析&#xff08;完结&#xff09;提取码&#xff1a; 091-100036501-专栏课-王健-说透中台&#xff08;完结&#xff09;提取码&#xff1a; 092-100036601-专栏课-石雪峰-DevOps 实战笔记&#xff08;完结&a…

【Nginx】centos和Ubuntu操作系统下载Nginx配置文件并启动Nginx服务详解

目录 &#x1f337; 安装Nginx环境 &#x1f340; centos操作系统 &#x1f340; ubuntu操作系统 &#x1f337; 安装Nginx环境 以下是在linux系统中安装Nginx的步骤&#xff1a; 查看服务器属于哪个操作系统 cat /etc/os-release安装 yum&#xff1a; 如果你确定你的系统…

Spring是如何解决循环依赖的

简介 所谓循环依赖指的是&#xff1a;BeanA对象的创建依赖于BeanB&#xff0c;BeanB对象的创建也依赖于BeanA&#xff0c;这就造成了死循环&#xff0c;如果不做处理的话势必会造成栈溢出。Spring通过提前曝光机制&#xff0c;利用三级缓存解决循环依赖问题。 变量描述single…

RU 19.23 安装

分别通过对GRID_HOME和ORACLE_HOME进行安装补丁的方式。来安装RU19.23 。 前面的相关检查等步骤&#xff0c;略。 安装RU的过程 1 分别最GRID_HOME安装RU 2 分别对ORACLE_HOME安装RU 3 升级catalog &#xff08;如有必要&#xff09; 4 其他事项 1 对GRID HOME安装ru # opatch…

【C语言__指针01__复习篇11】

目录 前言 一、什么是指针 二、计算机中常见的单位 三、CPU是怎样找到一块内存空间的 四、如何得到变量的地址 五、指针变量 六、解引用指针变量的作用 七、指针变量的大小 八、指针变量类型的意义 8.1 指针的解引用 8.2 指针-整数 九、void*指针 十、const修饰变…

搜维尔科技:Haption Virtuose 6D TAO 力反馈设备,专为机器人的和遥操作市场设计

HaptionVirtuose 6D TAO 力反馈设备&#xff0c;专为机器人的和遥操作市场设计 搜维尔科技&#xff1a;Haption Virtuose 6D TAO 力反馈设备&#xff0c;专为机器人的和遥操作市场设计

【Ansible】01

自动化运维 Ansible Ansible首发于2012年 , 2015年被收购 Ansible是一款自动化运维工具 , 基于 Python 开发 基于ssh进行管理 , 不需要在被管理端安装任何软件 Ansible主要是通过各种模块进行操作 批量系统配置 批量程序部署 批量运行命令等功能 环境准备 控制节点主…