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
  • 8

2 Answers2

9

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,069
  • 3
  • 25
  • 51
Stewie Griffin
  • 3,013
  • 15
  • 33
  • 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
1

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

Mickael B.
  • 4,186
  • 3
  • 20
  • 39
Pablo Lanza
  • 319
  • 1
  • 7