web-dev-qa-db-fra.com

Comment enregistrer la liste <Objet> dans le flutter de SharedPreferences?

J'ai une liste de musique préférée, que je récupère à partir de la musique lorsque l'application est ouverte pour la première fois, l'application obtient une liste de musique préférée à partir des favoris. Je souhaite enregistrer cette liste pour la partager

preferences.List<Music> favoriteMusic = new List<Music>();

où la classe de musique est:

class Music {
  final int id;
  final String name, size, rating, duration, img;
  bool favorite;

  Music({
    this.id,
    this.rating,
    this.size,
    this.duration,
    this.name,
    this.img,
    this.favorite,
  });

  factory Music.fromJson(Map<String, dynamic> jsonData){
    return Music(
      id: jsonData['id'],
      rating: jsonData['rating'],
      size: jsonData['size'],
      duration: jsonData['duration'],
      name: jsonData['name'],
      img: jsonData['img'],
      favorite: false,
    );
  }
}

Comment puis-je enregistrer la liste de musique préférée?

2
sumseflut

Convertissez-le en chaîne, vous pouvez le stocker

import 'Dart:convert';
...
var s = json.encode(myList);
// or var s = jsonEncode(myList);

json.decode() //convert a string to List when you load it
0
Rudresh Narwal