Flutter学习笔记(二)------ 第一个flutter项目

一文带你轻松入门Flutter开发 Flutter 是谷歌推出的一款开源 UI 框架,旨在帮助开发者通过一套代码库高效构建多平台精美应用,支持移动、Web、桌面和嵌入式平台等多种平台的开发。其核心优势在于跨平台特性和高性能表现。Flutter 的跨平台能力使其能够在 iOS 和 Android 等主流平台上运行,甚至通过第三方扩展还可支持 MacOS、Windows 以及谷歌的 Fuchsia 操作系统等,这极大地减少了开发成本,让开发者无需为不同平台编写大量重复代码,而是专注于业务逻辑和用户体验的优化。 阅读详情

一、Dart语法

dart语法较为简单,学过python和c++后发现大同小异。不过多介绍

1.函数

//调用方法传参

main() {
//1、定义一个方法 求1到这个数的所有数的和      60    1+2+3+。。。+60

  /*
    int sumNum(int n){
      var sum=0;
      for(var i=1;i<=n;i++)
      {
        sum+=i;
      }
      return sum;
    } 

    var n1=sumNum(5);
    print(n1);
    var n2=sumNum(100);
    print(n2);

 */

//2、定义一个方法然后打印用户信息

  // String printUserInfo(String username, int age) {
  //   //行参
  //   return "姓名:$username---年龄:$age";
  // }

  // print(printUserInfo('张三', 20)); //实参

//3、定义一个带可选参数的方法 ,最新的dart定义可选参数需要指定类型默认值

  // String printUserInfo(String username,[int age=0]){  //行参
  //   if(age!=0){
  //     return "姓名:$username---年龄:$age";
  //   }
  //   return "姓名:$username---年龄保密";
  // }
  // print(printUserInfo('张三',21)); //实参
  // print(printUserInfo('张三'));

//4、定义一个带默认参数的方法
  // String printUserInfo(String username,[String sex='男',int age=0]){  //行参
  //   if(age!=0){
  //     return "姓名:$username---性别:$sex--年龄:$age";
  //   }
  //   return "姓名:$username---性别:$sex--年龄保密";
  // }
  // print(printUserInfo('张三'));
  // print(printUserInfo('小李','女'));
  // print(printUserInfo('小李','女',30));

//5、定义一个命名参数的方法,最新的dart定义命名参数需要指定类型默认值

  // String printUserInfo(String username, {int age = 0, String sex = '男'}) {//行参    
  //   if (age != 0) {
  //     return "姓名:$username---性别:$sex--年龄:$age";
  //   }
  //   return "姓名:$username---性别:$sex--年龄保密";
  // }
  // print(printUserInfo('张三', age: 20, sex: '未知'));


//6、实现一个 把方法当做参数的方法

  // var fn=(){
  //   print('我是一个匿名方法');
  // };
  // fn();

  //方法
  fn1() {
    print('fn1');
  }

  //方法
  fn2(fn) {
    fn();
  }

  //调用fn2这个方法 把fn1这个方法当做参数传入
  fn2(fn1);
}

可以类比*args, **kwargs,与之不同的是dart中,*args **kwargs不能同时存在

void main() {
/*需求:使用forEach打印下面List里面的数据*/

  // List list=['苹果','香蕉','西瓜'];
  // list.forEach((value){
  //   print(value);
  // });
  // list.forEach((value)=>print(value));

  //注意和方法的区别: 箭头函数内只能写一条语句,并且语句后面没有分号(;)
  // list.forEach((value)=>{
  //   print(value)
  // });

/*需求:修改下面List里面的数据,让数组中大于2的值乘以2*/

  // List list=[4,1,2,3,4];
  // var newList=list.map((value){
  //     if(value>2){
  //       return value*2;
  //     }
  //     return value;
  // });
  // print(newList.toList());
  //  var newList=list.map((value)=>value>2?value*2:value);
  //  print(newList.toList());
  

/*
需求:    1、定义一个方法isEvenNumber来判断一个数是否是偶数  
         2、定义一个方法打印1-n以内的所有偶数
*/

// 1、定义一个方法isEvenNumber来判断一个数是否是偶数  
  bool isEvenNumber(int n) {
    if (n % 2 == 0) {
      return true;
    }
    return false;
  }
//  2、定义一个方法打印1-n以内的所有偶数
  printNum(int n) {
    for (var i = 1; i <= n; i++) {
      if (isEvenNumber(i)) {
        print(i);
      }
    }
  }
  printNum(10);
}
int getNum(int n) {
  return n;
}

