gpt4 book ai didi

dart - Flutter:共享偏好

转载 作者:IT老高 更新时间:2023-10-28 12:33:17 26 4
gpt4 key购买 nike

我有这个功能:

  Future<String> load(SharedPreferences prefs, String fileName) async {
prefs = await SharedPreferences.getInstance();
String jsonString = prefs.getString(fileName) ?? "";
if (jsonString.isNotEmpty) {
return jsonString;
}else{
return ...
}
}

在 else 情况下我应该返回什么?我尝试使用“”,但它不起作用。

最佳答案

共享偏好

在 Flutter 中,Shared Preferences 用于存储原始数据(intdoubleboolstring , 和 stringList)。此数据与应用相关联,因此当用户卸载您的应用时,这些数据也会被删除。

获取插件

shared_preferences来自 pub 的插件是 Android SharedPreferences 和 iOS NSUserDefaults 的包装器。您可以通过在依赖项部分的 pubspec.yaml 文件中添加 shared_preferences 行来获取此插件。

dependencies:
shared_preferences: '>=0.5.12+2 <2.0.0'

您可以将版本号更改为 current一个是,但任何低于 2.0 的版本都应该兼容。

导入包

在您需要共享首选项的任何文件中,添加以下导入:

import 'package:shared_preferences/shared_preferences.dart';

读写数据

要获取共享首选项对象,您可以执行以下操作:

final prefs = await SharedPreferences.getInstance();

这将用于以下所有示例。

int

  • 阅读:final myInt = prefs.getInt('my_int_key') ?? 0;
  • 写:prefs.setInt('my_int_key', 42);

  • 阅读:final myDouble = prefs.getDouble('my_double_key') ?? 0.0;
  • 写:prefs.setDouble('my_double_key', 3.14);

bool

  • 阅读:final myBool = prefs.getBool('my_bool_key') ??假的;
  • 写:prefs.setBool('my_bool_key', true);

字符串

  • 阅读:final myString = prefs.getString('my_string_key') ?? '';
  • 写:prefs.setString('my_string_key', 'hello');

字符串列表

  • 阅读:final myStringList = prefs.getStringList('my_string_list_key') ?? [];
  • 写:prefs.setStringList('my_string_list_key', ['horse', 'cow', 'sheep']);

删除数据

您可以通过提供键名来删除任何已保存的数据:

prefs.remove('my_int_key');

不过,我很少发现需要这样做。我只是覆盖旧数据或忽略它。您不应在共享首选项中存储任何敏感数据。

另见

关于dart - Flutter:共享偏好,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52831605/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com