【学习 Flutter】第一个 Flutter App

Flutter 是什么

Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面...

balabalabala 的这些介绍网上一搜一大堆,这次的分享主要是在 Udemy 上购买了 Max 老师关于 Flutter 《
Learn Flutter & Dart to Build iOS & Android Apps》的课程,然后一边学习一边归纳总结自己的理解


Flutter 前期准备

  • 安装 Flutter SDK
  • 安装 Android Studio (只要利用 AVD 虚拟机来虚拟运行我们 Flutter 应用)
  • IDE 我跟 Max 一样选用 VS Code

更多的安装使用介绍,可参考官方安装步骤


第一个 Flutter 应用

对,你没猜错,还是用 Hello world 来写第一个 Flutter 应用

当前期准备就绪,就可以用 Flutter 创建我们的项目,如 flutter create 项目名 ,注意项目名不能加连字符如 hello-world,注意需要小写

From the Pubspec format description:
DO use lowercase_with_underscores for package names.
Package names should be all lowercase, with underscores to separate words,
just_like_this. Use only basic Latin letters and Arabic digits: [a-z0-9_].
Also, make sure the name is a valid Dart identifier -- that it doesn't start
with digits and isn't a reserved word.

flutter create hello_world
'或'
flutter create helloworld


目录结构

项目创建后,简单介绍几个重要的目录与文件

  • android 与 ios 目录:分别持有各自平台的原生代码,是编译时所需内容,只有细微调整不同平台代码的时候才需要访问修改
  • build 目录:编译完成后的内容
  • lib 目录:里面放着程序源码
    • main.dart 文件:入口文件
  • test 目录:自动化测试
  • pubspec.yaml 文件:整个项目的配置与依赖信息


入口文件与入口函数

  • Flutter 的入口文件:位于 /lib/main.dart,并文件名不能修改(此处我们将创建项目后原 main.dart 文件内容清空,从无到有写一次)
  • Flutter 的入口函数main,不带返回值,也写作 void main
  • 先加入 void main,此处可使用 dart /lib/main.dart 来运行并查看控制态输出(我没有单独安装 dart,所以就没有单独运行)
'main.dart'

void main() {
  print('app running....'); // 控制台输出
}


提高 Flutter 的开发体验

VS Code 上的必备扩展:Flutter,安装后在 dart 文件下会有自动格式化,语法提示等强大的功能。

VS Code Flutter 扩展


运行程序

  • 打开 Android Studio 并开启 AVD Manager 选其中一个虚拟器

    AVD Manager

  • 命令行方式运行(推荐使用,因有热加载等更多功能):运行入口文件 /lib/main.dart 的入口函数 main 开始运行

flutter run
  • IDE 方式运行:VS Code 上使用 Debug 工具 -> 运行并选择 Flutter & Dart(若当前焦点在 dart 文件里,则自动跳过选择步骤并自动启动)
    运行完毕后,终端上出现 I/flutter ( xxxx): app running....

而我们的 Flutter 应用需要将内容挂载到设备上,目前没这个步骤,因此虚拟器上只出现白屏

未挂载 白屏

到这里我们已经成功运行 Flutter 应用了,只是目前还没将界面挂载到设备上,下节课会一起学习将界面(组件树)挂载到设备上

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 160,165评论 4 364
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,720评论 1 298
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,849评论 0 244
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,245评论 0 213
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,596评论 3 288
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,747评论 1 222
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,977评论 2 315
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,708评论 0 204
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,448评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,657评论 2 249
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,141评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,493评论 3 258
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,153评论 3 238
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,108评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,890评论 0 198
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,799评论 2 277
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,685评论 2 272

推荐阅读更多精彩内容

  • 足足看了十几分钟,根本停不下来…… 四缸发动机 ↓↓ 印刷机 ↓↓ 椅子动作 ↓↓ 齿轮传动 ↓↓ 单缸发动机 ↓...
    c66b2f21b001阅读 371评论 0 13
  • 今天大概是被某种力量安排的一天,一大早就晚起了。老妈见我已经来不及吃早餐了,也不希望我迟到,干脆让我把盛好的早餐倒...
    徐E东阅读 79评论 0 0
  • 有个人长的像洋葱,走着走着就哭了…….
    草民胡不归阅读 100评论 0 0
  • 多人反复在问微信自媒体赚钱吗?其实也是在问自己为什么赚不到钱。其实赚不到钱也很正常,毕竟太多人从事微信自媒体了,公...
    d1903ca212de阅读 390评论 0 0
  • 今晚的雨下的有些意外。 以为会是一场飘雪,没有想到却是一场夜雨。行在路上的车辆各自奔向东西,不知道明天将会迎来一场...
    爱吃面包的树阅读 269评论 0 4