Flutter 基础
环境搭建
Flutter 常用命令行
$ flutter run
$ flutter emulators
$ flutter emulators --launch <emulator id>
Nexus_5X_API_28 • Nexus 5X • Google • Nexus 5X API 28
apple_ios_simulator • iOS Simulator • Apple
$ flutter emulators --launch Nexus_5X_API_28
$ flutter run -d all
$ flutter run -d <deviceId>
Android SDK built for x86 • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
xxx的 iPhone • 00008020-001838491169002E • ios • iOS 12.2
$ flutter run -d emulator-5554
$ flutter run -d 00008020-001838491169002E
$ flutter upgrade
$ r
$ R
$ q
$ o
$ p
flutter build apk
flutter build apk --release --target-platform android-arm64
flutter build apk --release --target-platform android-arm
flutter build ios
flutter build ios --release --no-codesign --target-platform=ios --target=lib/main.dart
flutter build ios --release --no-codesign --target-platform=ios --target=lib/main.dart --build-number=1.0.0
Flutter -h 帮助命令含义
| 命令 | 含义 |
|---|
| --version | 查看 Flutter 版本 |
| --h 或者 -help | 打印所有命令行用法信息 |
| analyze | 分享项目的 Dart 代码 |
| build | Flutter 构建命令 |
| channel | 列表或开关 Flutter 通道 |
| clean | 删除构建/目录 |
| config | 配置 Flutter 设置 |
| create | 创建一个新的 Flutter 项目 |
| devices | 列出所有连接的设备 |
| doctor | 展示了有关安装工具的信息 |
| drive | 为当前项目运行 Flutter 驱动程序测试 |
| format | 格式一个或多个 Dart 文件 |
| fuchsia_reload | 在 Fuchsia 上进行热重载 |
| help | 显示帮助信息的 Flutter |
| install | 在附加设备上安装 Flutter 应用程序 |
| logs | 显示用于运行 Flutter 应用程序的日志输出 |
| packages | 命令用于管理 Flutter 包 |
| precache | 填充了 Flutter 工具的二进制工件缓存 |
| run | 在附加设备上运行你的 Flutter 应用程序 |
| screenshot | 从一个连接的设备截图 |
| stop | 停止在附加设备上的 Flutter 应用 |
| test | 对当前项目的 Flutter 单元测试 |
| trace | 开始并停止跟踪运行的 Flutter 应用程序 |
| upgrade | 升级你的 Flutter 副本 |
flutter 项目 重新生成 Android ios 模板项目
rm -rf android
flutter create -a java .
flutter create -a kotlin .
rm -rf ios
flutter create -i swift .
flutter create -i objc .
android gradle
pluginManagement {
repositories {
//gradlePluginPortal()
//google()
//mavenCentral()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}
}
dependencyResolutionManagement {
repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
repositories {
// google()
// mavenCentral()
maven { url 'https://maven.aliyun.com/repository/google' }
maven { url 'https://maven.aliyun.com/repository/public' }
maven { url 'https://maven.aliyun.com/repository/gradle-plugin' }
}
}
rootProject.name = "My Application"
include ':app'
iOS Podfile
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
flutter 代码片段
Flutter Widget Snippetsopen in new window
| Snippet | Description |
|---|
fstful | StatefulWidget snippet. This is an alternative of stful |
fstless | StatelessWidget snippet. This is an alternative of stless |
fscaff | Scaffold widget snippet |
fedgall | EdgeInsets widget snippet with named constructor all |
fedgonly | EdgeInsets widget snippet with named constructor only |
ftxt | Text widget snippet |
finitlf | Flutter initState lifecycle method snippet |
fic | Flutter Icon widget snippet |
fcont | Flutter Container widget snippet |
fcent | Flutter Center widget snippet |
frow | Flutter Row widget snippet |
fcol | Flutter Column widget snippet |
fex | Expand widget snippet |
fszbw | SizedBox widget snippet with just width argument |
fszbh | SizedBox widget snippet with just height argument |
fszb | SizedBox widget with width and height arguments |
fedgsym | EdgeInsets widget with named constructor symmetric |
fedgsymv | EdgeInsets widget with named constructor symmetric with vertical parameter |
fedgsymh | EdgeInsets widget with named constructor symmetric with horizontal parameter |
fimpmat | Add material's package import statement |
fstream | Display a StreamBuilder widget |
felbtn | Flutter ElevatedButton snippet |
Dart 相关代码片段
| Snippet | Description |
|---|
dvar | Dart variable declaration using var |
dfinal | Dart variable declaration using final |
dconst | Dart variable declaration using const |
dinvar | Dart Public Instance variable snippet |
dprinvar | Dart Private instance variable snippet |
dmt | Dart public method snippet |
dprmt | Dart private method snippet |
darr | Dart public arrow function snippet |
dprarr | Dart private arrow function snippet |
dopnctor | Dart optional named parameters constructor snippet |
dlist | Dart List collection snippet |
dmap | Dart Map collection snippet |
dset | Dart Set collection snippet |
dgetarr | Dart arrow function getter snippet |
dimpas | Dart import as snippet |
dimpshow | Dart import show snippet |
dimplazy | Dart import deffered as snippet |
dimphide | Dart import hide snippet |
dexhide | Dart export hide snippet |
dexshow | Dart export show snippet |
dconvert | Dart convert lib import snippet |
dimpmeta | Add meta package import statement |
dan | Add a Dart anonymous function |
dcla | Add Dart Class snippet |
dclae | Add Dart Class snippet with extends keyword |
Flutter Bloc 代码片段
| Snippet | Description |
|---|
fblocprov | Flutter bloc provider snippet |
GetX Snippets