IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> JavaScript知识库 -> Flutter学习-dart(9):自定义库 系统库 第三方库 -> 正文阅读

[JavaScript知识库]Flutter学习-dart(9):自定义库 系统库 第三方库

1. Dart库分类

  1. 自定义的库 :

    • import 'lib/xxx.dart';
  2. 系统内置库:

    • import 'dart:math';
    • import 'dart:io';
    • import 'dart:convert';
  3. Pub包管理系统中的库

    • https://pub.dev/packages
    • https://pub.flutter-io.cn/packages
    • https://pub.dartlang.org/flutter/
  • Pub包说明:
    1. 需要在自己想项目根目录新建一个pubspec.yaml;
    2. 在pubspec.yaml文件 然后配置名称 、描述、依赖等信息
    3. 然后运行 pub get 获取包下载到本地
    4. 项目中引入库 import 'package:http/http.dart' as http; 看文档使用

1.2 pubspec.yaml文件简单配置

name: dart
description: A new flutter module project.
dependencies:
  http: ^0.12.0+2
  date_format: ^1.0.6

environment:
  sdk: '>=2.10.0 <3.0.0'

2. 关于async, await(和js差不多)

  • async是让方法变成异步, await是等待异步方法执行完成。
  • 只有async方法才能使用await关键字调用方法; 如果调用别的async方法必须使用await关键字
void main() async {
  var result = await testAsync();
  print(result);
}

//异步方法
testAsync() async {
  return 'Hello async';
}

3. dart库命名冲突的解决方案

  1. 当引入两个库中有相同名称标识符的时候,如果是java通常我们通过写上完整的包名路径来指定使用的具体标识符,甚至不用import都可以,但是Dart里面是必须import的。当冲突的时候,可以使用as关键字来指定库的前缀
import 'package:lib1/lib1.dart';
import 'package:lib2/lib2.dart' as lib2;


Element element1 = new Element();           // UsesElement from lib1.
lib2.Element element2 = new lib2.Element(); // UsesElement from lib2.

4. 部分导入

  • 如果只需要导入库的一部分,有两种模式:
    1. 只导入需要的部分,使用show关键字,如下所示: import 'package:lib1/lib1.dart' show foo;
    2. 隐藏不需要的部分,使用hide关键字,如下: import 'package:lib2/lib2.dart' hide foo;

5. 延迟加载:

  • 也称为懒加载,可以在需要的时候再进行加载。
  • 懒加载的最大好处是可以减少APP的启动时间
  • 懒加载使用deferred as关键字来指定, 如: import 'package:deferred/hello.dart' deferred as hello;
  • 当需要使用的时候,需要使用loadLibrary()方法来加载
  • 使用细节如下:
greet() async {
  await hello.loadLibrary();
  hello.printGreeting();
}
  JavaScript知识库 最新文章
ES6的相关知识点
react 函数式组件 & react其他一些总结
Vue基础超详细
前端JS也可以连点成线(Vue中运用 AntVG6)
Vue事件处理的基本使用
Vue后台项目的记录 (一)
前后端分离vue跨域,devServer配置proxy代理
TypeScript
初识vuex
vue项目安装包指令收集
上一篇文章      下一篇文章      查看所有文章
加:2021-11-30 15:31:56  更:2021-11-30 15:32:57 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:04:50-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码