我试图在一个文件中将和ints
的两个 SharedPreferences
安全保存。我不知道是否可行,因为我只能保存其中之一。我不确定代码是否有误,或者无法将中的另一个值保存为 StatefulWidget
。是否有人在我的代码中看到错误或可以告诉我从理论上讲是否可以在一个文件中保护两个值?以下是我的两个安全请求的代码。
安全请求一个(一个有效):
int lastLoginInt = 1;
String nameKey = "_key_name";
@override
void initState() {
super.initState();
}
Future<bool> saveLastLoginInt() async {
SharedPreferences preferences = await SharedPreferences.getInstance();
return await preferences.setInt(nameKey, lastLoginInt);
}
Future<int> loadLastLoginInt() async {
SharedPreferences preferences = await SharedPreferences.getInstance();
return preferences.getInt(nameKey);
}
setLastLoginInt() {
loadLastLoginInt().then((value) {
setState(() {
lastLoginInt = value;
});
});
}
这是我的第二个请求(不起作用):
String nameKey1 = "_key_name2";
int countInt = 0;
Future<bool> saveCount() async {
SharedPreferences preferences = await SharedPreferences.getInstance();
return await preferences.setInt(nameKey1, countInt);
}
Future<int> loadCount() async {
SharedPreferences preferences = await SharedPreferences.getInstance();
return preferences.getInt(nameKey1);
}
setCount() {
loadLastLoginInt().then((value) {
setState(() {
countInt = value;
});
});
}
希望这是一个易于解决的问题。提前致谢!
最佳答案
是的,它的可能和允许的。在设置页面等时,我已经从SharedPrefs中加载了多个值。
您只是在调用loadLastLoginInt()
而不是loadCount()
关于flutter - 是否可以在一个小部件中两次使用SharedPreferences?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61855824/