数据持久化存储
在flutter中使用SharedPreferences 需要异步操作。

添加插件
yaml
dependencies:
shared_preferences: ^2.5.3
代码
dart
import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
void main() {
runApp(MyPage());
}
class MyPage extends StatelessWidget {
const MyPage({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(theme: ThemeData(), home: MyFul());
}
}
class MyState extends State {
late String str;
Future<SharedPreferences> shared = SharedPreferences.getInstance();
//获取Flag
void getValue() async {
SharedPreferences sharedPreferences = await shared;
bool has = sharedPreferences.containsKey("data");
if (has) {
str = sharedPreferences.getString("data")!;
print(str);
}else{
print("没有数据");
}
}
//存储flag
void setValue(String str) async {
SharedPreferences sharedPreferences = await shared;
sharedPreferences.setString("data", str);
print("存储数据");
}
//删除数据
void delValue(String key) async {
SharedPreferences sharedPreferences = await shared;
sharedPreferences.remove(key);
print("删除数据");
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text(""), centerTitle: true),
body: Column(
children: [
OutlinedButton(
onPressed: () {
setValue("hello");
},
child: Text("存储数据500"),
),
OutlinedButton(
onPressed: () {
getValue();
},
child: Text("获取数据"),
),
OutlinedButton(
onPressed: () {
delValue("data");
},
child: Text("删除数据"),
),
],
),
);
}
}
class MyFul extends StatefulWidget {
@override
State<StatefulWidget> createState() {
return MyState();
}
}
I/flutter (31129): 存储数据
I/flutter (31129): hello
I/flutter (31129): 删除数据
I/flutter (31129): 没有数据