void main() {
  // print(getNum(12));

  //匿名方法
  // var printNum=(){
  //   print(123);
  // };
  // printNum();

  // var printNum=(int n){
  //   print(n+2);
  // };
  // printNum(12);

//自执行方法

  // ((int n){
  //   print(n);
  //   print('我是自执行方法');
  // })(12);

//方法的递归
  // var sum = 1;
  // fn(int n) {
  //   sum *= n;
  //   if (n == 1) {
  //     return;
  //   }
  //   fn(n - 1);
  // }
  // fn(5);
  // print(sum);

//通过方法的递归 求1-100的和

  var sum=0;
  fn(int n){
      sum+=n;
      if(n==0){
        return;
      }
      fn(n-1);
  }

  fn(100);
  print(sum);
}

 

/*
闭包:

    1、全局变量特点:    全局变量常驻内存、全局变量污染全局
    2、局部变量的特点:  不常驻内存会被垃圾机制回收、不会污染全局  


  /*  想实现的功能:

        1.常驻内存        
        2.不污染全局   

          产生了闭包,闭包可以解决这个问题.....  

          闭包: 函数嵌套函数, 内部函数会调用外部函数的变量或参数, 变量或参数不会被系统回收(不会释放内存)
  
	        闭包的写法: 函数嵌套函数,并return 里面的函数,这样就形成了闭包。

    */  
*/

/*全局变量*/
var a = 123;

void main() {
  // print(a);

  // fn(){
  //   a++;
  //   print(a);
  // }
  // fn();
  // fn();
  // fn();

//局部变量
  // printInfo() {
  //   var myNum = 123;
  //   myNum++;
  //   print(myNum);
  // }

  // printInfo();
  // printInfo();
  // printInfo();

//闭包

  fn() {
    var a = 123; /*不会污染全局   常驻内存*/
    return () {
      a++;
      print(a);
    };
  }

  var b = fn();
  b();
  b();
  b();
}

二、创建项目

1.vscode

(1)安装flutter插件,之后配置flutterSDK路径和dart路径,分别为   flutter目录\bin  flutter目录\bin\cached\dart-sdk

(2)输入》flutter new project

2.目录结构

3.入口文件:main.dart

1.入口

程序从main启动,runApp里面放一个顶级控件,就可以显示该控件

如以上代码,创建了一个居中显示的文字。

如果你想知道空间都有哪些属性,可以按下ctrl然后点击这个控件,跳转到源代码仔细阅读。

2.装饰

scaffold 脚手架 建筑架;

我们一般把material App作为根组件,像这样: 

3.抽象、封装

4.基本组件

(1)Container

