无法使用共享首选项进行简单的保存 - 我错过了什么?



我正试图用SharedPreferences保存一个int:https://flutter.dev/docs/cookbook/persistence/key-value

然而,当我运行下面的代码时,它只打印";你好"而不是";在这里";。它似乎被卡在了";final prefs=等待SharedPreferences.getInstance(("发生了什么事?我是不是错过了什么?

...
class _InventoryItemState extends State<InventoryItem> {

Future <void> saveInt() async {
print("hello");
// obtain shared preferences
final prefs = await SharedPreferences.getInstance();
print("Here");

// set value
prefs.setInt('counter', 7);
// load value
final counter = prefs.getInt('counter') ?? 2;
print(counter);
}
@override
Widget build(BuildContext context) {
saveInt();
...

更新:

使用以下代码使其工作:

''

_saveInvNumber() async {
final prefs = await SharedPreferences.getInstance();
final key = 'invNumber';
final value = widget.invNumber;
prefs.setInt(key, value);
print('saved $value');
}

''

是否在pubspec.yaml中添加SharedPreferences依赖项。如果没有,请按以下方式操作:

dependencies:
flutter:
sdk: flutter
shared_preferences: ^0.5.8

你的代码的问题是你制作了SharedPreferencesfinal,我相信你不能改变它的值。下面是如何保存字符串值的例子:

addStringToSF() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('stringValue', "abc");
}

相关内容

  • 没有找到相关文章

最新更新