Flutter shared_preferences 不持久?

标签 flutter dart sharedpreferences

我一直在 flutter 中使用 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,但没有解决方案。

最佳答案

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

关于Flutter shared_preferences 不持久?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64319807/

相关文章:

firebase - 如何搜索查询列表并将其组合为单个查询?

enums - 与语言中的普通枚举相比,built_value 枚举有什么好处

flutter - hive 错误 : There is already a TypeAdapter

dart - 如何设置Dart小数点后的最小位数?

java - 如何在首选项之前显示加载屏幕类 [Libgdx & android]

java - 在应用程序中保存数据

android - SharedPreferences在android程序中产生强制关闭

Flutter/BLoC - 使用不包含 ArticlesBloc 类型的 Bloc 的上下文调用 BlocProvider.of()

facebook - Flutter:如何注销 Facebook 并获取登录对话框

authentication - 如何在Flutter中使用流转换器根据另一个输入字段的值验证输入