Learning Path
浏览 Flutter 相关教程与章节。
iOS、Android、Flutter、Ionic、Electron 与跨平台客户端。
教程
26
Flutter 教程 Flutter 是一个用于构建跨平台应用的 UI 工具包,由 Google 开发维护。它允许开发者使用一套代码库同时为 iOS、Android、Web、Windows、macOS 和 Linux 构建原生编译的应用。 Flutter 使用 Dart 编程语言,具有热重载、丰富的组件库和高性能的渲染引擎,能够帮助开发者快速构建美观、流畅的原生体验应用。 谁适合阅读本教程? 本教程适合有编程基础的开发者学习。..
Flutter 进阶 本节将介绍一些 Flutter 进阶概念,帮助你提升开发技能。 渲染原理 Flutter 使用 Skia(自 3.0 起逐步切换到 Impeller)渲染引擎直接绘制 UI,不使用原生组件。 Widget 树与 Element 树 Widget 树: 描述 UI 的配置信息(不可变) Element 树: Widget 的实例化对象(可变) RenderObject 树: 负责实际渲染 理解渲染原理有..
Flutter 动画基础 本节将介绍 Flutter 中的动画实现,包括隐式动画和显式动画。 隐式动画 隐式动画是由 Flutter 自动处理过渡效果的动画 Widget。 实例:AnimatedContainer [mycode4 type='dart'] class AnimatedContainerExample extends StatefulWidget { const AnimatedCon..
Flutter 最佳实践 本节将介绍 Flutter 开发中的最佳实践和编码规范。 代码规范 命名规范 类型规则示例 类名大驼峰MyHomePage 函数/变量小驼峰userName, getData 常量大驼峰 + k 前缀kMaxCount 文件小写 + 下划线my_home_page.dart 实例:正确的命名 [mycode4 type='dart'] // 类名 - 大驼峰 class Us..
Flutter 打包与发布 本节将介绍如何将 Flutter 应用打包发布到各个平台。 构建准备 在发布前,确保应用配置正确。 pubspec.yaml 配置 实例:发布配置 [mycode4 type='yaml'] # 应用信息 name: my_app description: '我的 Flutter 应用' version: 1.0.0+1 # 版本号(重要!) # 应用图..
Flutter Container 与装饰 Container 是 Flutter 中最常用的通用容器 Widget,它提供了设置尺寸、背景、边框、阴影等能力。 Container 概述 Container 是一个组合 Widget,内部封装了 Padding、ColoredBox、SizedBox、DecoratedBox 等功能。 实例:Container 基本用法 [mycode4 type='dart..
第一个 Flutter 应用 本节将介绍如何使用 Flutter CLI 创建新的 Flutter 项目,运行应用,并理解最基础的代码结构。 使用 Flutter CLI 创建项目 Flutter CLI 是 Flutter 的命令行工具,用于创建、管理和构建 Flutter 项目。 创建新项目 在终端中运行以下命令创建一个新的 Flutter 项目: $ flutter create my_first_app 其中 my..
Flutter 调试与 DevTools 本节将介绍 Flutter 的调试工具和常用调试技巧。 Flutter DevTools 简介 Flutter DevTools 是一套用于调试和分析 Flutter 应用的工具集。 启动 DevTools $ flutter run 在运行应用后,终端会显示 DevTools 的 URL,通常是 http://127.0.0.1:9100 常用命令 命令说明 flutter do..
Firebase 集成 Firebase 是 Google 提供的移动和 Web 应用开发平台,本节将介绍如何在 Flutter 中集成 Firebase。 Firebase 概述 Firebase 提供多种后端服务,包括认证、数据库、存储、分析等。 服务说明 Firebase Auth用户身份验证 Cloud Firestore云端 NoSQL 数据库 Realtime Database实时数据库 Cloud Storage云..
Flutter 表单与验证 本节将介绍 Flutter 中表单的创建、验证和提交处理。 TextFormField - 表单输入 TextFormField 是专门用于表单的 TextField,支持内置验证功能。 实例:基本表单 [mycode4 type='dart'] class LoginForm extends StatefulWidget { const LoginForm({super.k..
Flutter HTTP 请求 本节将介绍如何在 Flutter 应用中进行 HTTP 网络请求,包括 GET、POST 请求以及 JSON 数据处理。 添加 HTTP 依赖 在 pubspec.yaml 中添加 http 包: dependencies: http: ^1.0.0 然后运行: $ flutter pub get 发送 GET 请求 实例:GET 请求 [mycode4 type=�..
Flutter 图片与资源 本节将介绍 Flutter 中图片加载、本地资源管理和网络图片处理。 Image Widget - 图片显示 实例:各种图片加载方式 [mycode4 type='dart'] // 从网络加载图片 Image.network( 'https://example.com/image.png', width: 200, height: 200, ..
Flutter 安装 在学习构建 Flutter 应用之前,需要先在本地机器上安装 Flutter SDK 及所有必需依赖项。本节将详细介绍在 Windows、macOS 和 Linux 系统上的安装步骤。 系统要求 在安装 Flutter 之前,请确保你的开发环境满足以下基本要求: 要求项WindowsmacOSLinux 操作系统Windows 10 或更高版本macOS 10.14 或更高版本Ubuntu 18.04 或更..
Flutter 布局基础 布局是 Flutter UI 开发的核心概念。本节将介绍最常用的布局 Widget,包括 Row、Column、Stack 和 Flex 等。 布局 Widget 概述 Flutter 提供了丰富的布局 Widget,可以满足各种界面设计需求。 Widget用途 Row水平排列子 Widget Column垂直排列子 Widget Stack层叠排列子 Widget Flex灵活的线性布局(Row/Co..
Flutter ListView 与滚动 ListView 是 Flutter 中最常用的滚动列表 Widget,用于显示可滚动的内容列表。 ListView 基本用法 实例:ListView 基本用法 [mycode4 type='dart'] // 方式1:children 参数(适用于少量项目) ListView( children: [ ListTile(title: Text(..
Flutter 导航与路由 本节将介绍 Flutter 中的导航和路由机制,包括页面跳转、参数传递和命名路由。 Navigator 基础 Flutter 使用 Navigator 进行页面管理,基于栈(stack)结构实现页面跳转。 实例:基本页面跳转 [mycode4 type='dart'] // 跳转到新页面 Navigator.of(context).push( MaterialPageRout..
Flutter 平台特定代码 本节将介绍如何使用平台通道(Platform Channels)在 Flutter 中调用原生平台代码。 平台通道概述 平台通道允许 Dart 代码与原生平台(iOS/Android)进行通信。 类型说明 MethodChannel方法通道,用于调用平台方法 EventChannel事件通道,用于流式数据 Dart 端调用 实例:MethodChannel 用法 [mycode4 ty..
Flutter 项目结构 了解 Flutter 项目的目录结构对于高效开发至关重要。本节将详细介绍 Flutter 项目的各个组成部分及其作用。 项目目录结构 当你使用 flutter create 创建新项目后,会得到以下目录结构: my_app/ ├── android/ # Android 平台相关代码 ├── ios/ # iOS 平台相关代码 ├── lib/ ..
Flutter 状态管理 状态管理是 Flutter 开发中的核心概念。本节将介绍 Flutter 内置的状态管理方式,包括 setState、Provider 和 ChangeNotifier。 什么是状态管理 状态管理是指管理应用中数据的变化和 UI 更新的机制。当数据发生变化时,UI 需要相应更新,这就是状态管理要解决的问题。 状态类型说明例子 本地状态单个 Widget 内部的状态输入框文本、动画进度 共享状态多个 Wi..
Flutter StatelessWidget vs StatefulWidget 深入理解 理解 StatelessWidget 和 StatefulWidget 的区别是 Flutter 开发的基础。本节将深入分析这两种 Widget 的使用场景和内部工作机制。 核心区别 Flutter 中有两种主要类型的 Widget,它们的根本区别在于是否能持有可变状态。 特性StatelessWidgetStatefulWidget ..
Flutter 本地存储 本节将介绍 Flutter 中的本地存储方案,包括 SharedPreferences、文件存储和 SQLite 数据库。 SharedPreferences - 轻量级存储 SharedPreferences 适合存储简单的键值对数据。 添加依赖 dependencies: shared_preferences: ^2.0.0 实例:SharedPreferences 使用 [mycode..
Flutter 测试 本节将介绍 Flutter 中的三种测试类型:单元测试、Widget 测试和集成测试。 测试类型概述 类型说明运行命令 单元测试测试单个函数、类的方法flutter test Widget 测试测试单个 Widget 的 UIflutter test 集成测试测试完整的应用流程flutter test integration_test/ 单元测试 单元测试用于测试业务逻辑代码。 实例:单元测试示例..
Flutter 主题与样式 本节将介绍 Flutter 中的主题配置,包括 Material Design 主题、自定义主题和深色模式。 ThemeData - 应用主题 使用 ThemeData 可以统一配置应用的主题颜色、字体、样式等。 实例:配置应用主题 [mycode4 type='dart'] void main() { runApp( MaterialApp( theme..