如何在具有共享首选项的情况下持久保存自定义对象列表?

时间:2020-02-23 14:26:38

标签: flutter dart sharedpreferences

我想保留一个包含自定义对象的列表,我什至编写了用于对其进行序列化和反序列化的方法,但是我不知道如何将其与SharedPreferencesFutureBuilder

这是自定义对象:

 class Fact {
  String factText;
  Color factColor;

  Fact(this.factText, this.factColor);

  Map<String, dynamic> toJson() =>
      {'factText': factText, 'factColor': factColor};

  Fact.fromJson(Map<String, dynamic> json)
      : factText = json['factText'],
        factColor = json['factColor'];
}

1 个答案:

答案 0 :(得分:1)

如果要在shared_preference中存储列表,则可以使用方法setStringList()

  /// Saves a list of strings [value] to persistent storage in the background.
  ///
  /// If [value] is null, this is equivalent to calling [remove()] on the [key].
  Future<bool> setStringList(String key, List<String> value) =>
      _setValue('StringList', key, value);