如何在Flutter中获取所有Shared Preferences内容

5
我想获取所有sharedpreferences的内容(键,值)。这是可能的吗?是否有一种通过键进行迭代的可能性?
getStringValues() async   
    SharedPreferences prefs = await SharedPreferences.getInstance()
    String stringValue = prefs.getString('key');
    return stringValue;
  }
2个回答

10

使用 SharedPreferences.getKeys() 方法获取所有键,然后通过类似以下的 for 循环来获取它们的值:

final prefs = await SharedPreferences.getInstance()
final keys = prefs.getKeys();

final prefsMap = Map<String, dynamic>();
for(String key in keys) {
   prefsMap[key] = prefs.get(key);
}

print(prefsMap);

1
我发现了这个答案,使用了它,然后注意到我在2020年10月编辑并点赞了它,哈哈。再次感谢。 - Petro

2

SharedPreferences.getInstance().then((data){
    data.getKeys().forEach((key){
      print(key+"="+data.get(key));
    });
});


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接