强大的Flutter App升级功能
注意:无特殊说明,Flutter版本及Dart版本如下: Flutter版本: 1.12.13+hotfix.5 Dart版本: 2.7.0 应用程序升级功能是App的基础功能之一,如果没有此功能会造成用户无法升级,应用程序的bug或者新功能老用户无法触达,甚至损失这部分用户。 对于应用程序升级功能的重要性就无需赘言了,下面介绍下应用程序升级功能的几种方式,从平台方面来说: IOS平台,应用程序升级功能只能通过跳转到app store进...
flutter 打包安卓apk 常用配置
打包之前需要先不配置不然会报错 Execution failed for task ‘:app:mergeReleaseResources’. 如图 配置targetSdkVersion 、minSdkVersion 或者去flutter安装目录中去配置 一劳永逸 使用自定义证书签名打包 将 text.keystore 文件放到 android/app/ 目录下。 编辑 android/app/build.gradle,添加 signi...
解决因插件硬编码IP导致Jenkins页面加载缓慢
问题复现 虚拟机一开始使用Jenkins还特别流畅,但是某天突然Jenkins页面加载很慢,之前1秒内能加载完成的页面,没修好bug往往需要10秒以上才能加载出来。但也不是完全不能加载的那种卡,各种功能都能正常使用,就是加载时间特别长。 后来经老师提醒,使用浏览器的F12进行元素检查,发现有一个叫theme.css的元素加载时常需要消耗10秒以上,而且每跳转一个页面都需要加载一次这个元素。 问题原因 点击该元素后,检查标头可以发现这个元...
Flutter GetX使用---简洁的魅力
使用Bloc的时候,有一个让我至今为止十分在意的问题,无法真正的跨页面交互!在反复的查阅官方文档后,使用一个全局Bloc的方式,实现了“伪”跨页面交互,详细可查看: ;fish\ redux的广播机制是可以比较完美的实现跨页面交互的,我也写了一篇几万字文章介绍如何使用该框架: ,redux层次划分是比较细的,写起来会很费劲;最近尝试了GetX相关功能,解决了我的相当一部分痛点 把整篇文章写完后,我马上把自己的一个demo里面所有Bloc...
GetX代码生成IDEA插件,超详细功能讲解
本文章不是写getx框架的使用,而且其代码生成IDEA插件的功能讲解 我之前写过俩篇很长很长的getx文章 一篇入门使用: 一篇原理深度剖析: 鱼和渔都已经交给大家了,就没必要去赘述了 同时,我也写了一个getx代码生成插件: ,这个工具相当于钓鱼座椅(让你更舒服的钓鱼或吃鱼?)吧!初期功能十分简单,就是生成单页面相应的模块代码,连个记忆选项功能都没有,基本上就是个塑料座椅的程度 但是随着大量 叼毛 靓仔 给我提的各种需求,这个插件变的...
Flutter中GetX的用法(超详细使用指南之状态管理篇)
目录 1\. 引言 在 Flutter 开发中, 是一个至关重要的概念。它决定了应用的性能和维护性。GetX 是一个强大的 Flutter 包,它提供了高效、简洁的状态管理、依赖管理和路由管理功能。本文将深入探讨 GetX 的状态管理,并展示如何在 Flutter 应用中使用它。 Flutter也有其它的状态管理器,它们有着各自的特点: 1. BLoC非常安全和高效,但是对于初学者来说非常复杂,这使得人们无法使用Flutter进行开发。...
Flutter学习之Dart语言基础(构造函数)
最常见的构造函数形式,即生成构造函数,创建一个类的新实例: 使用语法糖的时候可以这样定义: 默认构造函数 如果未声明构造函数,则会提供默认构造函数。 默认构造函数没有参数,并在调用父类无参数构造函数。 构造函数不能继承 子类不能继承其父类构造函数,一个没有声明构造函数的子类只有默认(无参数,无名称)构造函数 命名构造函数 当我们需要定义一个有特别含义的构造函数的时候,可以通过构造函数.XXX来命名构造函数 调用父类构造函数 默认情况下,...
Flutter中高级JSON处理:使用json_serializable库进行深入定制
Flutter中高级JSON处理 使用json serializable库进行深入定制 【介绍】:在Flutter开发中,处理JSON数据是常见的需求。本文将深入探讨如何使用 包进行高级JSON处理,包括自定义序列化和反序列化的各种技巧和策略。 在实际应用开发中, JSON 数据格式扮演着至关重要的角色。特别是在 Flutter 中, JSON 被广泛应用于数据交换和应用内部数据处理的各个场景。由于 Flutter 应用通常需要与后端...
04.Dart 基础 - 变量(var、默认值、late、final和const)
变量 可以自行推断出类型 变量仅存储对象的引用。这里名为 的变量存储了一个 类型对象的引用,“Bob” 则是该对象的值。 变量的类型被推断为 ,但是你可以为其指定类型。如果一个对象的引用不局限于单一的类型,可以将其指定为 (或 )类型。 另一种方式是显式声明可以推断出的类型: 默认值 在 Dart 中,未初始化以及可空类型的变量拥有一个默认的初始值 。(如果你未迁移至 ,所有变量都为可空类型。)即便数字也是如此,因为在 Dart 中一切...