【Flutter 1-6】Flutter项目目录结构

2023-11-06

文章首发地址

Flutter项目结构

了解Flutter的目录结构,可以帮助我们更好的管理和开发项目。这样我们在开发的过程中就会很清楚的知道,iOS代码该放在那里,Android代码该放在那里,Flutter代码该放在哪里,测试代码放在哪里等等。

我们以上一节中创建的flutter_app为例,我们用VSCode打开它。
2020_10_25_vscode_main_dart
如图,我们看到了下面这些目录:

文件或目录 说明
.dart_tool 记录了一些dart工具库所在的位置和信息
.idea android studio 是基于idea开发的,.idea 记录了项目的一些文件的变更记录
android Android项目文件夹
ios iOS项目文件夹
lib lib文件夹内存放我们的dart语音代码
test 用于存放我们的测试代码
.gitignore git忽略配置文件
.metadata IDE 用来记录某个 Flutter 项目属性的的隐藏文件
.packages pub 工具需要使用的,包含 package 依赖的 yaml 格式的文件
flutter_app.iml 工程文件的本地路径配置
pubspec.lock 当前项目依赖所生成的文件
pubspec.yaml 当前项目的一些配置文件,包括依赖的第三方库、图片资源文件等
README.md READEME文件
比较重要的四个文件夹是 android、ios、lib、test
  • lib
    我们日常开发的dart语言代码都放在这里,可以说是我们的“核心工作文件夹”
  • ios
    这里面包含了iOS项目相关的配置和文件,当我们的项目需要打包上线的时候,需要打开该文件内的Runner.xcworkspace文件进行编译和打包工作。
  • android
    ios文件夹一样,在android项目需要打包上架的时候,也需要使用此文件夹里面的文件。同样的如果我们需要原生代码的支持,原生代码也是放在这里。
  • test
    这里存放了我们在项目开发过程中的测试代码,良好的测试习惯是保证代码质量的必要手段,希望大家在test文件里写更多的代码!

公众号

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

