【问题标题】:Can I put two list data in SharedPreferences (flutter)?我可以在 SharedPreferences (flutter) 中放置两个列表数据吗?
【发布时间】:2022-01-18 12:36:18
【问题描述】:

我需要在收藏夹中保存 2 个列表(列表书,列表工具),但问题是列表书保存在收藏夹中,列表工具未保存


那个列表书文件

List<Book> Books_Data = [
  Book(
    id: 'b1',
    categories: [
      'c1',

    ],
    title: 'الوصايا العشر في الامن السيبراني',
writer:'محمد شاكر المبيض',
    price:'5500 ل.س',
    imageUrl:
        'assets/image/Book/1.jpg',
    page: 64,   
  ),
      
 ]

和那个列表工具文件

List<Tools> tools_Data = [
  Tools(
    id: 't1',
    categories: [
      'c1',

    ],
    title: 'قلم رصاص ميكانيكي',
    price:'750 ل.س',
    imageUrl:
        'assets/image/Tools/1.jpg',
  ),
   
  ]

【问题讨论】:

    标签: flutter dart sharedpreferences


    【解决方案1】:

    尝试通过 obj.toJson() 将您的类对象转换为 JSON;并将 json 字符串保存到 Storage 并通过 obj.fromJson() 将 json 字符串重构为您的 obj 类;

    【讨论】:

      【解决方案2】:

      我认为一个简单的解决方案是将您的列表转换为 json 字符串,然后将其保存到共享首选项中。

      例子:

      //to convert to json string
      SharedPreferences prefs = await SharedPreferences.getInstance();
      String booksList = jsonDecode(*yourListName*);
      
      prefs.setString("yourTag", bookList);
      

      这是您保存列表的方法。当您需要它时,您只需:

      SharedPreferences prefs = await SharedPreferences.getInstance();
      String json = prefs.getString("yourTag");
      var list = jsonEncode(json);
      

      这应该会返回您之前在共享首选项中插入的列表。

      如有任何问题,请在下方评论。

      【讨论】:

        猜你喜欢
        • 2019-09-02
        • 2013-04-30
        • 1970-01-01
        • 2011-05-06
        • 2020-12-04
        • 2021-02-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多