![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flutter基础
文章平均质量分 56
享阅工作室
本人多年软件开发和管理经验,在多家互联网公司担任过高级软件开发、架构师、技术经理、技术总监等。工作认真负责,态度诚恳严谨,思维活跃,勇工并挑战解决项目研发中的难题。主要研究方向移动端和前端开发,包括RN、Flutter等跨平台开发以及Android、Vue、React、Node.js、SpringBoot等都有所研究。生活中爱好广泛,乐观向上,易于与不同类型人群沟通,能在较大的压力下保持良好的工作心态,将百分百的热情投入到每一天的每一分钟。
展开
-
Flutter SDK降级、回退、升级到指定版本方法
今天给flutter升级,但是运行老项目之后一堆的问题,无奈只能退回到老版本,过程如下1、cd 到自己flutter的安装目录2、执行 git reset --hard commit版本号commit版本号的获取,要到Flutter Git源码里面去找https://github.com/flutter/flutter3、执行完步骤2之后,重新执行flutter doctor,即可...原创 2022-03-19 11:22:23 · 10560 阅读 · 0 评论 -
一篇搞定Flutter面试(持续更新)
Dart 部分如果您学习过 JavaScript 或者 Java/Kotlin ,那么在学习 Dart 上难度并不大,Dart 综合了动态语言和静态语言的特性, 他也有一些自己的特点。1、Dart 属于是强类型语言 ,但可以用 var 来声明变量,Dart 会自推导出数据类型,var 实际上是编译期的“语法糖”。dynamic 表示动态类型, 被编译后,实际是一个 object 类型,在编译期间不进行任何的类型检查,而是在运行期进行类型检查。2、Dart 中 if 等语句只支持 bool 类型,swi原创 2021-04-22 22:53:39 · 4755 阅读 · 0 评论 -
Dart基础之Mixin
Flutter学习过程中经常遇到 mixin 类型的 Class 类,今天就简单介绍一下Mixin。1 Mixin基本介绍Mixin 是一种在多个类层次结构中重用类代码的方法;官方的介绍是:Mixin 是面向对象程序设计语言中的类,提供了方法的实现,其他类可以访问 Mixin 类的方法而不必成为其子类;Mixin 为使用它的 Class 类提供额外的功能,但自身却不单独使用(不能单独生成实例对象,属于抽象类),Mixin 类通常作为功能模块使用,在需要该功能时“混入”,而且不会使类的关系变得复杂。原创 2021-04-22 13:09:28 · 562 阅读 · 1 评论 -
Dart基础之Generics 泛型 <T>
Java开发过程中,会通过重载实现根据不同的参数类型生成类似方法(多态),进一步可以通过 泛型 进一步提取基类方法;而对于 Dart 而言,为了解决多种方式构造对象的场景,也可以通过 Dart 中的 Generics 泛型 来提取基类。GenericsGenerics 泛型是用于解决 类/接口/方法 复用性以及对不特定类型进行数据校验的一种方式;通常用 <…> 符号表示,其中参数一般用 T、E、S、K、V 字母代表;泛型优势Dart 不支持重载,所以可以通过设置多个不同名称的方法或不原创 2021-04-21 23:28:48 · 652 阅读 · 0 评论 -
Flutter框架体系结构
1 运行原理在开发过程中,Flutter应用运行在一个虚拟机中,该虚拟机提供有状态的变化热重载,而不需要完全重新编译。发布时,Flutter应用直接编译成机器代码,无论是Intel x64,还是ARM指令,如果针对Web,则编译成JavaScript。该框架是开源的,采用允许的BSD许可证,并拥有一个繁荣的第三方包生态系统,补充核心库功能。2 分层框架结构Flutter被设计成一个可扩展的、分层的系统。它作为一系列独立的库存在,每个库都依赖于底层。任何一层都没有特权访问下面的一层,Framework层原创 2021-04-10 20:45:23 · 1618 阅读 · 4 评论 -
1 Flutter简介
You only win when you maintain your dignity.坚守尊严才会赢。1 什么是Flutter借用Flutter官网的https://flutter.dev/一句话介绍:“Flutter is Google’s UI toolkit for building beautiful, natively compiled applications for mobile, web, and desktop from a single codebase.”一份代码,可以让你.原创 2021-04-10 20:42:59 · 163 阅读 · 0 评论 -
Flutter升级到2.0
文章目录1 flutter channel 查看渠道2 flutter upgrade升级到最新版本3 flutter --version查看当前版本4 升级成功后,创建Flutter应用1 flutter channel 查看渠道如果没有dart sdk会先下载dart sdk。flutter一共4个分支,stable:稳定版。beta:测试版。每隔几周都会选取近几个月中最好的dev版本作为Beta版。dev:最新的经过完全测试的版本。包含新功能,但可能有一些问题。master:最新版,但未原创 2021-03-28 21:56:02 · 1279 阅读 · 0 评论 -
flutter常见命令
持续更新…命令作用flutter channel查看当前分支。flutter channel beta / flutter channel master更改分支。flutter upgrade更新flutter版本。要同时更新Flutter SDK和包,使用应用程序根目录(包含pubspec.yaml文件的同一目录)的flutter upgrade命令。flutter packages get获取pubspec.yaml文件中列出的所有依赖项flutte原创 2021-03-23 17:28:13 · 90 阅读 · 0 评论 -
flutter 查看使用的第三方插件的依赖关系
命令:flutter pub deps可以看到如下输出:原创 2021-03-20 08:19:10 · 755 阅读 · 0 评论 -
Flutter 中使用自定义字体
文章目录1. 导入字体文件2. 在 pubspec.yaml 中声明字体2.1 pubspec.yaml 选项的定义3. 设置默认字体4. 将字体用于特定 Widget4.1 字体样式完整样例Flutter 可以很方便的使用自定义字体,不仅能够将其用于整个应用里,还可以用在某个单独的 widget 中。使用自定义字体具体步骤:导入字体文件在 pubspec.yaml 中声明字体设置默认字体将字体用于特定 widget1. 导入字体文件要使用字体,你需要将字体文件导入到项目中。常见的做法原创 2021-03-02 12:46:20 · 3069 阅读 · 0 评论 -
dependOnInheritedElement() was called before ComponentState<DailySongsState>.initState() completed.
在Flutter中有时会遇到如下图这样的错误。说明有些操作可能在initState之前做了。解决办法有两种。1、延迟操作@overridevoid initState() { super.initState(); Future.delayed(Duration.zero, () { this._getMyData(); }); // Could do this in one line: Future.delayed(Duration.zero, this._g原创 2021-01-19 10:39:58 · 939 阅读 · 0 评论 -
Dart 语法糖?. 和??
文章目录1 dart 语法糖 ?.2 dart 语法糖 ??1 dart 语法糖 ?.它的意思是左边如果为空返回 null,否则返回右边的值。例如:A?.B如果 A 等于 null,那么 A?.B 为 null如果 A 不等于 null,那么 A?.B 等价于 A.B2 dart 语法糖 ??它的意思是左边如果为空返回右边的值,否则不处理。例如:A??B如果 A 等于 null,那么 A??B 为 B如果 A 不等于 null,那么 A??B 为 A...原创 2021-01-19 10:24:52 · 540 阅读 · 0 评论 -
Flutter设置常用的代码模版
文章目录1 打开File and Code Templates2 StateFulWidget 代码模版2.1 设置代码模版2.2 验证代码模版3 StatelessWidget 代码模版3.1 模版代码3.2 验证效果Android Studio 本来是用来开发 Android 的 IDE,通过安装 Flutter 和 Dart 两款插件就可以使用 Android Studio 来进行 Flutter 应用程序开发了。但是有一点不方便的就是,新建的 dart 文件,里面没有任何代码,全部都要自己写,有原创 2021-01-07 18:50:11 · 687 阅读 · 0 评论 -
Flutter常用的命令行
命令含义–version查看Flutter版本-h或者**–help**打印所有命令行用法信息analyze分析项目的Dart代码。buildFlutter构建命令。channel列表或开关Flutter通道。clean删除构建/目录。config配置Flutter设置。create创建一个新的Flutter项目。devices列出所有连接的设备。doctor展示了有关安装工具的信息。drive为当前项目运...原创 2021-01-06 16:50:45 · 373 阅读 · 0 评论 -
flutter的UI帧率FPS监测
App 流畅性的关键指标有 UI帧率,GPU帧率,我们期望它能达到 60fps,也就是16ms每帧。profile / release 模式那么如何获取到呢?前面文章介绍了Flutter的三种运行模式,要获取FPS最好在profile / release 模式。说明:因为debug模式会有一些额外的检查工作,比如assert()等为了加速开发效率,debug模式是以 JIT(Just in time)模式编译 dart 代码的,而profile和release是提前编译为机器码 AOT(Ahe原创 2020-12-26 22:28:54 · 3209 阅读 · 0 评论 -
Flutter运行模式
Flutter运行模式分为三种1、Debug模式 调试页面开发时使用2、Profile模式 调试性能 开发时使用3、Release模式 部署发包时使用DebugDebug模式可以在真机和模拟器上同时运行,此模式会打开所有的断言,包括debugging信息、debugger aids(比如observatory)和服务扩展。优化了快速develop/run循环,但是没有优化执行速度、二进制大小和部署。命令flutter run就是以这种模式运行的,通过sky/tools/gn --android或原创 2020-12-24 21:59:55 · 758 阅读 · 0 评论 -
Flutter页面跳转
使用Flutter切换到一个新界面,并且能跳回来在一个App中一般会有很多页面,这些页面需要相互跳转,传递信息并进行交换。比如列表要跳到详情,活动入口跳转到活动页面等等。Android中的页面可以是Activity;iOS中使用ViewController。在Flutter中,是如何进行页面跳转的呢?1、使用Navigator来切换页面。Navigator.push: 跳到另一个页面Navigator.pop: 从当前页面回退到上一个页面首先需要创建两个页面,FirstPage和SecondP原创 2020-12-18 20:42:52 · 594 阅读 · 3 评论 -
1 widget组件介绍
在Flutter中一切Widget,Flutter中的Widget的概念更广,它不仅可以表示UI元素,也可以表示一些功能性的组件如:用于手势检测的 GestureDetector widget、用于APP主题数据传递的Theme等等,在后面的内容中,我们在描述UI元素时可能会用到“控件”、“组件”这样的概念,需要知道他们就是widget,只是不同表述而已。1 Flutter组件分类Flutter可以根据状态分类,也功能职责和属性分类,我们这里根据功能职责和属性分类。主要包括:基础组件布局类组件容原创 2020-12-07 19:24:06 · 566 阅读 · 0 评论 -
GestureBinding.instance.resamplingEnabled
平滑滚动以提供不匹配的输入和显示频率当输入和显示频率不同时,Flutter团队与Google内部合作伙伴合作,极大地提高了滚动性能。例如,Pixel 4输入的运行频率为120hz,而显示屏的运行频率为90hz。滚动时,这种不匹配会导致性能下降。使用新的resamplingEnabled标志,您可以利用我们在Flutter中完成的性能工作来解决此问题:void main() { GestureBinding.instance.resamplingEnabled = true; run(MyApp(原创 2020-12-05 21:42:36 · 767 阅读 · 0 评论 -
Android获取Flutter使用shared_prefences保存的信息
### 1. 查看shared_preferences安卓端的源代码通过shared_preferences: “0.5.7”源代码可以知道,Flutter使用了channel将信息保存在SharedPreferences的文件中,shared_preferences在Android端保存的文件名为FlutterSharedPreferences 。### 2.在Android端写代码进行查询FlutterSharedPreferences里面的数据Flutter保存数据的代码如下:下面保存一个原创 2020-11-30 20:56:26 · 790 阅读 · 0 评论 -
Mac配置Flutter环境
1.下载 Flutter SDKhttps://flutter.dev/docs/development/tools/sdk/releases根据需求下载FlutterSDK版本,一般使用稳定版的最新版本。2.解压后添加环境变量解压在命令行输入:vim ~/.bash_profile添加如下在打开的文件中export PATH= flutterSDK磁盘路径/bin:$PATHexport PUB_HOSTED_URL=https://pub.flut..原创 2020-12-01 20:11:21 · 178 阅读 · 0 评论