Dart入门系列:
Flutter开发Dart极速入门 (基本类型)
Flutter开发Dart极速入门 (变量)
Flutter开发Dart极速入门 (函数)
Flutter开发Dart极速入门 (操作符与流程控制语句)
Flutter开发Dart极速入门 (异常)
Flutter开发Dart极速入门 (类和对象)
Flutter开发Dart极速入门 (泛型)
Flutter开发Dart极速入门 (异步详解)
Flutter开发Dart极速入门 (生成器)
Flutter开发Dart极速入门 (库的使用)
Flutter插件化开发注意事项(Packages与插件化开发)
Flutter在Android原生工程中的集成
使用库
导入第三方库
eg: 导入dio网络请求库
编写pubspec.yaml
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
dio: ^3.0.9
项目中使用:
import 'package:dio/dio.dart';
getBaidu() async {
try {
Response response = await Dio().get("https://www.google.com");
print(response);
} catch (e) {
print(e);
}
}
标识符冲突 - 指定库前缀
比如两个lib中都有test()函数
import 'mylib1.dart' as lib1; // 为该库指定前缀 lib1
import 'mylib2.dart' as lib2;
// 选择性使用
var test = lib1.test();
导入库 - 选择性导入
import 'mylib1.dart' as lib1 show Test; //只载入库的某些部分
import 'mylib2.dart' as lib2 hide Test; //筛选掉库的某些部分
导入库 - 延迟导入
- 可提高程序启动速度
- 用在不常使用的功能
- 用在载入时间过长的包
import 'mylib1.dart' deferred as lazyLib;
main() {
//延迟载入
lazyLoad();
}
lazyLoad() async {
await lazyLib.loadLibrary();
var t = lazyLib.Test();
t.test();
}
mylib1.dart
class Test {
test(){
print('mylib1 test.');
}
}
自定义库
定义library
library mylib;
使用mylib
import 'mylib.dart';