Dart 中的库分为三类,自定义的库,系统内置库,Pub包管理系统中的库(第三方库)。这里只对这三种库的使用作简要记录,后期会对常用的重点第三方库作详细了解。
1. 开人员自己的Dart 文件
在 Lib 目录下新建文件夹,并新建.dart文件,在需要的文件中直接import 即可。
例如,新建pkg文件夹,并在其中新建 calculation.dart文件如下。
//文件中可以自定义类
class Calculation {
int x = 0;
int y = 0;
Calculation(this.x, this.y);
void substr() {
print(this.x - this.y);
}
}
//也可以自定义方法
void add(int a,int b){
print((a+b).toString());
}
在需要导入的文件中import 'pkg/calculation.dart'; 就可以直接调用类/对象或函数
导入后直接调用
add(3, 5);
var cal = Calculation(10,15);
cal.substr(); // -5
另外,还有库的部分导入,只导入需要的部分或隐藏不需要的部分
//此时可以使用Persion1.dart库文件中的getName()方法
import 'Persion1.dart' show getName;
//此时不可以使用Persion1.dart库文件中的getName()方法
import 'Persion1.dart' hide getName;
2. Dart 自身带的库
日常使用最多的可能是其数学库,也是直接导入使用import 'dart:math'
例如随机数
var rand = Random().nextInt(100);//0-99的随机数
max(1,3); //最大值
min(2,5); //最小值
3. 封装的第三方库
这种库需要根据项目需要在 pub.dev 中查找合适的库,
并且在pubspec.yaml 中写入并保存即可,类似于iOS 开发中的Podfile .
dependencies:
flutter:
sdk: flutter
#网络请求
dio: ^4.0.6
http: ^0.13.5]
在需要引用的文件夹中直接导入
import 'package:dio/dio.dart';
import 'package:http/http.dart' as http;
使用时根据文档指南进行集成开发
void addPost() async {
var url = Uri.https('example.com', 'whatsit/create');
var response =
await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');
}