第四百七十五回

news2024/10/7 18:24:11

文章目录

  • 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.coloradmin.cn/o/1618733.html

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

相关文章

Open Footprint®论坛数据模型Snapshot发布,与您全‘绿’以赴!

正值第55个“🌍世界地球日”,The Open Group Open Footprint论坛很高兴地正式宣布《Open Footprint数据模型Snapshot》”的可用性。我们的期望是,一旦被广泛采用,数据模型将大大缓解内部以及范围3排放数据共享问题,有效…

linux autogroup

一:概述 对于linux autogroup的作用,很多同学可能是听说过,但,并未验证过。 考虑下面场景,开两个terminal,T1和T2,在T1中运行进程P1,P1开启9个线程编译代码,在T2中运行…

金融数字化能力成熟度指引

1 范围 本文件提出了金融数字化能力成熟度模型、成熟度计算方法,明确了不同维度金融数字化转型能力 相应的分档要求。 本文件适用于金融机构衡量金融科技应用和数字化转型发展水平,检视自身数字化发展优势与短板, 加快数字化转型&#xff0c…

Docker搭建代码托管Gitlab

文章目录 一、简介二、Docker部署三、管理员使用四、用户使用五、用户客户端 一、简介 GitLab是一个基于Git的代码托管和协作平台,类似于GitHub。 它提供了一个完整的工具集,包括代码仓库管理、问题跟踪、CI/CD集成、代码审查等功能。 GitLab的开源版本…

正点原子[第二期]Linux之ARM(MX6U)裸机篇学习笔记-1.1

前言: 本文是来自哔哩哔哩网站上视频“正点原子[第二期]Linux之ARM(MX6U)裸机篇”的学习笔记,在这里会记录下正点原子Linux ARM MX6ULL 开发板根据配套的哔哩哔哩学习视频所作的实验和笔记内容。本文大量的引用了正点原子哔哔哩网…

客户关系智慧:CRM系统五大功能助力企业发展

CRM软件必备功能有“销售自动化、销售流程管理、全渠道沟通平台、BI数据分析以及销售活动管理。” 一家业务流程完善的公司,总是少不了提到CRM。对CRM还尚不可知的企业可能会疑惑了——总是听到别人提到CRM,CRM到底有哪些功能?这些功能又怎么…

【数据结构(邓俊辉)学习笔记】向量03——常规向量

文章目录 0.概述1.元素访问2.置乱器3.判等器与比较器4.无序查找4.1 判等器4.2 顺序查找4.3 实现4.4 复杂度 5. 插入5.1 算法实现5.2 复杂度分析 6. 删除6.1 区间删除6.2 单元删除6.3 复杂度 7. 唯一化7.1 实现7.2 正确性7.3 复杂度 8. 遍历8.1 实现8.2 复杂度 9. 总结 0.概述 …

【YOLOv8改进[Neck]】使用BiFPN助力V8更优秀

目录 一 BiFPN(双向特征金字塔网络) 1 BiFPN 2 EfficientDet 二 使用BiFPN助力模型更优秀 1 整体修改 2 配置文件 3 训练 其他 一 BiFPN(双向特征金字塔网络) BiFPN(双向特征金字塔网络, 2020)用于特征融合层。 官方论文地址:https://arxiv.org…

【前后端】django与vue的结合使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、前后端分离的简介二、django与vue的结合使用三、总结 前言 随着开发语言及人工智能工具的普及,使得越来越多的人会主动学习使用一些开发工具&a…

DBA真的以后只能去开滴滴了吗

上周某微信群关于DBA的话题讨论的非常火热,当天由于比较忙,因此没有参与太多讨论,现在回想起来,这个话题还是蛮有意思的。 为什么Oracle DBA收入这么低? 老实说,作为一个干了10多年Oracle的人来说&#xff…

【java配置】jpcap的下载与idea配置

解决报错:Cannot resolve symbol ‘jpcap’ 1. jpcap的下载 官网下载链接 百度网盘下载 双击WinpPca安装,jacap1和jpcap2任选其中之一 2. idea配置 (1)查看当前使用jdk目录 File -> Project Settings -> SDKs &#…

第二篇、SD真人视频转卡通动画 学习笔记

接着第一篇 2K转4K 生成玩卡通视频后,如何转换成更高分辨率的视频 1、将第一篇生成的工作目录下的output目录改成output-old,新建一个output目录 2、进入0,1子目录,把EbSynth生成的Outputxxx都删掉,frames和keys下…

01_Nginx

文章目录 NginxNginx的核心功能Nginx的优势Nginx常用指令Nginx配置文件Nginx的核心功能:反向代理 Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是一款轻量级的Web 服务器/反向代理服务器及电子…

中兴5G随身wifi怎么样?中兴5G随身wifiVS格行5G随身wifi对比测评!公认最好的随身WiFi的格行随身WiFi真实测评!随身WiFi哪个品牌好?

随着各大品牌5G随身wifi的横空出世,其中中兴和格行5G随身wifi的呼声越来越高,那么性能上谁更胜一筹?套餐费用谁更亲民?售后保障谁更到位?今天就来一个全方位测评对比! 一,首先是设备的整体外观&…

查找两个字符串的最长公共子串

暴力解法 #include <iostream> #include <vector> #include <cstring> using namespace std; string a, b, minn ""; // a和b是我们输入的 // minn存储的是我们最小的那个字符串string cut(int l, int r) {string tmp "";for (int i …

通过商品id采集京东商品详情数据(含价格、优惠券、详情、主图等字段)

item_get_app-获得JD商品详情原数据 公共参数 名称类型必须描述keyString是调用key&#xff08;注册账号获取测试key&#xff09;secretString是调用密钥api_nameString是API接口名称&#xff08;包括在请求地址中&#xff09;[item_search,item_get,item_search_shop等]cach…

S32 Design Studio PE工具配置canCom

工具配置 基本就是默认配置就行&#xff0c;有需要的话就按照下面的方式改改。 生成代码 在Generated_Code/canCom1.c里面&#xff0c;对应刚才配置的信息。canCom1_InitConfig0是配置结构体&#xff0c;canCom1_State是初始化之后的状态结构体。 flexcan_state_t canCom1_S…

2024新算法角蜥优化算法(HLOA)和经典灰狼优化器(GWO)进行无人机三维路径规划设计实验

简介&#xff1a; 2024新算法角蜥优化算法&#xff08;HLOA&#xff09;和经典灰狼优化器&#xff08;GWO&#xff09;进行无人机三维路径规划设计实验。 无人机三维路径规划的重要意义在于确保飞行安全、优化飞行路线以节省时间和能源消耗&#xff0c;并使无人机能够适应复杂…

iptables实现docker容器动态端口映射实操

背景 之前在《Docker 动态修改容器端口映射的方法》一文中&#xff0c;说明了如何使用修改配置和加防火墙规则实现动态端口映射。但是没有具体分享加防火墙实现动态端口映射的实际案例。今天就分享一下实际操作案例&#xff0c;供大家参考。 分析 动态端口映射的用途 容器端口…

stm32-中断的使用和原理

一 什么是中断 : 轮询机制 &#xff1a;顾名思义&#xff0c;就是每轮都询问一次。比如 while 循环的每一次&#xff0c;就会执 行检查&#xff0c; 1. 此处串口是否有数据到来。 2. 每次都检测一下引脚状态 , 是否为低电 平。 本质是 while 循环每一次都把数据获取的函数或者…