我想从共享的首选项中获取多个值。我已经在此页面上创建了一个页面,存在多个布尔值,我希望当用户检查该值并转到其他页面时,他将返回,然后将保留所有值状态。
答案 0 :(得分:0)
您应该成为对象并存储到share-preference中 例如:
class Data
{
List<bool> list;
Data(this.list);
factory Data.fromJson(Map<String, dynamic> json) =>
_$DataFromJson(json);
Map<String, dynamic> toJson() => _$DataToJson(this);
}
以Sharepreference存储数据
await SharePreferencesHelper.getInstant().setString('key_data',jsonEncode(data.toJson()));
数据是数据类的对象,并且包含布尔数据列表
从sharepreference获取数据
SharedPreferences prefs = await SharedPreferences.getInstance();
String data = prefs.getString('key_data');
if (data == null) {
return null;
} else {
return Data.fromJson(jsonDecode(data));
}