如何解决无法使用SharedPreferences进行简单保存以工作-我缺少什么?
我正在尝试使用SharedPreferences保存一个整数:https://flutter.dev/docs/cookbook/persistence/key-value
但是,当我运行下面的代码时,它仅显示“ Hello”而不是“ Here”。 似乎卡在了“最终首选项=等待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
代码中的问题是您制作了SharedPreferences
final
,我相信您无法从中更改其值。这是示例如何保存字符串值:
addStringToSF() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
prefs.setString('stringValue',"abc");
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。