Flutter开发Dart极速入门 (库的使用)

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';

你可能感兴趣的:(Flutter)