Flutter 从零开始 002 创建第一个flutter项目 这是Flutter的入口函数,runApp启动的WidgetMyApp类代表Flutter应用,它继承了类,这也就意味着应用本身也是一个widget。在Flutter中,大多数东西都是widget(后同“组件”或“部件”),包括对齐(Align)、填充(Padding)、手势处理()等,它们都是以widget的形式提供。Flutter在构建页面时,会调用组件的build方法,widget的主要工作是提供一个build()方法来描述如何构建UI界面(通常是通过组合、拼装其它基础widget是。 阅读详情

相关推荐

【Flutter】如何新建项目,运行你的第一个 flutter 工程项目

????【Flutter】学习养成记,【程序员必备小知识】 ???? 今日小知识—— flutter 运行项目实战! 1. 终端命令行新建项目 在flutter 新建项目之前,我们先来运行一下flutter doctor命令来检查一下自己的flutter环境是否有问题。 从命令的运行来看,是没有任何的错误❌,说明flutter 的环境是 OK 的,那么我们使用flutter create flutterDemo命令来新建一个项目工程吧! 从报错信息来看,是我们的项目名称出了问题, flutterDem

俊而不逊的博客 7411

7 个 Flutter 开源项目,让你成为更好的 Flutter 开发者

阅读大量代码是提高开发技能的最佳方法之一。开源项目是了解最佳实践、编码风格和许多其他主题的最佳场所。软件开发中最受欢迎的领域之一是跨平台移动应用程序开发。Flutter 是您可以使用的最流行的跨平台移动应用程序开发工具之一。今天,我们来看看 7 个开源的 Flutter 项目,它们可以帮助你成为更好的 Flutter 开发者。如果您想知道如何构建源代码以在多个平台上运行,那么这对您来说将是一个很好的资源。这个项目是一个用于浏览电影和放映时间的多平台 Dart 应用程序。...

开源直播系统源码 7708

flutter 扫盲篇之创建第一个flutter应用(iOS flutter)

1.fllutter 安装 cd 目标文件夹 从github下载flutter稳定版本 git clone -b stable https://github.com/flutter/flutter.git 或者 git clone -b dev https://github.com/flutter/flutter.git 添加flutter相关工具到path中: export PATH=`pwd...

jike_yangyujing的博客 4727

Flutter 7 个开源项目推荐 01

Flutter 7 个开源项目推荐 01 前言 加强你的 Flutter 开发 阅读大量代码是提高开发技能的最佳方法之一。开源项目是学习最佳实践、编码风格和其他许多主题的最佳场所。 软件开发最需要的领域之一是跨平台的移动应用程序开发。Flutter 是你可以使用的最流行的跨平台移动应用开发工具之一。今天,我们来看看 7 个开源的 Flutter 项目,它们可以帮助你成为一个更好的 Flutter 开发者。 正文 1. 电影 inKino 如果你想知道如何将源代码架构设计成可以在多个平台上运行,那么这将是

会煮咖啡的猫咪 4289

Flutter 开发学习笔记(1):第一个简单的Flutter项目(上)

为了得到的得到Uniapp的上位替代,最近打算使用Flutter开发。一般开发需要3个UI框架,icons库+UI框架+统计图。

qq_44695769的博客 1799

创建第一个flutter项目(mac为主)

flutter从搭建环境到能够在vscode启动模拟器运行项目

weixin_42451032的博客 957

Flutter 我的第一个flutter项目

P002 创建第一个flutter项目 1.创建并运行一个Flutter App工程 打开Android studio(简称AS)>File>New>New Flutter Project 选择一个模拟器,点击旁边的run 按钮 第一次编译项目时间比较长,耐心等待即可,运行完成 如下图 2.项目基本文件目录 Flutter项目主要分为Android,iOS,lib,pubspec.yaml这四个,其中lib下就是用来flutter开发的,我们的dart文件就放在这里,pubspec.

半身风雪 2449

Flutter系列(二)-创建第一个应用

算法知识点繁多,企业考察的题目千变万化,面对越来越近的“金九银十”,我给大家准备好了一套比较完善的学习方法,希望能帮助大家在有限的时间里尽可能系统快速的恶补算法,通过高效的学习来提高大家面试中算法模块的通过率。这一套学习资料既有文字档也有视频,里面不仅仅有关键知识点的整理,还有案例的算法相关部分的讲解,可以帮助大家更好更全面的进行学习,二者搭配起来学习效果会更好。部分资料展示:有了这套学习资料,坚持刷题一周,你就会发现自己的算法知识体系有明显的完善,离大厂Offer的距离更加近。

2301_79985012的博客 805

Android Studio创建第一个Flutter项目

创建Flutter项目以及项目结构配置

知识共享,你我皆是知识的搬运工 1万+

VS Flutter 环境配置创建第一个项目

VS 下载并安装 vc VS官网下载地址. 安装之后commd + shift+P 打开vs的命令输入框 然后安装相关的拓展工具如图 配置Flutter 环境变量 参考一下连接下载https://flutterchina.club/get-started/install/ 链接: Flutter下载. 1.将下载好的sdk 放在你的根目录下 2.配置环境变量 vim ~/.bash_profile //在打开的页面添加上下面代码 export PATH=../flutter_sdk/flutter/bi

qq_37333981的博客 584

如何创建第一个flutter项目-mac系统下

其中 “-d all” 表示尝试在所有可用的设备(包括已启动的安卓模拟器以及可能连接的安卓真机等)上运行项目。按照以上步骤操作,你就能在 Mac 系统上成功创建并运行你的第一个 Flutter 项目了,后续便可以根据自己的设计和开发需求对项目进行拓展和完善了。通过点击屏幕左上角的 “聚焦搜索” 图标(通常是放大镜形状),输入 “终端” 并回车,即可打开终端应用,后续的操作命令都将在终端中执行。用于管理项目依赖等)的项目文件夹,此过程会下载一些初始的依赖包,耗时长短取决于你的网络速度情况。

