flutter 创建项目、运行项目、项目目录

简介: flutter 创建项目、运行项目、项目目录

建项目

  1. 打开vscode

    输入 flutter 选择 New Project


    选择一个用于在里头创建项目的文件夹
  1. 给项目取个名字(不要用大写),按回车即可。

    稍等一会,项目便会创建成功,输出下方内容,表示创建成功!

运行项目

启动模拟器

点击右下角的 No Device

选择搭建开发环境时,已创建好的模拟器

若屏幕如上图,则模拟器未开机,点击开机即可

调试项目(热加载)

方便修改代码时,一旦保存便可实时看到修改效果

打包安装项目

在终端输入命令

注意路径是项目路径下,若不是,则通过 cd 命令切换

flutter run

此时会打包 Build 一个apk,安装到模拟器中,即便关闭vscode,依然能在模拟器中像使用其他安装在模拟器里的APP一样自由使用。(不具备热加载的效果)

项目目录


android文件夹:存放Flutter与Android原生交互的代码,该文件夹下的文件和单独创建的Android项目基本一样。

ios文件夹:对于标准的iOS项目,存放Flutter与iOS原生交互的代码。

lib文件夹:Flutter的核心目录,存放的是使用Dart语言编写的代码。不管是Android平台,还是iOS平台,安装、配置开发环境后,都可以在对应的设备或模拟器上面运行这里的Dart代码,而整个应用的入口是lib文件夹下的main.dart文件。也可以在这个lib文件夹下面创建不同的文件夹,里面存放了不同的文件来管理日益壮大的应用。

test文件夹:存放Flutter的测试代码。

pubspec.yaml文件是项目的配置文件,可以在该文件中声明项目中使用到的依赖库、环境版本以及资源文件等。

以下是对默认应用–计数器 代码的解析,了解即可,看不懂没关系,后续学习慢慢就理解了。

lib\main.dart

// 导入 material UI 库
import 'package:flutter/material.dart';

// 项目启动函数—— main 函数
void main() => runApp(MyApp());

class MyApp extends StatelessWidget {

  // 重写StatelessWidget的build()方法,返回一个组件对象
  @override
  Widget build(BuildContext context) {
    /*
    * MaterialApp表明应用采用Material Design风格,
    * 可以在theme属性下配置应用中与主题相关的属性,如颜色、按钮风格
    * */
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  }
}

class MyHomePage extends StatefulWidget {
  // 构造函数,用于接受调用者的参数
  MyHomePage({Key key, this.title}) : super(key: key);

  // 声明了一个字符串类型的final变量,并在构造函数中初始化
  final String title;

  /*
  * 所有继承自StatefulWidget的组件都要重写createState() 方法,
  * 用于指定该页面的状态是由谁来控制的。
  * 在Dart中,以下划线开头的变量和方法的默认访问权限就是私有的,
  * 类似于Java中用private关键字修饰的变量和方法,只能在类的内部访问
  */
  @override
  _MyHomePageState createState() => _MyHomePageState();
}

/*
* State是一个状态对象,<> 里面表示该状态是与谁绑定的。
* 在修改状态时,在该类中进行编写
*/
class _MyHomePageState extends State<MyHomePage> {
  int _counter = 0;

  // 实现计数值加1的函数
  void _incrementCounter() {
    // setState方法用于更新属性
    setState(() {
      _counter++;
    });
  }

  @override
  Widget build(BuildContext context) {
    /* 
    * Scaffold是一个Material Design风格的组件,
    * 它继承自StatefulWidget,包含appBar、body、drawer等属性
    * */
    return Scaffold(
      /* 顶部导航栏 */
      appBar: AppBar(
        /*
        * 这里的Widget其实就是MyHomePage,
        * 它在这里调用了上面传递过来的title变量
        */
        title: Text(widget.title),
      ),
     // Scaffold中的主体布局
      body: Center(
        /*
        * 在Center组件中有一个child属性,用来定义它的子组件Column,
        * Column表示以行的形式显示其子组件
        */
        child: Column(
          /*
          * mainAxisAlignment用来控制子组件的对齐方式,
          * 也可以把值设置为start、end等
          */
          mainAxisAlignment: MainAxisAlignment.center,
           /* 
           * Column组件的children属性用于指定它的子组件,
           * 它接受一个数组,可以向该属性传递多个组件
           */
          children: <Widget>[
            // Text组件,用于显示文本
            Text(
              'You have pushed the button this many times:',
            ),
            // Text组件,使用style属性来设置它的样式
            Text(
              '$_counter',
              style: Theme.of(context).textTheme.display1,
            ),
          ],
        ),
      ),
      /*
      * FloatingActionButton也是Material Design风格的组件,
      * 可以在onPressed属性中定义其单击事件
      */
      floatingActionButton: FloatingActionButton(
        // 通过单击触发_incrementCounter函数
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        // 指定child的子组件为一个“+”号图标
        child: Icon(Icons.add),
      ),
    );
  }
}

目录
相关文章
|
2月前
|
Dart
如何在 Flutter 项目中使用 Dart 语言?
如何在 Flutter 项目中使用 Dart 语言?
127 58
|
1月前
|
Dart IDE 开发工具
鸿蒙Flutter实战:09-现有Flutter项目支持鸿蒙
本文介绍了将现有Flutter项目适配鸿蒙系统的步骤。首先,根据[鸿蒙Flutter适配指南]搭建开发环境,并使用fvm管理多版本SDK。项目采用模块化设计,包括apps、common、components、modules和plugins等目录,分别对应不同功能模块。重点在于在apps目录下创建新的鸿蒙项目,逐步添加依赖并解决版本兼容性问题。最后,通过配置pubspec.yaml文件和特定插件的鸿蒙化适配,完成项目的编译与运行测试。
66 0
|
3月前
|
Dart 开发工具 Android开发
Android Studio导入Flutter项目提示Dart SDK is not configured
Android Studio导入Flutter项目提示Dart SDK is not configured
303 4
|
3月前
|
开发工具 iOS开发
解决Flutter运行报错Could not run build/ios/iphoneos/Runner.app
解决Flutter运行报错Could not run build/ios/iphoneos/Runner.app
141 2
|
3月前
|
Java Android开发
添加Flutter模块到已有项目(Android)
添加Flutter模块到已有项目(Android)
46 3
|
3月前
|
iOS开发
解决Flutter运行IOS报错:Podfile is out of date
解决Flutter运行IOS报错:Podfile is out of date
74 1
|
3月前
|
Dart 搜索推荐 IDE
打造个性化天气应用:从零开始的Flutter项目之旅
【8月更文挑战第31天】本文将引导读者通过Flutter框架创建一个简单的天气应用,涵盖从设置开发环境到实现基本功能的全过程。我们将探索如何使用Dart语言和Flutter SDK构建用户界面,并集成第三方API来获取实时天气数据。文章不仅提供代码示例,还将讨论如何进行调试和部署应用,确保读者能够理解并实践所学知识。
|
3月前
|
Dart 开发工具 Android开发
Flutter学习:从搭建环境到运行
Flutter学习:从搭建环境到运行
45 0
|
Android开发
【错误记录】Flutter 运行报错 Error -32000 received from application: There are no running service protocol
【错误记录】Flutter 运行报错 Error -32000 received from application: There are no running service protocol
169 0
【错误记录】Flutter 运行报错 Error -32000 received from application: There are no running service protocol
|
1月前
|
Android开发 iOS开发 容器
鸿蒙harmonyos next flutter混合开发之开发FFI plugin
鸿蒙harmonyos next flutter混合开发之开发FFI plugin