5

I want to get all sharedprefrences content (key,value).Is it possibly?Is there a possibility to iterate by keys?

getStringValues() async   
    SharedPreferences prefs = await SharedPreferences.getInstance()
    String stringValue = prefs.getString('key');
    return stringValue;
  }
rommy
  • 185
  • 2
  • 9

2 Answers2

10

Use SharedPreferences.getKeys() to get all keys and then get their values with a for loop like this:

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);
Petro
  • 3,484
  • 3
  • 32
  • 59
Stewie Griffin
  • 4,690
  • 23
  • 42
  • 1
    I found this answer, used it, and then noticed I edited and upvoted it in oct 2020 lol. Thanks again – Petro Mar 13 '22 at 21:24
2

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

Mickael B.
  • 4,755
  • 4
  • 24
  • 48
Pablo Lanza
  • 338
  • 1
  • 8