簡體   English   中英

我可以在 SharedPreferences (flutter) 中放置兩個列表數據嗎?

[英]Can I put two list data in SharedPreferences (flutter)?

我需要在收藏夾中保存 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',
  ),
   
  ]

嘗試通過 obj.toJson() 將您的 class object 轉換為 JSON; 並將 json 字符串保存到存儲中,並通過 obj.fromJson() 將 json 字符串重構為您的 obj class;

我認為一個簡單的解決方案是將您的列表轉換為 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);

這應該會返回您之前在共享首選項中插入的列表。

對於任何問題,只需在下面發表評論。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM