Flutter🌞Flutter入门及环境搭建
Flutter
Flutter
是谷歌公司开发的一款开源、免费的移动UI框架,可以让我们快速的在Android
和ios
上构建高质量App。它最大的特点就是跨平台、以及高性能- 官方文档:https://flutter.dev/
环境搭建
- 参考技术胖Flutter免费视频第一季-环境搭建:https://jspang.com/detailed?id=41#toc21
- 首先需要配置
Java JDK
,然后安装android studio
,官方网站:https://developer.android.google.cn/studio/ - 配置
Android sdk
路径的时候不能有中文和空格 - 再在Flutter官网下载
Flutter SDK
,下载好后解压到一个路径,配置好环境变量,把bin
目录复制到Path
里 - 使用
flutter -v
命令检查是否配置成功 - 搭建环境过程中要下载很多资源文件,当一些资源下载不了的时候,可能会报各种错误。在国内访问Flutter的时候有可能会受到限制。Flutter官方为我们提供了国内的镜像:https://flutterchina.club/setup-windows/
1 | 把下面两个添加到环境变量里,键值对 |
使用
flutter doctor
命令可以检查是否配置成功,出现cmdline-tools component is missing
,参考博客如果找不到
Android SDK
,就运行以下命令
1 | lutter config --android-sdk D:\AndroidSDK |
- 汉化:进入https://plugins.jetbrains.com/,找个中文插件,下载
203.xxx
版本的语言包,然后在Android studio
中从本地磁盘安装插件即可
安装虚拟机
- 在
Android studio
中安装Flutter
插件,然后就可以创建Flutter
项目了 - 然后点击顶部的
Tools
工具,选择AVD Manager
创建虚拟机,一般选择Nexus 5
,根据屏幕自定义,版本可以选最新版本 - 创建好后点击运行,一般会出现很多错误,可以自行百度
- The emulator process for AVD Pixel_5_API_30 has terminated:https://blog.csdn.net/qq_43224762/article/details/121255382
- AVD Manager Unable to locate adb:https://blog.csdn.net/wenjun_xiao/article/details/107198615
- 虚拟机配置好后,使用
debug
启动项目,启动过程会有点慢,耐心等待,建议修改android目录下的build.gradle
文件,把google()
和jcenter()
这两行去掉,改为阿里的链接
1 | buildscript { |
- 再修改Flutter SDK包下的
flutter.gradle
文件,这个目录要根据你的SDK存放的位置有所变化,比如
1 | D:\FlutterSDK\flutter_windows_2.8.1-stable\flutter\packages\flutter_tools\gradle |
1 | buildscript { |
VsCode配置
Android Studio
进行开发的,感觉太重量级了,所以比较喜欢使用VsCode
进行配置VsCode
中只需要安装Flutter
和Dart
插件即可。关于虚拟机,可以制作一个批处理文件,来直接开启AVD虚拟机,这样就不用再等两分钟来开启Android Studio了- 在桌面新建
EmulatorRun.bat
文件 ,名字可以自定义 - 查找
emulator.exe
文件的路径,把查找到的路径放到bat
文件中,推荐使用Everything
软件查找 - 一般会查找到两个
emulator.exe
文件,一个是在tools
目录下,一个是在emulator
目录下,我们选择emulator
目录下的这个,复制它的路径
- 在桌面新建
1 | D:\AndroidSDK\emulator\emulator.exe |
- 然后打开
Android Studio
,并查看你的AVD虚拟机名称,空格使用_
代替,然后加在新建的bat
文件中,然后双击bat
文件就可以打开虚拟机netdelay none
:设置模拟器的网络延迟时间,默认为none
,就是没有延迟netspeed full
:设置网络加速值,full
代表全速
1 | D:\AndroidSDK\emulator\emulator.exe -netdelay none -netspeed full -avd Pixel_5_API_30 |
- 现在模拟器也有了,VSCode也支持Flutter开发了,在VsCode中
ctrl+~
打开终端,然后在终端中输入下面的命令,经过短暂的编译后就会启动我们的程序了
1 | 前提开启了虚拟机 |
- 如果频繁打开
bat
文件比较麻烦,在安装了Flutter和Dart插件以后,在VSCode的右下角显示No Devices
,我们直接点击它,就会显示我们电脑中安装的虚拟机,如果你电脑上没有,也可以进行安装
入口文件
- VsCode创建Flutter项目
1 | flutter create xxx |
lib/main.dart
为项目的入口文件,可以在里面编写代码StatefulWidget
: 具有可变状态的窗口部件,也就是你在使用应用的时候就可以随时变化,比如我们常见的进度条,随着进度不断变化。StatelessWidget
:不可变状态窗口部件,也就是你在使用时不可以改变,比如固定的文字(写上后就在那里了,死也不会变了)
1 | // 引入UI库 |
- 写完后打开终端,运行
flutter run
,等待一小会,就会看到虚拟机中显示了Hello World的内容 VsCode
编写唯一不好的就是无法热更新,需要在终端按以下按键
1 | r 键:点击后热加载,也就算是重新加载吧。 |
- 另一种方法就是启用
debug
模式,保存就能产生变化
Widget
StatelessWidget
- 无状态组件
StatelessWidget
,是不可变的,这意味着它们的属性不能改变,所有的值都是最终的
1 | import 'package:flutter/material.dart'; |
- 无状态组件传递参数方式
1 | import 'package:flutter/material.dart'; |
StatefulWidget
- 有状态组件
StatefulWidget
持有状态可能在Widget生命周期中发生变化。实现一个StatefulWidget
至少需要两个类- 一个
StatefulWidget
类 - 一个
State
类。StatefulWidget
类本身是不变的,但是State
类在Widget
生命周期中始终存在
- 一个
1 | import 'package:flutter/material.dart'; |
- 有状态组件传递参数方式
1 | import 'package:flutter/material.dart'; |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 小李博客!
评论