使用庫
導入第三方庫
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';