项目结构概览
my_flutter_app/
├── android/ # Android平台特定代码
├── ios/ # iOS平台特定代码
├── lib/ # 主要的Dart代码(核心业务逻辑)
├── web/ # Web平台特定代码
├── test/ # 测试代码
├── assets/ # 静态资源文件
├── build/ # 构建输出目录
└── 配置文件们 # 各种配置文件
核心目录和文件详解
1. lib/
– 主要Dart代码目录
lib/
├── main.dart # 应用入口点
├── models/ # 数据模型类
├── services/ # 业务逻辑服务
├── providers/ # 状态管理
├── screens/ # 页面/屏幕
├── widgets/ # 可复用组件
├── utils/ # 工具类
└── constants/ # 常量定义
2. android/
– Android平台代码
android/
├── app/
│ ├── src/
│ │ └── main/
│ │ ├── java/ # Java/Kotlin代码
│ │ ├── res/ # Android资源文件
│ │ ├── AndroidManifest.xml # Android应用配置
│ │ └── kotlin/
│ └── build.gradle # Android构建配置
├── gradle/
└── build.gradle # 项目级Gradle配置
3. ios/
- iOS平台代码
ios/
├── Runner/
│ ├── Assets.xcassets/ # iOS资源文件
│ ├── Base.lproj/ # 界面文件
│ ├── AppDelegate.swift # iOS应用委托
│ └── Info.plist # iOS应用配置
├── Runner.xcodeproj/ # Xcode项目文件
├── Runner.xcworkspace/ # Xcode工作空间
└── Podfile # CocoaPods依赖管理
核心配置文件说明
1. pubspec.yaml
– 项目主配置文件
name: my_flutter_app
description: "A Flutter application"
publish_to: 'none' version: 1.0.0+1 environment:sdk: '>=3.0.0 <4.0.0' dependencies: flutter:sdk: fluttercupertino_icons: ^1.0.2http: ^1.1.0provider: ^6.0.0dev_dependencies: flutter_test:sdk: flutterflutter_lints: ^3.0.0flutter:uses-material-design: true assets: - assets/images/- assets/icons/fonts: - family: Robotofonts:- asset: assets/fonts/Roboto-Regular.ttf
2. analysis_options.yaml
– 代码分析配置
include: package:flutter_lints/flutter.yamlanalyzer:exclude: - build/**- lib/generated_**strong-mode:implicit-casts: falseimplicit-dynamic: falselinter:rules: - always_declare_return_types- avoid_empty_else- prefer_const_constructors
主要代码文件详解
1. lib/main.dart
– 应用入口点
import 'package:flutter/material.dart';
import 'app.dart';void main() {runApp(const MyApp());
}
void main() {WidgetsFlutterBinding.ensureInitialized();setupLocator();SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp,]);runApp(const MyApp());
}
2. lib/app.dart
– 应用根组件
分层架构
lib/
├── data/ # 数据层
│ ├── models/ # 数据模型
│ ├── repositories/ # 数据仓库
│ └── datasources/ # 数据源(本地、网络)
├── domain/ # 领域层
│ ├── entities/ # 业务实体
│ ├── repositories/ # 抽象仓库接口
│ └── usecases/ # 用例
└── presentation/ # 表现层├── screens/ # 页面├── widgets/ # 组件├── providers/ # 状态管理└── utils/ # 工具类