首页
学习
活动
专区
圈层
工具
发布

【Flutter 工程】002-代码生成:Freezed ——类似 Java 的 lombok

【Flutter 工程】002-代码生成:Freezed ——类似 Java 的 lombok 一、概述 1、简介 Flutter 的 Freezed 是一个代码生成工具,用于帮助开发者在Flutter...使用Freezed的好处包括: 简化不可变数据模型类的创建过程,减少手动编写重复代码的工作量。 生成的代码可靠且高效,具有良好的性能。 提供了可自定义的选项,以满足不同的需求和使用场景。...3、主页与使用前后比较 主页 https://pub.dev/packages/freezed 使用前 使用后 二、基本使用 1、安装 flutter pub add freezed_annotation...flutter pub add --dev build_runner flutter pub add --dev freezed # if using freezed to generate fromJson...pub run build_runner build --delete-conflicting-outputs 6、运行结果

86000

【Flutter 工程】001-Flutter 状态管理:Riverpod

你可以使用 Riverpod 来构建简单的局部状态管理,或者构建复杂的全局状态管理解决方案。 总之,Riverpod 是一个强大的状态管理库,适用于各种规模的 Flutter 应用程序。...flutter_riverpod dev:custom_lint dev:riverpod_lint riverpod_annotation dev:build_runner dev:riverpod_generator...pub run build_runner build --delete-conflicting-outputs 3、改造 home_page.dart import 'package:flutter/...与此同时,许多应用程序中已经使用了代码生成比如 Freezed 或 json_serializable。 在这种情况下,你的项目可能已经为代码生成配置好了,使用Riverpod应该很简单。...当使用ref.watch订阅状态时,如果状态发生变化,相关的小部件会被重新构建,以更新界面展示。 ref.watch方法在小部件的build方法中使用,确保当状态变化时,与状态相关的部分会被更新。

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    使用 Flutter SDK 3.27.4构建HarmonyOS应用

    下载鸿蒙版 flutter(3.27.4 版本) 项目地址:https://gitcode.com/openharmony-sig/flutter_flutter 通过代码工具下载仓库代码并指定 oh-...配置开发环境 鸿蒙版 Flutter 环境配置 Windows 版本 使用鸿蒙版 Flutter3.27.4 构建鸿蒙应用 使用最新的 Flutter SDK 3.22.1 构建 HarmonyOS 应用...Doctor found issues in 2 categories. jianguo@nutpi flutter % 项目配置 1.进入项目根目录,如果项目还未创建,则使用 flutter create...code is in my_app/lib/main.dart. 2.如果项目已经创建,还未添加鸿蒙平台支持,则使用以下命令添加鸿蒙平台支持。...运行 我们使用 flutter run 运行。 坚果派 坚果派由坚果创建,团队拥有 26 个华为 HDE,以及若干其他领域的三十余位万粉博主运营。

    96710

    Flutter依赖库填坑

    宿主工程中不允许jar库的升级,只能使用jar_v1版本。...解决方法:可以指定找一个低版本的pub_dev_lib1 保证其中只依赖低版本的jar_v1 dart-lang中自带三方库升级导致编译问题 Flutter工程中用到了build_runner,...,解决办法: 升级本地flutter sdk 强制指定一个固定旧的analyzer版本 问题解决 工程pubspec.yaml文件中使用dependency_overrides指定固定版本,...比如上述问题2可以如下处理 dependency_overrides: analyzer: 5.2.0 一点想法 默认Flutter使用三方库时候,我们都会这样写,带上^ 如下: analyzer:...^5.2.0 但是在很多时候,本地工程的flutter sdk版本,宿主版本中的jar包注定Flutter中三方库版本只能苟在一个低版本,无法更新,一更新就出错。

    95030

    如何提升 IntelliJ IDEA 中的搜索效率?看看这2个IDEA隐藏的天花板技巧

    如果你在Flutter项目(尤其是大型项目☕️)中使用IntelliJIDEA进行开发,并且项目中包含来自不同包的生成文件,如果有比较大的重复的内容,那么一般的搜索技巧很可能就会失效。...你可能已经经历过,使用“在文件中查找”功能时,在非生成文件中滚动查找类、变量或其他内容时的痛苦。...*.freezed.dart不匹配以.freezed.dart结尾的文件。匹配3:*.dart默认匹配所有Dart文件。...因此,IDE将仅在Dart文件中匹配表达式,并跳过Freezed或Riverpod生成的文件的匹配。通过扩展,你可以轻松地添加或删除任何文件匹配,只需将其添加到掩码中即可:,!...*.new_file_mask_i_want_to_skip.ext,*.new_file_i_want_to_match.extfilemask的缺点是无法排除一整个路径下的文件,这种情况就可以使用scopes

    6410

    Flutter 高效率JSON转Model

    一般情况下,我们会使用一些第三方库来动态转化Model,但是Flutter中没有像Java的GSON/Jackson这类JSON序列化库。 因为Flutter中禁用运行时反射。...官方解释是运行时反射会干扰Dart的Tree Shaking,使用Tree Shaking可以在Release版中去除未使用的代码,这可以显著优化应用程序的大小。...由于反射会默认应用到Dart的反射功能,而正因如此也就无法实现动态化转Model的功能。...Flutter有一个内置dart:convert库 使用 dart:convert手动序列化JSON 在大中型项目中使用代码生成,需要用到以下三个依赖包,通过代码自动生成的方式,生成模型。...在项目终端下执行命令: flutter pub run build_runner build 执行完成后,会生成demo_model.g.dart文件 整个执行流程如下

    1.2K11

    这些 IDEA 技巧没用上,你可能少了一大半摸鱼的时间!

    如果你在 Flutter 项目(尤其是大型项目 ☕️)中使用 IntelliJ IDEA 进行开发,并且项目中包含来自不同包的生成文件,如果有比较大的重复的内容,那么一般的搜索技巧很可能就会失效。...你可能已经经历过,使用“在文件中查找”功能时,在非生成文件中滚动查找类、变量或其他内容时的痛苦。...freezed.dart,*.dart 这里涉及到了几个常用的通配符, 你可以清楚地看到差异,匹配结果从 28 个减少到 19 个。...*.freezed.dart 不匹配以 .freezed.dart 结尾的文件。 匹配 3:*.dart 默认匹配所有 Dart 文件。...*.new_file_mask_i_want_to_skip.ext,*.new_file_i_want_to_match.ext file mask的缺点是无法排除一整个路径下的文件,这种情况就需要引入

    4210

    【Flutter 工程】005-代码分离实践:flutter_hooks & functional_widget

    Hell)是指在构建复杂的UI布局时,由于多层嵌套的组件结构,代码变得冗长、难以维护和理解的情况。...Flutter使用组件树的方式来构建用户界面,每个UI元素都是一个组件,可以包含其他组件。...使用布局组件:Flutter提供了各种布局组件(如Row、Column、Stack等),可以帮助管理UI布局。合理使用这些布局组件可以减少嵌套层级,并简化布局代码。...Flutter代码——使用Flutter Hooks与函数式组件 https://blog.csdn.net/qq_50101967/article/details/128688448 二、实践 1、安装...flutter pub add dev:functional_widget dev:build_runner functional_widget_annotation 2、代码示例 方法是否以$开头有自己决定

    35200

    第138期:flutter中的json和序列化

    事实上Flutter中并没有类似的库。 因为,这样的库需要使用运行时反射,这在Flutter中是禁用的。运行时反射会干扰【树抖动】treeShaking,Dart已经支持了很长时间。...这些工具无法知道哪些部分在运行时未使用,因此冗余代码很难去除。使用反射时,无法轻松优化应用程序大小。 虽然我们不能在Flutter中使用运行时反射,但有些库提供了类似的API,是基于代码生成。...一次性代码生成 持续生成代码 一次性代码生成 通过在项目根目录中运行 flutter pub run build_runner build --delete-conflicting-outputs 我们可以在需要时为模型生成...这将触发一次性构建,该构建将遍历源文件,选择相关文件,并为它们生成必要的序列化代码。 虽然这很方便,但如果我们不必每次在模型类中进行更改时都手动运行构建,那就更好了。...通过在项目根目录中运行 flutter pub run build_runner watch --delete-conflicting-outputs 可以安全地启动一次观察程序,并让它在一直后台运行

    2.3K30

    Dart代码生成器PART ONE

    本文首发于订阅号:Dart客栈 介绍 在开发Flutter的过程中,会发现:json解析怎么这么麻烦,数据库存储怎么这么多步骤,当你在重复编写这一个又一个步骤时,会发现,复制粘贴过程中因为某一个变量而出错...该构建可以生成一个独立可导入的库 build_runner 该工具可以允许我们在开发阶段运行命令行调用,以下面形式调用: pub run build_runner command...构建包,用于运行命令行生成代码的逻辑 code_generator_example:上面两个包的使用示例 code_generator 包 该dart包用于编写基础库和注解声明,我们先声明一个注解,用于获取用户注解上的类内容...我们这里添加一个WebSite注释 class WebSite{ final String name; final String url; // 注解的构造方法必须使用const关键字申明...https://github.com/dart-lang/build/blob/master/build_config/README.md 以上是code_generator_gen包的所有内容,下面开始使用

    2.5K00

    使用最新的 Flutter SDK 3.22.1 构建 HarmonyOS 应用

    使用最新的 Flutter SDK 3.22.1 构建 HarmonyOS 应用 大家都知道目前鸿蒙的开源 tpc 和 sig 仓都迁移到了 gitcode 平台了,本次更新对 Flutter SDK...也有所涉及,所以我们就用最新的 Flutter SDK 来一起看一下如何构建 HarmonyOS 应用 最新的仓库是https://gitcode.com/openharmony-sig/flutter_flutter...运行 使用 Flutter Run jianguo@nutpi my_app % hdc tconn 192.168.1.16:41667 Connect OK jianguo@nutpi my_app...设备 安装 应用安装 Flutter 安装 -d 集合 资源打包 Flutter 组装 建造 测试应用程序构建 Flutter 构建 hap --debug [--target-platform...ohos-arm64] 建造 正式应用构建 Flutter 构建 hap --release [--target-platform ohos-arm64] 跑步 运行 颤动运行 附 调试模式 颤动附着

    2.6K10

    使用鸿蒙版 Flutter3.27.4 构建鸿蒙应用

    前言 随着鸿蒙系统的不断发展,越来越多的开发者开始关注如何使用 Flutter 来构建鸿蒙应用。本文将详细介绍如何使用鸿蒙版 Flutter 3.27.4 来构建鸿蒙应用,帮助大家快速上手。...mkdir  /Users/jianguo/fvm/versions 二、配置 Flutter 3.27.4 2.1 克隆 Flutter 3.27.4 仓库 使用以下命令克隆 Flutter 3.27.4...三、创建项目 3.1 使用自定义 SDK 创建项目 在项目目录下,先使用以下命令指定使用自定义的 Flutter SDK: fvm use custom_3.27.4 然后,使用以下命令创建 Flutter...六、运行项目 6.1 真机运行 使用 flutter run 命令即可在真机上运行项目。...八、总结 通过本文的介绍,相信大家已经掌握了使用鸿蒙版 Flutter 3.27.4 构建鸿蒙应用的方法。

    2.6K10
    领券