flutter - 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 个或更多数据,我希望保存所有数据而不是覆盖。
解决方案
更新代码:
保存价值
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);
}
推荐阅读
- email - 使用 STARTTLS 从 Office365 发送电子邮件失败
- python - KERAS:来自 loglikehood 的自定义损失函数
- c# - 从 MySql-Database 表单 C# 中读取二进制文件
- r - R上的多索引时间序列面板数据滞后
- java - 正面或反面有 3 个硬币,直到所有 3 个硬币都落在正面
- python - 如何匹配数组长度和索引长度
- angular - Angular 7 虚拟滚动:如何附加到父 div 滚动条?
- javascript - Vue Dynamic Layouts 两次挂载路由器视图组件
- c# - Masstransit 消耗故障而不将其从 _error 队列中取出
- reactjs - 如何在除一个之外的所有路由中显示反应组件?