项目结构概览

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' # Dart SDK版本约束

dependencies:           # 生产环境依赖
  flutter:
    sdk: flutter
  cupertino_icons: ^1.0.2
  http: ^1.1.0
  provider: ^6.0.0

dev_dependencies:       # 开发环境依赖
  flutter_test:
    sdk: flutter
  flutter_lints: ^3.0.0

flutter:
  uses-material-design: true  # 使用Material设计
  
  assets:              # 静态资源声明
    - assets/images/
    - assets/icons/
    
  fonts:               # 字体配置
    - family: Roboto
      fonts:
        - asset: assets/fonts/Roboto-Regular.ttf

2. analysis_options.yaml – 代码分析配置

include: package:flutter_lints/flutter.yaml

analyzer:
  exclude:           # 排除分析的文件
    - build/**
    - lib/generated_**

  strong-mode:
    implicit-casts: false
    implicit-dynamic: false

linter:
  rules:            # Lint规则配置
    - 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() {
  // 确保Widgets绑定初始化
  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/         # 工具类
Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