首页 > 解决方案 > 如何在 Flutter 中使用 json 或其他内容保存我当前的状态

问题描述

我想知道如何通过修改现有的 JSON 文件来保存我当前的状态。但我找不到保存的方法......所以我想问你这个问题。

JSON 文件的大小并没有那么大。所以我在调用加载和保存状态时考虑了总加载和总保存。但我认为它效率不高且不稳定......所以我可以得到一些帮助吗?

标签: jsonflutterdartsavestate

解决方案


请使用此包https://pub.dev/packages/shared_preferences
包装 NSUserDefaults(在 iOS 上)和 SharedPreferences(在 Android 上),为简单数据提供持久存储。数据异步保存到磁盘

示例代码

import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';

void main() {
  runApp(MaterialApp(
    home: Scaffold(
      body: Center(
      child: RaisedButton(
        onPressed: _incrementCounter,
        child: Text('Increment Counter'),
        ),
      ),
    ),
  ));
}

_incrementCounter() async {
  SharedPreferences prefs = await SharedPreferences.getInstance();
  int counter = (prefs.getInt('counter') ?? 0) + 1;
  print('Pressed $counter times.');
  await prefs.setInt('counter', counter);
}

推荐阅读