【Flutter 1-6】Flutter项目目录结构 的相关文章

  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • 可以获取位置,但无法获取航向

    我目前只使用模拟器 但我在 iOS 模拟器上快速使用 CoreLocation 时遇到问题 我得到此代码打印的位置更新 但从未得到标题 我不想当然 我正在尝试制作一个指南针类型的应用程序 它将显示目标的方位 class CompassVie
  • 在视图之间传递核心数据实体变量

    我无法理解如何在视图之间使用核心数据实体变量 为了更好地理解我的问题是什么 我的代码如下 View A 基本上 您必须将完整预算实体或相关预算实体的 ID 从视图 A 传递到视图 B 由于不知道您的应用程序的视图层次结构和逻辑 我假设您选择
  • iOS 防止计时器 UILabel 在数字变化时“晃动”

    我有一个UILabel它以以下格式显示计时器的输出MM ss SS 分 秒 厘秒 但是随着厘秒宽度的变化 它从左向右 摇动 例如 11 比 33 窄 有什么办法可以减轻这种情况吗 我尝试过将其居中 给它固定的宽度 但它们似乎没有帮助 从iO
  • AWS S3 公共对象与私有对象?

    回到 S3 我的存储桶中有图像的 URL 我将在我的应用程序中呈现这些图像 但它们被设置为私有 当我尝试单击该链接时 它显示 访问被拒绝 当我将链接的设置更改为公共时 它会通过 但是我读到公共访问并不是最安全的事情 所以这本质上是一个由两部
  • iOS 视图控制器内存在被关闭后未释放

    当用户单击按钮时 它会显示一个带有两个视图控制器的新选项卡栏视图控制器 我是这样做的 ACLevelDownloadController dvc ACLevelDownloadController alloc initWithNibName
  • 企业发行版在 Swift 应用程序中与 iOS8 配合不佳

    我在使用 swift 应用程序在 iOS 8 设备上运行 Enterprise 版本时遇到问题 如果我使用非企业帐户进行代码签名 它似乎工作正常 有人遇到这个问题吗 以下是我在尝试使用企业帐户运行构建以进行协同设计时在 iOS 设备上收到的
  • iOS 电池监控 Swift

    我已将监控设置为启用 但模拟器和设备中的电池电量仍然为 1 UIDevice currentDevice batteryMonitoringEnabled true var level UIDevice currentDevice batt
  • Flutter:将字符串转换为 Map

    我正在使用 SQFlite 在本地存储数据 我有一个表 其中有一个名为 json 的字段 该字段的类型为 TEXT 并存储转换为字符串的 json 例如 name Eduardo Age 23 性别男 到目前为止 一切正常 但随后我需要从数
  • 为什么在授予用户权限时,UIUserNotificationType.None 在当前设置中返回 true?

    我正在编写一种方法来检查当前用户设置是否包含某些通知类型 当检查当前设置是否包含 UIUserNotificationsType None 时 无论授予权限还是拒绝权限 它都会返回 true 有谁知道这是为什么吗 func register
  • 适用于 IOS 和 Android 的支付网关 [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 我正在开发一个应用程序 用户必须在澳大利亚餐馆通过应用程序 android ios 付款 有两种付款方式 通过 PayPal 或 Visa
  • Flutter 中的 AndroidManifest 中缺少默认通知通道元数据

    我在用firebase messaging 5 0 1软件包来实现推送通知 在 IOS 中一切正常 而在 Android 中 当我的移动应用程序在后台运行时 我收到通知 但它没有导航到相应的屏幕 它只是打开默认屏幕 如何实现到该特定屏幕的导
  • 从命令行调试 iOS 应用程序构建

    我正在通过命令行构建 iOS 应用程序 但在调试它时遇到问题 如果我使用 XCode 进行构建 它会让我在设备上 构建和调试 而不会出现任何问题 但现在 我不知道如何使用 gdb 在设备上启动它并逐步执行它 如果我尝试 添加自定义目标 可执
  • 为什么我不能在 Realm 属性上使用 private

    我正在尝试在 RealmSwift 中存储一个枚举案例 但 Realm 不支持枚举 本文 https medium com it works locally persisting swift enumerations with realm
  • SocketException:主机查找失败:“...com”(操作系统错误:未提供节点名或服务名,或未知,errno = 8)

    我们面临的情况是 生产应用程序面临以下套接字异常 并且在此之后无法执行任何其他网络操作 DioError DioErrorType DEFAULT SocketException Failed host lookup xyz abc com
  • 如何在 iOS 中更改部分透明图像的颜色?

    我有一个具有部分透明度的单色图像 我有正常版本和 2X 版本的图像 我希望能够用代码将图像着色为不同的颜色 下面的代码适用于普通图像 但 2X 最终会出现伪影 正常图像可能有类似的问题如果是这样 由于分辨率的原因我无法检测到它 UIImag
  • 未处理的异常:A 产品在处置后使用

    我在用着MultiProvider我收到此错误 Unhandled Exception A Products was used after being disposed Once you have called dispose on a P
  • iOS:提高图像绘制速度

    我有一系列想要制作动画的图像 UIImageView支持一些基本的动画 但不足以满足我的需求 我的第一个方法是使用UIImageView并设置image当图像属性 这太慢了 速度慢的原因是图像的绘制 这让我感到惊讶 我以为瓶颈会加载图像 我
  • SiriKit 错误:此应用程序不支持捐赠意图

    我在 Xcode 10 iOS 12 Beta 中捐赠自定义意图时遇到问题 我创建了一个在我的主应用程序目标和 OrderIntent 目标之间共享的自定义框架 我创建了一个 intentdefinition 文件 并将目标成员资格设置为我
  • 苹果企业程序分发问题[关闭]

    Closed 这个问题是无关 help closed questions 目前不接受答案 这个问题涉及到Apple iOS 开发者企业计划 http developer apple com programs ios enterprise 我

随机推荐

  • Java中访问控制符

    说明 Java中提供了四种访问控制符 分别是private default protected和public 其访问控制级别从小到大如图所示 1 private 当前类访问权限 用private修饰的变量或方法只能被该类自身所访问和修改 而
  • 虚拟机自动重启问题

    性能测试一般要运行好几天不能关机的 万一遇到系统重启之前跑的可能都前功尽弃了 真的是很头疼的 同样 如果是运行中的项目服务遇到这种情况给用户的使用感受也是特别差的 所以 我会修改系统的自动重新启动设置 Windows Server自动重启的
  • tomcat默认端口号(三个tomcat端口号)

    tomcat默认端口号 三个tomcat端口号 2020 05 08 10 43 21 共10个回答 Tomcat的默认端口号是多少 您好 提问者 Tomcat的默认端口号是 8080 weblogic的默认端口号是 7001 tomcat
  • MSP430学习笔记-架构篇

    最近开始接触MSP430单片机了 打算先把手册结合着书看一遍 之后用来做一个小玩意儿 学习笔记就按照学习进度来更新吧 也算做个备忘 有什么东西不记得了可以来翻一翻 今天我们来聊聊MSP430架构 一 MSP430简介 MSP430是由德州仪
  • [Intel汇编-NASM]进入保护模式全过程

    enter pm mbr org 0x7C00 该命令表示程序将被装在到偏移地址为0x7C00的地方 该命令效果是全局的 但只能使用一次 之后不得再用 从该位置开始到整个源代码结束之间的所有标号在被访问时都会隐式地自动加上0x7C00 但是
  • MicroPython1.19.1添加C模块

    1 样例路径 官方添加C模块例子在 micropython 1 19 1 examples usercmodule路径中 2 编译 make USER C MODULES examples usercmodule BOARD MY STM3
  • 3D游戏建模怎么接外包

    3D游戏建模怎么接外包 有些自学出来或者经过培训小伙伴 已经有能力做出作品时往往都想着怎么去赚钱 除了从事于建模行业的工作之余 身为大学生 可能在校的时间较为富裕 课余时间 能够接私单 赚点外快什么的也是能够的 接单的平台 八戒网 1个较为
  • 大学生必看的电影

    十大励志电影 1 肖申克的救赎 很喜欢安迪放MOZART的 费加罗的婚礼 那段 圣洁高亢的女高音穿云裂帛久被牢 牢禁锢的人们呆住了 他们可能不知这是什么音乐 可是对美的感觉 对自由的渴望 每个人都是一样 人们抬头望着碧蓝无垠的天空 美好的情
  • 网络--HTTP协议

    网络基础知识之 HTTP 协议 首先让我们从一个问题入手 当我们在浏览器中输入 http www baidu com 访问百度的时候浏览器做了哪些事情 这里以 Chrome 浏览器为例 1 DNS域名解析 首先 Chrome 搜索自身的 D
  • 针对某个逻辑卷进行fscheck修复文件系统

    系统启动无法正常启动 原因为 dev vg telstar telstar 该逻辑卷无法加载 报contains a file system with errors check forced OK那就根据该提示进行该逻辑卷的检查恢复工作 注
  • 多态的实现

    1 理解如何通过virtual fuction table指向正确的方法 Typically the compiler creates a separate vtable for each class When an object is c
  • 八大排序(一)冒泡排序,选择排序,插入排序,希尔排序

    一 冒泡排序 冒泡排序的原理是 从左到右 相邻元素进行比较 每次比较一轮 就会找到序列中最大的一个或最小的一个 这个数就会从序列的最右边冒出来 以从小到大排序为例 第一轮比较后 所有数中最大的那个数就会浮到最右边 第二轮比较后 所有数中第二
  • 后端跨域问题解决

    出于浏览器的同源策略限制 同源策略 Sameoriginpolicy 是一种约定 它是浏览器最核心也最基本的安全功能 如果缺少了同源策略 则浏览器的正常功能可能都会受到影响 可以说Web是构建在同源策略基础之上的 浏览器只是针对同源策略的一
  • ArrayList扩容机制

    扩容步骤 扩容 把原来的数组复制到另一个内存空间更大的数组中 添加元素 把新元素添加到扩容以后的数组中 2 源码分析 2 1 ArrayList里面的属性 默认初始化容量 private static final int DEFAULT C
  • web基本解题思路

    前两天安装一些web相关的软件 今天主要是做一些简单的web基础题 主要用BurpSuite软件进行抓包和分析数据 其中涉及到一些方法 如下所示 一 爆破 包括包括md5 爆破随机数 验证码识别等 二 绕WAF 包括花式绕Mysql 绕文件
  • Python安装超详细教程

    本文将介绍以下几部分内容 下载 python 安装 python 配置环境变量 python 多版本共存配置 python 编程工具推荐 一 下载 python 下载 python 点击这里进入 python 下载页面 在下载页面可以看到很
  • oracle什么时候要commit,Oracle什么时候需要Commit

    写完DML语句 update insert delete 后 需要手动COMMIT 如果没有COMMIT 更新的内容会被保存到内存中 而不是提交到数据库中 将不会被其他Session 对话 看见 其他对话看到的是更新前的数据 当用户退出对话
  • Docker指定时间段一键过滤容器运行时日志

    文章目录 引 效果 测试输错 时间段模式 时间段方式 时间戳方式 低版本Docker 时间范围模式 实时查看 脚本 引 针对容器日志过多时 过滤某个时间 时间段的日志 效果 说明 针对Docker版本比较低的客户端 无法使用 until参数
  • C#辗转相除法求最大公约数与最小公倍数

    class Program static void Main string args int num1 num2 mm Console WriteLine 请输入第一个数 num1 Convert ToInt32 Console ReadL
  • 【Flutter 1-6】Flutter项目目录结构

    文章首发地址 Flutter项目结构 了解Flutter的目录结构 可以帮助我们更好的管理和开发项目 这样我们在开发的过程中就会很清楚的知道 iOS代码该放在那里 Android代码该放在那里 Flutter代码该放在哪里 测试代码放在哪里