【Flutter 极速指南】网络和存储

作者 : 开心源码 本文共1159个字,预计阅读时间需要3分钟 发布时间: 2022-05-12 共218人阅读

网络和存储,都是计算机需要处理的最基本问题,Flutter 也不例外,它提供的 HttpClient 和 SharedPreferences 两个板块是分别来处理网络和存储的,当然还有少量第三方提供的更简单的方式,让我们详情几个常用的板块:

  • HttpClient
  • JSON 序列化(dart:convert)
  • SharedPreferences

HttpClient

HttpClient 是 Flutter 提供的 HTTP 网络相关的板块,它属于 dart.io 这个包中,通过如下几步可以完成一个 HTTP 请求并获取数据:

  • 创立 HttpClient 实例;
  • 发起 HTTP 请求;
  • 关闭 HTTP 请求;
  • 解决响应内容;
//...import 'dart:io';import 'dart:convert';//...get() async {    HttpClient http = new HttpClient();    var uri = new Uri.http('api.baichanghui.com', 'productservice/places/search', {        //'city': '北京'    });    var req = await http.getUrl(uri);    var resp = await req.close();    if(resp.statusCode == HttpStatus.ok) {        var json = await resp.transform(utf8.decoder).join();        var data = jsonDecode(json);        print(data['places']);    }}

JSON 序列化

使用 dart:convert 库,可以对数据进行序列化和反序列化:

String jsonString = '';Map data = jsonDecode(jsonString);
Map data = {    'name': 'Jay',    'nickName': 'J'};String jsonString = jsonEncode(data);

SharedPreferences

通过 shared_preferences 来完成本地存储:

  • 引入包: shared_preferences: ^0.4.3
  • 实例化 SharedPreferences
  • 通过存储实例往存储中存放内容 setString(key, value)
  • 通过存储实例获取存储内容 getString(key)
import 'package:shared_preferences/shared_preferences.dart';//...SharedPreferences prefs = await SharedPreferences.getInstance();prefs.setString('testKey', 'I am OK');prefs.getString('testKey');

〖坚持的一俢〗

说明
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是摆设,本站源码仅提供给会员学习使用!
7. 如遇到加密压缩包,请使用360解压,如遇到无法解压的请联系管理员
开心源码网 » 【Flutter 极速指南】网络和存储

发表回复