【问题标题】:can i save widgets by using shared prefrence in flutter apps? [closed]我可以通过在颤振应用程序中使用共享偏好来保存小部件吗? [关闭]
【发布时间】:2021-07-18 18:25:32
【问题描述】:

有没有办法通过使用共享首选项包(设置和获取)颜色数据类型或小部件列表数据类型

我想保存用户选择的颜色以及小部件。因此,当用户关闭应用并再次重新运行时,应用仍会显示颜色和小部件。

谢谢

【问题讨论】:

    标签: flutter sharedpreferences flutter-packages


    【解决方案1】:

    是的,你可以。

    为了将值保存到磁盘,该值必须是共享首选项可以使用和写入磁盘的类型。

    对于本例,我们将重点关注颜色属性,将其转换为 json 并将其编码为字符串。

    var color = Colors.white;
    var json = {
      'r': color.r, 
      'g': color.g,
      'b': color.b,
      'a': color.a
    };
    var serializedValue = json.encode(json);
    
    await SharedPreferences.setString('<your unique key>', serializedValue);
    

    然后您可以将serialized 值与共享首选项setString 一起使用,并在您检索字符串时反转上面的编码以创建Color 类型

    您需要为Widget 的每个属性执行此转换,以便保存并重新创建它。上面我已经概述了颜色属性的处理,您需要对其他属性执行相同的操作。

    您将无法直接将小部件保存到磁盘,因为它必须先被序列化为可以写入磁盘的格式

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 1970-01-01
      • 2021-01-27
      • 2020-07-04
      • 2021-08-07
      • 2020-06-11
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      相关资源
      最近更新 更多