前面的几篇文章主要介绍了flutter里面基本控件的使用(其实我也没细说到底咋用,就是堆出来的一个个小控件分享给大家-。-),本文主要介绍一下flutter中数据持久化的使用,作者也是边学习边码文,和大家共同学习。
首先说学习过程中遇到的第一个场景,就是在做登录页面的时候,会联想到我们实际应用中会需要存储用户输入的用户名和密码,再或者登录成功之后接口返回的一些其他用户信息。在做iOS开发的时候,我们经常把这些轻量级的数据存在NSUserDefault中,其实在flutter中也有对应的SharedPreferences做轻量级的数据存储,下面一起来学习一下。
1.SharedPreferences
shared_preferences是Flutter社区开发的一个本地数据存取插件。我们可以通过pubspec.yaml
文件引入
dependencies:
flutter:
sdk: flutter
# The following adds the Cupertino Icons font to your application.
# Use with the CupertinoIcons class for iOS style icons.
cupertino_icons: ^0.1.2
shared_preferences: ^0.5.3+2
然后执行flutter packages get
在使用的文件中引入
import 'package:shared_preferences/shared_preferences.dart';
这里注意第一次run的时候会报错要去iOS文件目录中pod install 一下
常用的“增,删,改,查”都可以在源码API中找到,下面以登录页面为例,应用一下:
可以看到支持bool,double,int,string,stringList几种数据类型。
首次登录是存储用户名(手机号)和 密码:
_login() async {
print('login action');
SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString('name', _n