如何将List <Object>保存到SharedPreferences flutter中?

sumseflut

我有一个收藏的音乐列表,当我第一次打开该应用程序时,我会从音乐中检索该列表,该应用程序会从收藏夹中获取一个收藏的音乐列表。我想将此列表保存到共享

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

如何保存收藏的音乐列表?

哈默德

您应该执行以下步骤

保存对象:

  1. 将您的对象转换为使用toMap()方法映射
  2. 使用encode(...)方法将地图编码为字符串
  3. 将字符串保存到共享首选项

用于还原对象:

  1. 使用decode(...)方法将共享的首选项字符串解码为映射
  2. 使用fromJson()方法获取对象

更新完整样本

import 'dart:convert';

void main() {
  final String encodedData = Music.encode([
    Music(id: 1, ...),
    Music(id: 2, ...),
    Music(id: 3, ...),
  ]);

  final List<Music> decodedData = Music.decode(encodedData);

  print(decodedData);
}

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

  static Map<String, dynamic> toMap(Music music) => {
        'id': music.id,
        'rating': music.rating,
        'size': music.size,
        'duration': music.duration,
        'name': music.name,
        'img': music.img,
        'favorite': music.favorite,
      };

  static String encode(List<Music> musics) => json.encode(
        musics
            .map<Map<String, dynamic>>((music) => Music.toMap(music))
            .toList(),
      );

  static List<Music> decode(String musics) =>
      (json.decode(musics) as List<dynamic>)
          .map<Music>((item) => Music.fromJson(item))
          .toList();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何将List <Object>保存到SharedPreferences?

来自分类Dev

将哈希映射保存到SharedPreferences中

来自分类Dev

将数据保存到“ doInBackground”内部的SharedPreferences中

来自分类Dev

将SparseBooleanArray保存到SharedPreferences

来自分类Dev

将SparseBooleanArray保存到SharedPreferences

来自分类Dev

Android-如何将 Firebase Uid 保存到 SharedPreferences?

来自分类Dev

将Google地图标记保存到Android Studio中的SharedPreferences中

来自分类Dev

将Google地图标记保存到Android Studio中的SharedPreferences中

来自分类Dev

将Mat(openCV)保存到Android的SharedPreferences

来自分类Dev

如何将ByteData(图像)保存到Flutter中的Download目录中?

来自分类Dev

如何将PickedFile类型的设置图像保存到Flutter中的图像?

来自分类Dev

如何将JTextArea中的值保存到JTable中?

来自分类Dev

如何将哈希集保存到Android中的文件?

来自分类Dev

如何将printf的结果保存到GDB中的变量?

来自分类Dev

如何将customadapter中的arraylist保存到SharedPreference

来自分类Dev

如何将Ajax调用值保存到变量中

来自分类Dev

R:如何将列表保存到csv中?

来自分类Dev

如何将坐标列表保存到隔离存储中?

来自分类Dev

如何将HashDicts保存到Elixir中的文件

来自分类Dev

如何将JSON数组保存到mongodb集合中

来自分类Dev

如何将IF保存到变量PHP中

来自分类Dev

如何将StringIO(pdf)数据保存到文件中

来自分类Dev

如何将glmnet模型保存到R中的文件?

来自分类Dev

如何将字典列表保存到文件中?

来自分类Dev

Alamofireimage如何将图像保存到磁盘缓存中?

来自分类Dev

如何将当前的tig选项保存到文件中

来自分类Dev

如何将每次迭代的输出保存到结构中

来自分类Dev

如何将结果保存到文件中?

来自分类Dev

如何将持久变量保存到.mat文件中?

Related 相关文章

  1. 1

    如何将List <Object>保存到SharedPreferences?

  2. 2

    将哈希映射保存到SharedPreferences中

  3. 3

    将数据保存到“ doInBackground”内部的SharedPreferences中

  4. 4

    将SparseBooleanArray保存到SharedPreferences

  5. 5

    将SparseBooleanArray保存到SharedPreferences

  6. 6

    Android-如何将 Firebase Uid 保存到 SharedPreferences?

  7. 7

    将Google地图标记保存到Android Studio中的SharedPreferences中

  8. 8

    将Google地图标记保存到Android Studio中的SharedPreferences中

  9. 9

    将Mat(openCV)保存到Android的SharedPreferences

  10. 10

    如何将ByteData(图像)保存到Flutter中的Download目录中?

  11. 11

    如何将PickedFile类型的设置图像保存到Flutter中的图像?

  12. 12

    如何将JTextArea中的值保存到JTable中?

  13. 13

    如何将哈希集保存到Android中的文件?

  14. 14

    如何将printf的结果保存到GDB中的变量?

  15. 15

    如何将customadapter中的arraylist保存到SharedPreference

  16. 16

    如何将Ajax调用值保存到变量中

  17. 17

    R:如何将列表保存到csv中?

  18. 18

    如何将坐标列表保存到隔离存储中?

  19. 19

    如何将HashDicts保存到Elixir中的文件

  20. 20

    如何将JSON数组保存到mongodb集合中

  21. 21

    如何将IF保存到变量PHP中

  22. 22

    如何将StringIO(pdf)数据保存到文件中

  23. 23

    如何将glmnet模型保存到R中的文件?

  24. 24

    如何将字典列表保存到文件中?

  25. 25

    Alamofireimage如何将图像保存到磁盘缓存中?

  26. 26

    如何将当前的tig选项保存到文件中

  27. 27

    如何将每次迭代的输出保存到结构中

  28. 28

    如何将结果保存到文件中?

  29. 29

    如何将持久变量保存到.mat文件中?

热门标签

归档