2.2 Flutter目录结构及main文件
我们启动并在模拟器上运行了Flutter项目,现在打开main.dart这个文件并删除所有内容,如图2.7所示,从零开始学习如何编写Flutter代码。
首先介绍一下图2.7中左侧的目录和文件:.idea目录是Android Studio中的文件不要删除,也不需要了解其中的内容;android和ios目录非常重要,因为它们保存着本机的代码,并且是应用构建过程的重要部分,android和ios目录中的内容不经常用到,后面的章节用到时再学习;lib目录是编写整个Flutter应用的地方,我们将在这个目录下编写Dart和Flutter代码;test目录下可以编写自动化测试代码。其他文件是基本的配置文件,例如.gitignore文件是版本控制文件,其他配置文件中包含SDK的配置信息,不需要编辑它们。pubspec.yaml文件是配置整个项目及其依赖的,这个文件是很重要的。后面章节会介绍添加第三方包,例如相机设备,会经常修改这个文件中的某些配置,现在编写我们应用程序的一些基础代码。
main.dart文件是一个很重要的文件,不可以重新命名,因为Flutter构建项目时会寻找main.dart这个文件,文件中包含一些特殊的方法来启动整个App,其中有一个main()方法,在Flutter中创建方法,需要输入一个名字例如main,这个方法比较特殊,App在启动的时候会寻找这个main方法。其他的方法可以自己命名,然后输入括号,在括号中可以指定任何参数,然后在方法体中使用这些数据,但是main()方法不接受任何参数,方法体中执行的代码需要用大括号括起来。如果执行某个方法,可以像如下代码这样写。
图2.7 Flutter项目中的main.dart
main(); //调用main()方法
但是对于main()这个特殊的方法我们不能去调用它,Flutter会自动调用它,所以这就是我们必须要命名为main()并且把它放到main.dart中的原因。现在可以启动App,开始渲染用户界面并运行到操作系统上,这可以通过Android和iOS来完成,但是要在屏幕上呈现一些内容,需要在main()方法中做一些事情。例如将一个小部件附加到屏幕上,接下来讲解什么是小部件。