Flutter升级打怪之路_01
24.2.3
决定学习flutter这门新的开发技术栈后,我通过掘金、Flutter中文网、万能的搜索引擎断断续续地了解了flutter的基础知识和Dart语法,终于在摸鱼N天后开始我的Flutter快速学习之路!
今天是Flutter学习的适应性第一天,小芽在摸鱼和不想学习中懒懒散散地花费了几个小时配好了Flutter的环境(用的编译器是vscode,使用神奇的穿越魔法用git下载了flutter的SDK,安装了android stdio完成配置)!
windows + flutter + vscode 最详细的配置以及使用方法_vs code如何运行flutter 应用-CSDN博客
配环境链接送上!ORZ
24.2.4
今天的学习任务是① 写一下算法题 ② 用flutter做一个猜数字和电子木鱼的小项目
好吧但是整整一上午还没有做完第一个项目!小芽同志看到隔壁学习小伙伴的飞速进展很是忧心……
遇到了一个愚蠢的bug,自己却不会改……
但是发现Newbing神助攻!
1. 关键字 var、final、const、late
(1)var
① 普普通通的定义变量关键字,可以赋值不同类型的变量,也可以自动推断变量的类型,如果没有初始化值为null。
② 可以再次赋值。但是,如果在声明时就赋值,则相当于指定类型,再赋值其他类型就会报错。
(2)final
只能赋值一次!(要不然为什么叫final嘞…)先声明再赋值 或者 声明完不赋值都可以。
(3)const
修饰常量,声明时就得赋值。
(4)late
① Dart 2.12 引入,定义变量时要初始化,其余使用起来和var差不多。作用是支持空安全和延迟初始化。
② late 关键字的作用是告诉编译器,这个变量会在稍后的某个时刻被初始化,而不是在声明时就被赋值。这样可以避免一些不必要的错误,比如在构造函数中使用 this 关键字,或者在变量的初始化器中访问它自己。同时,它也可以提高性能,因为如果这个变量没有被使用,那么它的初始化语句就不会被执行,可以节省资源。
2. StatefulWidget 和 StatelessWidget
(1)StatefulWidget 和 StatelessWidget是Flutter中两种常用的组件类型,它们的区别主要在于是否有状态(state)。
- StatefulWidget是有状态的组件,它可以在运行时改变自己的状态(state),从而改变自己的外观或行为。StatefulWidget需要一个State对象来存储它的状态,并提供一个createState方法来创建这个对象。State对象可以通过setState方法来更新状态,并通知Flutter重新构建组件。
- StatelessWidget是无状态的组件,它不会在运行时改变自己的状态(state),它只依赖于传入的参数(props)来确定自己的外观或行为。StatelessWidget不需要一个State对象,也不需要一个createState方法,它只需要一个build方法来返回一个Widget。
(2)一般来说,StatefulWidget适合用于需要交互或动画的组件,如按钮、滑块、复选框等,而StatelessWidget适合用于只需要展示数据的组件,如文本、图标、图片等。
好难啊……明明提前已经看过这个教程了……但实际上手猜数字才弄完一点点,再加上有点摸鱼……怎么这也要加动画啊……明天再做交互和动画吧(心累……)
3.总结
除了①再辨析了几种关键字的用法②了解了flutter里面两个比较重要的组件的区别(一个是会随状态改变,一个不会随状态改变)
还有
③flutter里面appbar的写法,需要写在一个叫做Scaffold的组件里面作为一个属性设置。然后分为左(leading)中(actions)右(title)三部分,里面…有很多乱七八糟的属性,感觉跟css差不多…
④随机数的产生:这个很简单,调用一个库(dart:math)然后用一个random()函数,再用一个nextInt()限定这个数的范围就可以了。
⑤值得一提的还有一种叫stack的叠放组件,大概是可以让他的组件按照“后来居上”的显示顺序展示…