Dart 库

在Dart中,库的使用时通过import关键字引入

 library指令可以创建一个库,每个Dart文件都是一个库,即使没有使用library指令来指定。

Dart中的库主要有三种:

  1. 自定义的库
    1. import 'lib/xxx.dart';
  2. 系统内置库
    1. import 'dart:math';
    2. import 'dart:io';
    3. import 'dart:convert';
  3. Pub包管理系统中的库
    1. 下面网址找到要用的库 
      1. https://pub.dev/packages 
      2. https://pub.flutter-io.cn/packages
      3. https://pub.dartlang.org/flutter/
  4. 需要在自己的项目根目录新建一个pubspec.yaml文件,在pubspec.yaml文件 配置名称、描述、依赖等信息,内容如下: 
    name: xxx
    
    description: A new flutter module project.
    
    dependencies:  
    
    http: ^0.12.0+2
    
    date_format: ^1.0.6
  5. 配置 dependencies
  6. 然后运行 pub get 获取远程库 包下载到本地 项目中引入库 import 'package:http/http.dart' as http;
  7. 看文档引入库使用

导入自己本地库

在当前目录新建lib文件夹 文件夹里新建Animal.dart文件

Anaimal.dart文件内容:

class Animal {
  String _name;
  int age;
  Animal(this._name, this.age);
  void printInfo() {
    print("${this._name}------${this.age}");
  }
  // 定义一个共有方法 访问私有属性_name
  String getName() {
    return this._name;
  }
  // 定义一个私有方法
  void _run() {
    print('这是一个私有方法');
  }
  // 通过共有方法访问私有方法
  execRun() {
    this._run(); // 类里面方法的相互调用
  }
}

主文件内容: 

import 'lib/Animal.dart';

void main() {

  Animal a = new Animal('小狗', 3);

  print(a.getName()); // 小狗

}

导入系统内置库 math库 以及 Number类型上面的一些函数方法

 import 'dart:math';

 void main() {

   print(min(12, 30)); // 12

 }

导入系统内置库实现请求数据httpClient.dart

 import 'dart:io';

 import 'dart:convert';

 void main() async{

   var result = await getDataFromZhihuAPI();

   print(result);

 }

api接口: http://news-at.zhihu.com/api/3/stories/latest

 getDataFromZhihuAPI() async {

   // 1.创建HttpClient对象

   var httpClient = new HttpClient();

   // 2.创建Uri对象

   var uri = new Uri.http('news-at.zhihu.com', 'api/3/stories/latest');

   // 3.发起请求,等待请求

   var request = await httpClient.getUrl(uri);

   // 4.关闭请求,等待响应

   var response = await request.close();

   // 5.解码响应的内容

   return await response.transform(utf8.decoder).join();

 }

导入Pub包管理系统中的库 

在当前目录新建pubspec.yaml文件 

在pubspec.yaml文件 配置名称、描述、依赖等信息,内容如下: 

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

主文件内容:

import 'dart:convert' as convert;
import 'package:http/http.dart' as http;

main() async {
   var url = "http://www.phonegap100.com/appapi.php?a=getPortalList&catid=20&page=1";

     // Await the http get response, then decode the json-formatted responce.
     var response = await http.get(url);
     if (response.statusCode == 200) {
       var jsonResponse = convert.jsonDecode(response.body);
     
       print(jsonResponse);
     } else {
       print("Request failed with status: ${response.statusCode}.");
     }

}
import 'package:date_format/date_format.dart';

main() async {
  
    print(formatDate(DateTime(1989, 2, 21), [yyyy, '*', mm, '*', dd]));

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

想散在风中

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值