#flutter #local-storage #flutter-web #flutter-sharedpreference
Вопрос:
Я пытаюсь создать функцию «избранное», используя shared_preferences во flutter.
Используйте этот метод для локального хранения без базы данных.
Страница для использования globals.dart
имеет переменную bool, button.dart
которая является окном выбора страницы (измените цвет кнопки при закладке), и есть файл home0_01.dart
с «кнопкой избранного значка (нажмите, чтобы добавить эту кнопку в избранное)».
Здесь я хотел бы реализовать его для локального хранения с помощью shared_prefer
Но даже глядя на множество примеров кода, это трудно реализовать. favoriteButton_0_01
В моем коде их сотни, потому что там так много home0_01.dart
файлов. Как я должен кодировать в этом случае?
глобалы.дротик
library prj.com.globals;
bool favoriteButton_0_01 = true;
bool favoriteButton_0_02 = false;
...
кнопка.дротик
...
LearnLevelButton(
color: favoriteButton_0_01 ? Colors.orange : Color(0xff7ba6f9),
text: '',
onTap: () async {
await Navigator.pushReplacement(context, MaterialPageRoute(builder: (context){
return home0_01();
}));
},
),
...
home0_01.дротик
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),
),
],
...
Комментарии:
1. почему у вас есть сотни файлов вместо того, чтобы делать что-то более эффективное?
2. Это связано с тем, что для каждого файла требуется отдельное видео на YouTube и отдельные «избранные».
3. то, как вы это делаете, кажется крайне неэффективным, не можете ли вы сохранить видео в списке с помощью чего-то вроде пользовательского класса и сгенерировать их позже ?
4. Я также новичок, и api YouTube и название панели приложений меняются каждый раз, но я не смог найти эффективного способа справиться с этим.
Ответ №1:
Вы можете посмотреть этот учебник, чтобы выполнить что-то подобное: https://www.youtube.com/watch?v=TRB0qZ2XaO4. В принципе, это одна и та же идея. Нажмите кнопку и добавьте ее в другое место. Надеюсь, это может помочь.