flutter使用dio.dart处理网络请求

1.lutter使用dio.dart处理网络请求,首先要去这里查看最新版本https://pub.dev/packages/dio
接着在如图所示的地方填写最新的版本然后导入,这样就可以在项目中使用dio.dart了
flutter使用dio.dart处理网络请求_第1张图片
2.使用http.dart来处理网络请求,首先要在要用的文件中引入头文件,以后就可以使用http来发送请求

import 'package:dio/dio.dart';

3.使用dio处理项目网络请求,具体使用,点进去查看API一目了然,这里尝试下载一个dmg文件,并存放到沙盒里

void dioDemo() {
  //1.创建dio 对象
  final dio = Dio();
  //2.下载数据
  var downloadUrl =
      'http://pub.idqqimg.com/pc/misc/groupgift/fudao/CourseTeacher_1.3.16.80_DailyBuild.dmg';
  String savepath = '/Users/edy/Documents/study/test/20220216.dmg';
  //获取沙盒路径
  String savePath2 = Directory.systemTemp.path + '/20220216.dmg';
  print(savePath2);
  download1(dio, downloadUrl, savePath2);
}

void download2(Dio dio, String downloadUrl, String savepath) {
  dio.download(downloadUrl, (header) {
    return savepath;
  }, onReceiveProgress: showDownloadProgress);
}

void download1(Dio dio, String downloadUrl, String savePath) {
  dio
      .download(downloadUrl, savePath, onReceiveProgress: showDownloadProgress)
      .then((value) => print(value))
      .whenComplete(() => print('结束了'));
}

void showDownloadProgress(int count, int total) {
  if (total != -1) {
    print((count / total * 100).toStringAsFixed(0) + '%');
  }
}

打印沙盒路径去看一下
flutter使用dio.dart处理网络请求_第2张图片
找到沙盒文文件,可以发现下载成功了,并且速度很快
flutter使用dio.dart处理网络请求_第3张图片

你可能感兴趣的:(flutter,flutter,网络,android)