环境准备
从归档 | Dart官网下载SDK的压缩文档
解压到合适位置,并吧bin目录添加到环境变量即可
命令行输入:dart --version进行检查
配置IDE:选择vscode
code Runner负责运行文件关于的Dart语法,dart是一个强大的脚本类语言,其实和Java很相似但又和脚本语言也类似,像结合体。简单了解下即可。比如:
自动会类型推倒。dart中定义变量可以通过var关键字也可以通过指定类型来申明变量
常量定义:const、final。区别在于const是编译期常量初始化就得赋值,而final是运行时常量可以后赋值
变量命名区分大小写
数据类型:
"""
asdhasklh
sadhuiakshdfc
"""
通过is语法判断数据类型、通过identical 函数判断两个对象是否完全相同,即它们在内存中的地址是否相同。
数据类型转换:
int.parse("6");
double.parse("3.14");
var myNum=12;
var str=myNum.toString();
print(str is String)
对象的其他方法:
str.isEmpty();
myNum.isNaN();
main是入口,方法的定义和Java非常像,注意可选参数定义方法(可以不传的参数):
void method(String name,[int age])
```
还有一个比较神奇的是**定义参数**,类似解构赋值的格式;
方法还可以当做参数传递
Dart的对象、类的创建和简写语法,像Java又像Typescript
私有属性和私有方法,只需要在变量或函数命名的前面加上_,同理可以添加get、set方法,设置公有方法其中通过this关键字内部调用私有方法【对外部导包文件生效】
同样有继承和重写的概念,以及super关键字
也有抽象类、接口、实现等概念,也和Java基本一致
在Dart中可以使用mixins实现类似多继承的功能(mixins在类中混入其他功能,有条件),一个Dart的特性
同样也有泛型的概念
2.13+之后引入了类似Typescript的可空类型?和!类型断言
性能优化,常量构造函数:你定义一个类,并且这个类的对象在构造后不会改变时,你可以使用 const 关键字来定义这个类的构造函数,这样的构造函数就是常量构造函数。使用常量构造函数的好处是,它可以提高性能,因为编译器可以优化常量对象。常量构造函数创建的对象会被缓存,如果再次用相同的参数创建对象,会直接返回缓存的实例,而不会创建新的实例。
class ImmutablePoint {
final int x;
final int y;
const ImmutablePoint(this.x, this.y);
}
void main() {
const point1 = ImmutablePoint(1, 2);
const point2 = ImmutablePoint(1, 2);
print(point1 == point2); // 输出 true,因为它们是同一个实例
}
为了优化常量构造函数,你可以考虑以下几点:
final 关键字: 在你的类中使用 final 关键字来确保实例变量在构造后不会被改变。const 关键字创建对象: 当创建使用常量构造函数的对象时,总是使用 const 关键字,这样可以确保对象是编译时常量。最后了解Dart的库:
Dart:ioDart:mathas重命名以作区分调用如果你习惯用AndroidStudio的话可以直接用AndroidStudio直接开发Flutter。但是AndroidStudio比较耗费电脑资源,所以这里我们推荐使用Vscode
甚至可以不下载AndroidStudio!vscode编码的时候在扩展市场下载趁手的辅助插件
D:\Develop\android\platform-tools添加到环境变量Path中(还有Java的环境变量,需要注意高版本的SDK也会要求高版本的的jdk)flutter config --android-sdk D:\Develop\android指定android-sdk的根路径flutter doctor --android-licenses初始化证书,一路y即可

shell setx CHROME_EXECUTABLE "D:\MyProjects\rpa\template\browser\chrome-win64\chrome.exe" flutter doctor命令即可查看环境的配置情况:
Flutter和Dart本身不提供直接获取设备硬件信息的API,因为Flutter是跨平台的,它旨在提供与平台无关的UI体验。因此,Flutter应用程序通常无法直接访问底层操作系统的硬件信息。
构建flutter项目的两种方式:
flutter create projectName
完成开发后需要打包项目(创建项目的时候已经默认创建了一个domo)
可以直接运行命令进行打包,详情参考:使用 Flutter 构建 Windows 应用程序 - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter --- Building Windows apps with Flutter - Flutter 中文文档 - Flutter 中文开发者网站 - Flutter
一般我们根据需要会找到Android、Windows各平台资源的文件夹目录更改其中的一些配置比如图标,之后在打包。其中Android还有签名等操作
像Windows还支持微软集成,普通的exe打包支持绿色压缩,可以借助第三方工具打包jvm等内容制作安装包。
这是flutter中的一个概念,大概就是哪些静态文件属于assets,flutter有一些内置组件的setAssets方法就是从资产assets中提取
配置格式:
flutter:
assets:
- assets/images/
像上述配置的意思就是assets/images/这个目录属于资产
那么这个目录下的文件都属于资产,可以在Image组件的asset方法中使用
但是只是说这个目录下的文件属于资产,这个目录下的子目录不会递归算作资产
如果只是针对目录下的具体文件可以直接写死
flutter create: 创建一个新的 Flutter 项目。
flutter create my_app 会创建一个名为 my_app 的新项目。flutter run: 构建并启动你的 Flutter 应用。
flutter run 会构建并运行当前目录下的 Flutter 应用。flutter build: 构建一个 Flutter 应用 for iOS、Android 或 web。
flutter build apk 会构建一个 Android APK 包。flutter clean: 删除构建目录和其他临时文件。当出现问题的时候不妨一试
flutter clean 会清理项目的构建缓存。flutter devices: 列出所有连接的设备。flutter doctor: 检查你的 Flutter 环境是否配置正确。flutter pub get: 获取项目依赖的包。flutter pub upgrade: 升级项目依赖的包到最新版本。flutter test: 运行 Flutter 应用的测试。flutter pub publish: 发布你的 Dart 包到 Pub.dev。flutter format: 格式化你的 Dart 代码。flutter analyze: 分析你的 Dart 代码并给出建议。flutter config: 配置 Flutter 工具的设置。flutter downgrade: 将 Flutter SDK 降级到之前的版本。flutter upgrade: 更新 Flutter SDK 到最新版本。Flutter 中的 Image 组件用于在应用中显示图片。它可以从各种来源加载图片,包括 asset、文件、网络等。以下是一些基本的使用方式:
Image.asset('assets/images/my_image.png', width: 100, height: 100)
这里的图片需要放在项目中的 assets/images/ 目录下,并且在 pubspec.yaml 文件中声明资产。Image.network('https://example.com/my_image.png', width: 100, height: 100)
可以通过URL从网络加载图片。Image.file(File('path/to/image.png'), width: 100, height: 100)
这里的图片来自设备的文件系统。Image.memory(Uint8List bytes, width: 100, height: 100)
当你有图片的原始字节时,可以使用这种方式。Image 组件有许多属性可以调整,例如:width 和 height:设置图片的宽度和高度。fit:决定图片如何在给定空间内显示,如 BoxFit.cover 或 BoxFit.contain。color 和 colorBlendMode:允许颜色和混合模式与图片结合。repeat:如果图片不填满给定空间,是否重复图片。FadeInImage 或 CachedNetworkImage(一个流行的第三方库)结合使用。 CachedNetworkImage 就是这样一个组件,它提供了自动缓存功能。插件地址:flutter_native_splash | Flutter package (pub.dev)
适用于Android、ios、web,需要注意的是Android12以上版本需要单独配置
PC没有对应的挂念和配置方法
建议是单独创建配置文件
Dart本身也可以作为后台语言,只是生态不像Java等语言那么强大,我们或许会选择Java开发后台或者说与之通信
附录: