说明
记录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("清楚值"),
)
],
),
);
}
}
添加依赖插件,复制上面代码到项目,直接运行
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。