如何保存每次在颤振中更改计数器的值?



我在flutter中创建了一个计数器应用程序。我按了10次增量按钮。屏幕上显示的计数器值是10。但每当我退出应用程序并重新打开它显示计数器值为0。为什么会发生这种情况?我想保存每次更改计数器的值。有人能解决我的问题吗?

您可以保存在shared_preferences


class ParentWidget extends StatefulWidget {
const ParentWidget({Key? key}) : super(key: key);
@override
State<ParentWidget> createState() => _ParentWidgetState();
}
class _ParentWidgetState extends State<ParentWidget> {
bool _isMuted = false;
int counter = 0;
SharedPreferences? preferences;
Future<void> initStorage() async {
preferences = await SharedPreferences.getInstance();
// init 1st time 0
int? savedData = preferences?.getInt("counter");
if (savedData == null) {
await preferences!.setInt("counter", counter);
} else {
counter = savedData;
}
setState(() {});
}
@override
void initState() {
super.initState();
initStorage();
}
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
onPressed: () async {
preferences?.setInt("counter", counter += 1);
setState(() {});
},
),
body: Column(
children: [
Text("${preferences?.getInt("counter")}"),

关于shared_preferences的更多信息。你也可以检查蜂巢和其他本地数据存储。

最新更新