我想将 sharedpreferences 键保存在我的智能手机上。键是表中的表 ID(自动增量)。现在我想在新标签中显示这些最喜欢的记录。
如何在我的数据库表中使用这些键进行选择?或者是否可以将它们与我在开始时选择的 json 数据集中的所有记录进行比较以显示表中的所有记录?
目前我正在将密钥保存在字符串中。然后在列表视图中显示它们。
Future<void> _save() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
final key = '${widget.id}';
final value = '${widget.id}';
prefs.setString(key, value);
}
Future<List<Widget>> getAllPrefs() async {
SharedPreferences prefs = await SharedPreferences.getInstance();
//final SharedPreferences prefs = await PrefStore().prefs;
return prefs
.getKeys()
.map<Widget>((key) => ListTile(
title: Text(key),
subtitle: Text(prefs.get(key).toString()),
))
.toList(growable: false);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: FutureBuilder<List<Widget>>(
future: getAllPrefs(),
builder: (context, snapshot) {
if (!snapshot.hasData) return Container();
return ListView(
children: snapshot.data,
);
}),
);
}
非常感谢。