如何“扫描”所有共享首选项密钥以将其保存在列表中

时间:2020-08-19 11:09:31

标签: flutter sharedpreferences

在传递中,为了显示图形(时间/值),我使用sharedpref保存了数据,如下所示:

//按下按钮后,我监听日期并像使用可变键一样使用$ current_date

set( $current_date_key; value)

但是用户可以随意按下按钮,但我无法确定用户保存的$ current_date。

所以我会知道如何创建一个函数,例如扫描(for循环),该函数将时间增加几分钟,并将找到的所有值保存在列表中。

例如,如果我有一个datenow格式,例如19/08 / 2020_13:12,我想用类似的步骤进行迭代

    19/08/2020 13:11 
    19/08/2020 13:10  
    19/08/2020 13:09

...
    19/08/2018 05:08

并将所有值都不为0的键保存在列表中[]

例如:

 //   if I have
            19/08/2020 13:11 =0
            19/08/2020 13:10 =0
            19/08/2020 13:09 =1
            19/08/2020 13:08 =0
            19/08/2020 13:07 =1
    
    I search to save in List[19/08/2020 13:09, 19/08/2020 13:07]

有可能吗?

谢谢

1 个答案:

答案 0 :(得分:1)

要获取当前存储在SharedPreferences中的所有键,可以使用getKeys()函数。它返回一个Set,您可以使用List将其转换为toList()

SharedPreferences prefs = await SharedPreferences.getInstance();
List<String> keys = prfes.getKeys().toList();