ifredom / flutter-app-learn

flutter-app-learn

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

first_flutter_app

A new Flutter application.

flutter_learn_ex 中是具体的渐进学习步骤以及对应每一个组件的练习代码.

开发必知

下载缓慢: https://juejin.im/post/5d8d5a105188256ec311fa99#heading-41

  # 运行.项目根目录下
  > flutter run
    # 运行.项目根目录下
  > flutter run -d [设备名称]

  // 启动,特定入口文件
  > flutter run --target lib/ui/pages/manage_dialog.dart

flutter pub get 无法下载

使用管理员权限启动 poweshell, 在项目根目录下执行flutter pub get

debug

  • 按下 R 刷新
  • 按下 shirt + R 强制部署
  • 按下 P 出现网格
  • 按下 O 切换 android 和 ios 视图

windows 系统必知快捷键

alt + click(鼠标左键) 进入该对象查看属性 alt + left (左箭头) 后退返回的项目页 ctrl + . 鼠标悬浮于 widget ,可以自动申明变量 widget 到构造函数中

class SecondPage extends StatefulWidget {
  final Widget widget; // ctrl + .
  @override
  _SecondPageState createState() => _SecondPageState();
}

vscode 中按下 alt+shift+F格式化快捷键,格式化结果可能会不够整齐,解决办法是:每一个属性末尾带上一个逗号!

snippet 快速 coding 技巧

输入属性中得驼峰字母可以提高效率。比如我们要写一个属性: ListTitle(),可以输入lt,此时会自动给出对应提示,其中就有ListTitle

屏幕适配方案

ScreenUtil + SizeBox

Material 设计规范中状态栏、导航栏、ListTile 高度分别为 24、56、56 pushNamedAndRemoveUntil 会推入一个新的路由,新路有会执行初始化全部生命周期

异常报错

unfortunately firstapp has stopped

方式一,无效

> flutter clean
> flutter run

方式二,使用 Genymotion创建设备,并 setting->ADB-> Use custom Android SDK tools。 (设置为你得 SDK 位置即可)

flutter for web

flutter-for-web docs

 flutter channel dev
 flutter upgrade
 flutter config --enable-web
 cd <into project directory>
 flutter create .
 flutter run -d chrome

创建 flutter 项目

注意: 不同版本下的 flutter,创建出来的项目是有区别的。flutter 1.12 进行了大量的不兼容性更新

//如果要指定语言,比如安卓使用 java,iOS 使用 Swift flutter create -i swift -a java xxapp

// 创建指定包名的项目 (https://juejin.im/post/5e804429f265da47a927de6b)

flutter create --org [包名] [项目名称,同时也是包名后缀] flutter create --org com.ifredom myapp

flutter 创建后项目升级到 1.12 以后版本

https://github.com/flutter/flutter/wiki/Upgrading-pre-1.12-Android-projects

About

flutter-app-learn


Languages

Language:Dart 96.9%Language:Java 2.7%Language:Objective-C 0.2%Language:Shell 0.1%