【问题标题】:Flutter shared_preferences not persistent?Flutter shared_preferences 不持久?
【发布时间】:2021-01-26 21:10:24
【问题描述】:

我一直在颤振中使用 shared_preferences,直到现在工作正常。突然,它在 iOS 和 Android 中都停止了工作。我一步一步调试它,它将数据存储到 pref,当应用程序打开时,数据仍然存在,但热重启后 _preferencecache 总是为空。我该如何解决这个问题? (版本为 0.5.12)

当用户登录时,我会保存 user_id:

final prefs = await SharedPreferences.getInstance();
 final userData = json.encode(
  {
    'user_id': userID,
  },
 );
prefs.setString('userData', userData);

稍后,当用户再次重启时:

final prefs = await SharedPreferences.getInstance();
if (!prefs.containsKey('userData')) {
// print("no user data in shared preference");
  return false;
}

但是abpve函数返回false,就是这个问题,我也查过之前版本的shared_preferences,但是没有解决。

【问题讨论】:

  • 此插件在后台使用本机共享首选项(适用于 android)和用户默认设置(iOS)。还没遇到过这样的问题。您在哪个版本的 android 上运行您的应用程序? 10 点?
  • 您可能需要向我们展示更多代码。自从 SharedPreferences 可用以来,我就一直在使用它,并且从未遇到过这个问题,也没有看到有人报告过类似的情况。
  • 上面的代码是我使用sharedpreferences的主要部分,获取数据后,我将其写入prefs,当应用程序运行时,我可以很容易地看到它,但稍后重启后,没有数据那里。我应该多显示什么,也许你可以指定,所以我添加..
  • 是的 10,但不幸的是,我在模拟器中尝试了 9 以及相同的结果:(

标签: flutter dart sharedpreferences


【解决方案1】:

您可以查看this solution。如前所述,您需要在 initState 中调用 SharedPreference 实例。

【讨论】:

    猜你喜欢
    • 2019-06-28
    • 2020-02-28
    • 2021-03-29
    • 2023-01-16
    • 1970-01-01
    • 1970-01-01
    • 2023-01-17
    • 2020-10-20
    • 2019-10-29
    相关资源
    最近更新 更多