challenge51all的专栏 706

Flutter环境搭建及运行第一个flutter项目应用

A: 在应用运行时,修改代码后,按。

chaoxxggg的博客 2083

推荐10个Flutter开源项目

作为跨平台应用开发的领头羊,Flutter从已发布就受到广大开发者的追捧。使用Flutter技术开发的应用不仅体验上无限接近原生应用,在开发效率上也是其他技术无法比拟的。随着其开发者社区的不断壮大,Flutter生态系统已经相当强大,并且众多开源应用程序也相继诞生。这些开源应用不仅展示了Flutter的多功能性,而且还为开发者提供了宝贵的资源和灵感。本着无私奉献的精神,本文收集了还在维护的十大最受欢迎的Flutter开源应用。

xiangzhihong8的专栏 2430

Android Studio中创建第一个Flutter项目

在Android Studio →Setting→Plugins中查看是否有Dart和Flutter插件。创建Flutter项目之前需要验证是否有Flutter环境,如没有Flutter 环境,请参考。如没有,请先安装Dart和Flutter插件,安装完成后重启Android Studio。输入项目名称和包名,支持的平台选择Android和iOS。重新运行,安装到手机里,就可以看到首页了。修改java sdk ,选择jdk17。如没有Flutter 环境,请参考。验证通过会有以下提示。

Billy_Zuo的博客 2336

基于Codex与Skills的学术研究自动化全流程实战指南

还在为海量文献下载、整理、阅读和综述写作而头疼吗?面对堆积如山的PDF,你是否感到无从下手?从选题、文献检索、到写作、绘图、润色,再到应对AI检测和审稿意见,学术研究的每一步都充满挑战。本文将为你带来一套堪称“王炸组合”的解决方案: Codex + Skills 。这不是简单的工具介绍,而是一套从零开始,覆盖学术研究全流程的保姆级实战教程。我们将手把手教你如何安装、配置,并利用强大的Skills(技能)自动化处理文献下载管理、高效撰写综述、生成专业图表、智能润色降重,直至应对审稿。无论你是科研新手还是希望提

weixin_29041195的博客 760

从问卷到结论:手把手教你用SPSS 28完成一份完整的社科数据分析报告

本文详细介绍了如何使用SPSS 28完成社会科学研究中的数据分析报告,从问卷数据导入、清洗到描述性和推断性统计分析,再到结果呈现与报告撰写。通过实际案例演示,帮助研究者掌握SPSS 28的核心功能,提升数据分析效率与报告质量。

weixin_28717431的博客 247

用vscode创建第一个flutter项目

