首页 > 其他分享 >Flutter Dart

Flutter Dart

时间:2023-02-14 20:55:24浏览次数:31  
标签:lib2 await new dart async import Dart Flutter

一、第三类库使用:pub包管理系统

二、async和await

三、内置库网络请求

四、Dart库的重命名 Dart冲突解决

五、库部分导入

六、延迟加载

    

一、第三类库使用:pub包管理系统

pub包管理系统:

1、从下面网址找到要用的库
        https://pub.dev/packages
        https://pub.flutter-io.cn/packages
        https://pub.dartlang.org/flutter/

2、创建一个pubspec.yaml文件,内容如下

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

3、配置dependencies

4、运行pub get 获取远程库

5、看文档引入库使用

 

二、async和await

/*
async和await
  这两个关键字的使用只需要记住两点:
    只有async方法才能使用await关键字调用方法
    如果调用别的async方法必须使用await关键字
async是让方法变成异步。
await是等待异步方法执行完成。
*/

void main() async{
  var result = await testAsync();
  print(result);

}

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

 

三、内置库网络请求

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();
}

 

四、Dart库的重命名 Dart冲突解决

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

    import 'package:lib1/lib1.dart';
    import 'package:lib2/lib2.dart' as lib2;

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

*/
import 'lib/Person1.dart';
import 'lib/Person2.dart' as lib;
main(List<String> args) { Person p1=new Person('张三', 20); p1.printInfo(); lib.Person p2=new lib.Person('李四', 20); p2.printInfo(); }

 

五、库部分导入

/*
部分导入
  如果只需要导入库的一部分,有两种模式:
     模式一:只导入需要的部分,使用show关键字,如下例子所示:
      import 'package:lib1/lib1.dart' show foo;

     模式二:隐藏不需要的部分,使用hide关键字,如下例子所示:
      import 'package:lib2/lib2.dart' hide foo;      
*/

// import 'lib/myMath.dart' show getAge;

 import 'lib/myMath.dart' hide getName;

void main(){
//  getName();
  getAge();
}

 

六、延迟加载

/*
延迟加载

    也称为懒加载,可以在需要的时候再进行加载。
    懒加载的最大好处是可以减少APP的启动时间。

    懒加载使用deferred as关键字来指定,如下例子所示:

    import 'package:deferred/hello.dart' deferred as hello;

    当需要使用的时候,需要使用loadLibrary()方法来加载:
    greet() async {
      await hello.loadLibrary();
      hello.printGreeting();
    }

*/

 

标签:lib2,await,new,dart,async,import,Dart,Flutter
From: https://www.cnblogs.com/huihuizhang/p/15692623.html

相关文章

  • Flutter的Row和Column简介
    Row、Column的介绍Row:水平布局,在水平方向上排列子widget的列表。Column:垂直布局,在垂直方向上排列子widget的列表。说明:Row和Column是多子节点空间,他们不带滚动属性,如果超......
  • Flutter笔记-基础组件
    加载网络图片以及本地图片Image(image:NetworkImage("https://img-s-msn-com.akamaized.net/tenant/amp/entityid/BB12IU4R.img?w=8......
  • flutter:使用listview之三:上拉加载更多(flutter 3.7.0)
    一,配置用到的第三方库dependencies:flutter:sdk:flutter#ThefollowingaddstheCupertinoIconsfonttoyourapplication.#UsewiththeCuperti......
  • Flutter使用SliverAppBar开发更多样式AppBar
    代码参考于【无聊的编码】FlutterSliver全家桶初体验,一起炫酷一下,有优化只是用官方的SliverAppBar只能做到如下样式:但是我们想要的结果是下面这样的:为此,我封装了一......
  • Flutter中使用device_info获取设备信息
    1.安装插件配置 device_infodependencies:flutter:sdk:flutter#设备信息device_info:^1.0.0在pubspec.yaml中配置保存后,在VSCode环境中会自动下载依赖包。......
  • Flutter 中使用原生功能在IOS中的权限配置
    Flutter项目中在使用原生的一些功能时,必须要在Info.plist文件中配置使用权限,否则在提交审核时无法通过。1.添加权限打开配置权限的文件,路径为:ios▸Runner▸Info.plist 。......
  • Flutter中打包Android项目及升级Android项目
    1.打包Android项目1.用AndroidStudio打开Flutter项目中的android文件夹;2. 选择生成签名的APK;3.选择打包成APK,没有系统版本的限制;4.首次打包时,需要创建新的KeySt......
  • Flutter中修改Android项目的应用名称、应用图标、应用启动画面
    1.修改应用名称在android▸app▸src▸main▸AndroidManifest.xml中修改android:label="你的应用名称"。2.修改应用图标在android▸app▸src▸res▸mip......
  • Flutter 接入支付宝支付之前的准备工作
    1.选择应用类型打开支付宝开放平台,点击网页&移动应用。如果没有入驻成为开发者,请先注册。应用类型分为两大类:第三方应用、自用型应用。第三方应用:适用于服务商,为商户开发......
  • Flutter中使用connectivity实现网络检测
    1.安装插件配置 connectivity 插件。dependencies:flutter:sdk:flutterflutter_localizations:sdk:flutterdate_format:^1.0.6flutter_cupertino_dat......