共计 1388 个字符,预计需要花费 4 分钟才能阅读完成。
说明
记录 flutter 的本地存储插件 shared_preferences 的简单实用方法这是一个类似于 web 的 localstorage 的插件,在 app 上运行时,关闭 app 时,并不会自动清除掉值,第二次打开时值还在,区别于 provide(flutter 的状态管理插件)
引入插件
这里实用的是 0.5.0 的版本,有更新的可以实用更新的版本
使用方法
1、引入 shared_preferences 插件 2、存储方法 3、取出方法 4、销毁方法
直接上代码
import ‘package:flutter/material.dart’;
//1、引入 shared_preferences 插件
import ‘package:shared_preferences/shared_preferences.dart’;
void main(){
runApp(MyApp());
}
class MyApp extends StatelessWidget{
@override
Widget build(BuildContext context){
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text(“flutter provide”),
),
body: Container(
child: Column(
children: <Widget>[
SaveData()
],
),
),
),
);
}
}
class SaveData extends StatefulWidget{
_SaveDataState createState() => _SaveDataState();
}
class _SaveDataState extends State<SaveData>{
int _aaa ;
_setData() async{
//2、存储的方法
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setInt(“save_test”, 10);
}
_getData() async{
//3、取出的方法
SharedPreferences prefs =await SharedPreferences.getInstance();
setState(() {
_aaa = prefs.getInt(“save_test”);
});
}
_removeData() async{
//4、销毁的方法
SharedPreferences prefs =await SharedPreferences.getInstance();
setState(() {
prefs.remove(“save_test”);
});
}
@override
Widget build(BuildContext context){
return Container(
child: Column(
children: <Widget>[
Text(“$_aaa”),
RaisedButton(
onPressed: _setData,
child: Text(“ 设置值为 10”),
),
RaisedButton(
onPressed: _getData,
child: Text(“ 获取值 ”),
),
RaisedButton(
onPressed: _removeData,
child: Text(“ 清楚值 ”),
)
],
),
);
}
}
添加依赖插件,复制上面代码到项目,直接运行