如何在 Flutter 中使用 json 或其他内容保存我当前的状态

Posted

技术标签:

【中文标题】如何在 Flutter 中使用 json 或其他内容保存我当前的状态【英文标题】:How to save my current state by using json or something else in Flutter 【发布时间】:2019-12-23 17:25:47 【问题描述】:

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

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

【问题讨论】:

【参考方案1】:

请使用这个包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);

【讨论】:

以上是关于如何在 Flutter 中使用 json 或其他内容保存我当前的状态的主要内容,如果未能解决你的问题,请参考以下文章

我们如何在 Flutter 中为集成测试生成 json 报告?

如何在flutter中使用mysql数据库(或json)中的sharedpreferences键选择以列出最喜欢的记录?

本文将向您展示如何在 Flutter 中编码/解码 JSON

如何编写像json_serializable这样的flutter构建器

如何使用 buildArguments 或其他任何东西在 Flutter/FirebaseAnimatedList 中查询? (请举例)

如何在 Flutter 中制作带背景的抠图图标?