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