web-dev-qa-db-ja.com

List <Object>をSharedPreferencesフラッターに保存する方法は?

アプリを初めて開いたときに音楽から取得したお気に入りの音楽のリストがあります。アプリはお気に入りからお気に入りの音楽リストを取得します。このリストを共有に保存したい

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

音楽クラスは次のとおりです。

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,
    );
  }
}

お気に入りの音楽リストを保存するにはどうすればよいですか?

2
sumseflut

文字列に変換して保存できます

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