Flutter让跨平台开发变得更加简单高效,通过VS Code我们可以快速创建和运行项目。当项目开发完成后,使用专业的工具如AppUploader可以简化发布流程,让开发者更专注于创造优秀的产品。作量。Flutter让跨平台开发变得更加简单高效,通过VS Code我们可以快速创建和运行项目。当项目开发完成后,使用专业的工具如AppUploader可以简化发布流程,让开发者更专注于创造优秀的产品。

2501_91395113的博客 1982

gdb对dwarf调试信息的解析和使用

gdb的对dwarf的调试信息的解析到使用的过程分析

JS072110的专栏 9564

Flutter入门——创建第一个Flutter项目

Flutter入门——创建第一个Flutter项目 一、创建项目 第一个项目使用Android Studio创建,步骤如下: 先打开Android Studio,会有一个创建新的Flutter应用的选项 选择Flutter应用 填写相关应用设置 项目目录介绍 Android 这里Android平台相关文件,这里基本上和创建的原生Android程序文件类似,但是个别文件会有所不同。它主要包括Gradle的配置、App图标、名称、版本号、起始页以及Android平台的权限申请等An

qq_41345281的博客 2482

【YOLOv8-pose姿态识别部署至RK3588:模型训练到RKNN落地,让人体姿态分析精度与边缘推理速度双突破】

本教程从YOLOv8-pose模型的姿态识别训练,到RK3588的边缘量化部署,为你打造了一套“高精度+高实时性+低成本”的人体姿态分析解决方案。无论是健身动作纠正、智能安防行为检测,还是工业人员姿态监控,这套技术都能直接复用——你只需替换数据集与业务逻辑,即可快速落地专属的边缘AI姿态识别系统。如果你在实践中遇到任何卡点,欢迎随时交流。记住,人体姿态识别的价值在于“关键点准、推理快、部署易”,而这三者的平衡,正是你通过本教程能掌握的核心能力。

FJN110的博客 328

手把手教你学Simulink--电机控制架构与算法实现​场景示例:基于Simulink的电机速度环PID调节仿真

本文带你完成了电机速度环PID参数的科学整定,实现了:✅ 理解了速度环的级联系统特性与关键参数影响工程整定法(理论初值)系统辨识法(参数未知时)✅ PID Tuner自动调参(推荐!自动调参兼具快速性与鲁棒性✅ 学会了前馈补偿抗饱和等工程实用技巧。

MHD0815的博客 653

mac下创建第一个flutter项目以及遇到的问题

换电脑之后就没整过flutter环境,这周正好得空,就把flutter先搭起来,下面记录过程以及遇到的问题, 解决办法办法。 首先下载Android Studio 点击跳转 汉化教程: 1.点击下方链接进入IntelliJ Platform插件页面 https://plugins.jetbrains.com/plugin/13710-chinese-simplified-language-pack---- 2.点击 DownLoad 3.打开刚刚下载的zip,解压 4.打开Android Studio设

达拉崩巴斑得贝迪卜多比鲁翁_ 1297

YOLO26改进策略【多YAML融合】| UNetV2 + BiFormer + WIoU

Wise-IoU是一种基于IoU的损失函数,旨在解决目标检测中边界框回归损失函数在处理低质量训练数据时的问题。

Limiiiing的博客 218

AndroidStudio运行第一个Flutter项目

创建新应用 (1) 在AndroidStudio中选择File->New Flutter Project,或者直接“Start a new Flutter project” (2)选择Flutter application作为project类型,然后点击“Next” (3)输入项目名称(默认为flutter_app),然后点击"Next" (4)输入项目的包名,点击Finish (5)等待...

探索者李小白的博客 4112

Win10 系统下VisualStudio2022 配置Open3D-0.18.0(C++)

Win10 系统下VisualStudio2022 配置Open3D-0.18.0

点云侠的博客 2655

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

上一篇: Flutter学习笔记(一)-----环境配置
下一篇: vscode问题合集
python_use
博客等级 码龄5年 430粉丝 38原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值