首页 > 其他分享 >Flutter常见库使用

Flutter常见库使用

时间:2023-12-27 19:13:00浏览次数:35  
标签:await 常见 final key 使用 dart prefs Flutter counter

1、网络库 dio

dio: ^5.4.0

import 'package:dio/dio.dart';

final dio = Dio();

void getHttp() async {
  final response = await dio.get('https://dart.dev');
  print(response);
}

2、JSON解析

json_serializable: ^6.7.1 
json_annotation: ^4.8.1
build_runner: ^2.4.7
新建一个模型 test_model.dart
import 'package:json_annotation/json_annotation.dart';
part 'test_model.g.dart';

@JsonSerializable()
class TestModel {
  String name = "";
  int age = 0;
  double height = 0;

  TestModel({required this.name, required this.age, required this.height});

  factory TestModel.fromJson(Map<String, dynamic> json) => _$TestModelFromJson(json);

  Map<String, dynamic> toJson() => _$TestModelToJson(this);
}

终端执行 

dart run build_runner build

3、获取文件路径

path_provider: ^2.1.1

 void _downlodUrl() async {
    var url = 'https://sample-videos.com/video123/flv/240/big_buck_bunny_240p_10mb.flv';
    var path = await getDownloadsDirectory();
    print("ios paht:$path");
    String savePath = "${path?.path}/temp.mp4";
    print(savePath);
    Dio().download(url, savePath,onReceiveProgress: (c,t) {
      var progress = "${(c / t * 100)}%";
    print(progress);
    });
  }

4、数据存储

shared_preferences: ^2.2.2

// Obtain shared preferences.
final SharedPreferences prefs = await SharedPreferences.getInstance();

// Save an integer value to 'counter' key.
await prefs.setInt('counter', 10);
// Save an boolean value to 'repeat' key.
await prefs.setBool('repeat', true);
// Save an double value to 'decimal' key.
await prefs.setDouble('decimal', 1.5);
// Save an String value to 'action' key.
await prefs.setString('action', 'Start');
// Save an list of strings to 'items' key.
await prefs.setStringList('items', <String>['Earth', 'Moon', 'Sun']);

//获取

// Try reading data from the 'counter' key. If it doesn't exist, returns null.
final int? counter = prefs.getInt('counter');
// Try reading data from the 'repeat' key. If it doesn't exist, returns null.
final bool? repeat = prefs.getBool('repeat');
// Try reading data from the 'decimal' key. If it doesn't exist, returns null.
final double? decimal = prefs.getDouble('decimal');
// Try reading data from the 'action' key. If it doesn't exist, returns null.
final String? action = prefs.getString('action');
// Try reading data from the 'items' key. If it doesn't exist, returns null.
final List<String>? items = prefs.getStringList('items');

// Remove data for the 'counter' key.

await prefs.remove('counter');

 

 

标签:await,常见,final,key,使用,dart,prefs,Flutter,counter
From: https://www.cnblogs.com/ZhangShengjie/p/17931227.html

相关文章

  • 最佳实践!Apipost使用指南
    自诞生以来,Apipost凭借其简洁直观的用户界面、强大的功能以及简单、易上手的操作,让Apipost成为了开发人员不可或缺的工具。本文将详细介绍Apipost的主要功能和使用方法,帮助大家更好地了解这款优秀的API开发工具。下载安装直接进入Apipost官网下载即可,也可以直接使用web端无需下载AP......
  • Burp插件xssValidator的安装及使用
    1.前置环境1.1下载Phantomjs下载地址:http://phantomjs.org/download.html下载后配置环境变量,把bin目录下的这个exe加入环境变量.如图:1.2xss.js下载和配置xss.js是phantomJS检测xss漏洞payload的具体实现。下载地址为:https://github.com/nVisium/xssValidator下载完成后......
  • python 使用 rsa库进行RSA签名和加解密
     python使用rsa库进行RSA签名和加解密 #-*-coding:UTF-8-*-#!/usr/bin/envpythonimportbase64importrsafromrsaimportcommon#使用rsa库进行RSA签名和加解密classRsaUtil(object):PUBLIC_KEY_PATH='/tmp/gbzj/public_key.pem'#公钥P......
  • 公司使用了加密软件,文件无法复制
    在当今数字化时代,企业面临着越来越多的数据泄露和信息安全威胁。为了保护公司的敏感信息和知识产权,许多企业选择使用加密软件来加强数据的安全性。其中一项重要的功能是防止未经授权的文件复制。本文将探讨公司使用加密软件后,为何文件无法复制,以及这对企业的意义。加密软件是一......
  • 使用aiohttp异步调用API+request上传文件中文文档名乱码解决方案
    有时候在调用需要用异步调用API接口。在python中有很多框架,比如asyncio,Celery,Quart等。这里我选择了asyncio。Python3.5以上版本内置了asyncio库,可以用来编写单线程的并发代码。可以使用此库与aiohttp结合来发送异步HTTP请求。Python调用案例GETimportasyncioimportaio......
  • 最佳实践!Apipost使用指南
    自诞生以来,Apipost凭借其简洁直观的用户界面、强大的功能以及简单、易上手的操作,让Apipost成为了开发人员不可或缺的工具。本文将详细介绍Apipost的主要功能和使用方法,帮助大家更好地了解这款优秀的API开发工具。下载安装直接进入Apipost官网下载即可,也可以直接使用web端无需下......
  • 软件测试/测试开发|如何使用场景法设计测试用例?
    简介我们之前介绍过了等价类和边界值来设计我们的测试用例,等价类和边界值是我们最常用的测试用例设计方法之一,本文我们将向大家介绍场景法。场景法定义场景法是一种通过用户使用“场景”对软件系统的功能点或业务流程进行描述,即针对需求模拟出不同的场景进行所有功能点及业务......
  • 软件测试/测试开发|如何使用因果图法设计测试用例?
    前言我们之前介绍了等价类边界值场景法来设计测试用例,本篇文章我们来介绍一下使用因果图来设计测试用例。因果图法因果图(Cuase-effectGraph)是一种描述输入条件的组合以及每种组合对应的输出的图形化工具。为什么使用因果图法?我们之前介绍的等价类和边界值都是着重考虑输入......
  • 云堡垒机的使用场景解读
    云堡垒机(简称CORM),是一种在云环境中提供安全访问控制的解决方案。随着企业不断将业务迁移到云端,云堡垒机的使用场景也越来越广泛。以下是云堡垒机的几种典型使用场景:1.多云环境安全访问控制:随着企业使用多个云服务供应商,每个供应商都有自己的安全策略和访问控制方法。云堡垒机可以帮......
  • 不会使用 EF Core 的 Code First 模式?来看看这篇文章,手把手地教你
    EFCoreCodeFirst是什么CodeFirst是EntityFrameworkCore(简称EFCore)的一种开发模式,它允许开发人员使用纯粹的代码来定义数据模型,通过它,可以极大地提高开发效率:使用CodeFirst开发模式,你可以专注于定义领域模型和业务逻辑,而无需关注数据库的细节,能够更快地构建应......