在 Android Studio 中创建简单应用
在本章中,我们将创建一个简单的 Flutter 应用,以了解在 Android Studio 中创建 Flutter 应用的基础知识。
步骤 1 − 打开 Android Studio
步骤 2 − 创建 Flutter 项目。为此,点击 File → New → New Flutter Project
步骤 3 − 选择 Flutter Application。为此,选择 Flutter Application 并点击 Next。
步骤 4 − 按以下方式配置应用并点击 Next。
项目名称: hello_app
Flutter SDK 路径: <path_to_flutter_sdk>
项目位置: <path_to_project_folder>
描述: 基于 Flutter 的 hello world 应用
步骤 5 − 配置项目。
将公司域设置为 flutterapp.example.com 并点击 Finish。
步骤 6 − 输入公司域。
Android Studio 会创建一个具有最小功能的完整 Flutter 应用。让我们检查应用结构,然后修改代码来完成我们的任务。
应用结构及其用途如下所示 −
应用结构的各个组件解释如下 −
android − 自动生成的用于创建 Android 应用的源代码
ios − 自动生成的用于创建 iOS 应用的源代码
lib − 包含使用 Flutter 框架编写的 Dart 代码的主要文件夹
lib/main.dart − Flutter 应用的入口点
test − 包含用于测试 Flutter 应用的 Dart 代码的文件夹
test/widget_test.dart − 示例代码
.gitignore − Git 版本控制文件
.metadata − 由 Flutter 工具自动生成
.packages − 自动生成,用于跟踪 Flutter 包
.iml − Android Studio 使用的项目文件
pubspec.yaml − 由 Pub(Flutter 包管理器)使用
pubspec.lock − 由 Flutter 包管理器 Pub 自动生成
README.md − 以 Markdown 格式编写的项目描述文件
步骤 7 − 将 lib/main.dart 文件 中的 Dart 代码替换为以下代码 −
import 'package:flutter/material.dart';
void main() => runApp(MyApp());
class MyApp extends StatelessWidget {
// 这个 widget 是您应用根节点。
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Hello World Demo Application',
theme: ThemeData(
primarySwatch: Colors.blue,
),
home: MyHomePage(title: 'Home page'),
);
}
}
class MyHomePage extends StatelessWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text(this.title),
),
body: Center(
child:
Text(
'Hello World',
)
),
);
}
}
让我们逐行理解 Dart 代码。
第 1 行 − 导入 Flutter 包 material。material 是一个 Flutter 包,用于按照 Android 指定的 Material Design 指南创建用户界面。
第 3 行 − 这是 Flutter 应用的入口点。调用 runApp 函数并传递 MyApp 类的对象。runApp 函数的目的是将给定的 widget 附加到屏幕上。
第 5-17 行 − Widget 用于在 Flutter 框架中创建 UI。StatelessWidget 是一个不维护 widget 状态的 widget。MyApp 继承自 StatelessWidget 并重写了其 build 方法。build 方法的目的是创建应用 UI 的一部分。这里,build 方法使用 MaterialApp,这是一个用于创建应用根级别 UI 的 widget。它有三个属性 - title、theme 和 home。
title 是应用的标题
theme 是 widget 的主题。这里,我们使用 ThemeData 类及其属性 primarySwatch 将 blue 设置为应用的整体颜色。
home 是应用内部 UI,我们设置了另一个 widget MyHomePage
第 19-38 行 − MyHomePage 与 MyApp 类似,但它返回 Scaffold Widget。Scaffold 是紧邻 MaterialApp widget 的顶级 widget,用于创建符合 Material Design 的 UI。它有两个重要属性:appBar 用于显示应用的头部,body 用于显示应用实际内容。AppBar 是另一个用于渲染应用头部的 widget,我们在 appBar 属性中使用了它。在 body 属性中,我们使用了 Center widget,它会将其子 widget 居中。Text 是最终的最内层 widget,用于显示文本,并显示在屏幕中央。
步骤 8 − 现在,使用 Run → Run main.dart 运行应用
步骤 9 − 最后,应用的输出如下所示 −
