我正在尝试在颤振中使用 shared_preferences 创建一个“收藏夹”功能。
使用此方法在本地存储,无需数据库。
要使用的页面是globals.dart
带有布尔变量的,button.dart
即页面选择窗口(添加书签时更改按钮颜色),并且有一个home0_01.dart
带有“收藏夹图标按钮(单击以将该按钮添加到收藏夹)”的文件。
在这里,我想实现它以使用 shared_prefer 本地存储
但是即使看很多示例代码,也很难实现。我的代码中有数百个,favoriteButton_0_01
因为文件太多home0_01.dart
。在这种情况下我应该如何编码?
globals.dart
library prj.com.globals;
bool favoriteButton_0_01 = true;
bool favoriteButton_0_02 = false;
...
按钮.dart
...
LearnLevelButton(
color: favoriteButton_0_01 ? Colors.orange : Color(0xff7ba6f9),
text: '',
onTap: () async {
await Navigator.pushReplacement(context, MaterialPageRoute(builder: (context){
return home0_01();
}));
},
),
...
home0_01.dart
void delete() async {
setState(() {
favoriteButton_0_01 = false;
print(favoriteButton_0_01);
});
}
void saved() async {
setState(() {
favoriteButton_0_01 = true;
print(favoriteButton_0_01);
});
}
...
actions: <Widget>[
IconButton(
onPressed: favoriteButton_0_01 ? delete : saved,
icon: favoriteButton_0_01
? Icon(Icons.bookmark_rounded, color: Colors.yellow[800], size: 30)
: Icon(Icons.bookmark_add_outlined, color: Colors.yellow[800],size: 30),
),
],
...