json - 如何在 Flutter 中使用 json 或其他内容保存我当前的状态
问题描述
我想知道如何通过修改现有的 JSON 文件来保存我当前的状态。但我找不到保存的方法......所以我想问你这个问题。
JSON 文件的大小并没有那么大。所以我在调用加载和保存状态时考虑了总加载和总保存。但我认为它效率不高且不稳定......所以我可以得到一些帮助吗?
解决方案
请使用此包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);
}
推荐阅读
- tensorflow - 为什么我们在会话中逐对输入数据?
- python - Python 可执行文件转换失败,出现“ModuleNotFoundError: No module named 'win32com.gen_py'”
- javascript - JSX 中扩展运算符的奇怪行为
- ms-access - 提交按钮错误的数据库格式
- reactjs - 创建 OKTA 登录时出错:“您的 Okta url 必须以 https 开头”
- c# - C#从texbox访问数据库更新
- c - 如何使用 strstr 但通过 C 中的字母来检测单词
- mysql - MySQL在包含搜索词子字符串的多个列中搜索
- python - Pygame - 更新敌方角色占用的图块
- if-statement - 由于它在lua中的当前状态,我如何更改布尔值?