我一直在 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/