首页 > 解决方案 > Flutter:在 SharedPreferences 中保存和获取多个值

问题描述

我正在使用SharedPreferences制作功能离线书签 News 。我可以使用此代码保存和获取单个值:

节省的价值

void _testingSavePref(String judulBerita) async {
    SharedPreferences pref = await SharedPreferences.getInstance();
    pref.setString("tokenbookmark", judulBerita);
  }

获取值

@override
  void initState() {
    super.initState();
    setState(() {
      _testingLoadPref();
    });
  }
_testingLoadPref() async {
    SharedPreferences pref = await SharedPreferences.getInstance();
    setState(() {
      tokenBookmark = pref.getString("tokenbookmark");
    });
  }

一切正常,但可以使用SharedPreferences保存和获取多个值吗?

例如,我有 2 个或更多数据,我希望保存所有数据而不是覆盖。

在此处输入图像描述 谢谢

标签: flutterdartsharedpreferences

解决方案


更新代码:

保存价值

void _testingSavePref(List<String> judulBerita) async {
    SharedPreferences pref = await SharedPreferences.getInstance();
    await pref.setStringList("tokenbookmark", judulBerita); //judulBerita is a list of string now
  }

获取值

@override
  void initState() {
    super.initState();
    setState(() {
      _testingLoadPref();
    });
  }

_testingLoadPref() async {
    SharedPreferences pref = await SharedPreferences.getInstance();
    setState(() {
       final List<String>? tokenBookmark = pref.getStringList("tokenbookmark");
    });
  }

现在,您可以tokenBookmark通过以下代码从列表中获取数据

for(String s in tokenBookmark){
  print(s);
}

推荐阅读