#flutter #dart
Вопрос:
Я разрабатываю приложение для цитат в качестве проекта для начинающих в flutter. У меня в приложении несколько страниц. Прямо сейчас я хочу создать кнопку со значком, которая будет использоваться в качестве закладки (Пометить как избранное) для пользователя.А в панели приложений появится любимый вариант, где пользователь сможет найти отмеченные номера страниц.Локальная база данных кажется мне слишком запутанной.Как я могу использовать Улей для решения этой проблемы.
class p1 extends StatefulWidget {
@override
_p1State createState() => _p1State();
}
class _p1State extends State<p1> {
bool _isFavorite = true;
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
body:Stack(
children:<Widget>[
Image(
image:AssetImage("Image/Chowsun1.jpg"),
fit:BoxFit.cover,
width: double.infinity,
height: double.infinity,
),
Align(alignment: Alignment.center,
child: Text(' Hello world '
,style: TextStyle(fontSize: 35.0,
color: Colors.white,
fontFamily: "Explora",
fontWeight: FontWeight.w900 ) )
),
Align(
alignment: Alignment.bottomLeft,
child: const Text(' 1 ',
style: TextStyle(
fontSize: 25.0,
fontFamily: "MonteCarlo",
color: Colors.white,
fontWeight: FontWeight.w900),
),
),
Align(
alignment: Alignment.bottomCenter,
child: FavoriteButton(
isFavorite: _isFavorite,
iconSize: 40,
iconDisabledColor: Colors.red,
iconColor: Colors.white,
valueChanged: (isFav) {setState(() { _isFavorite = isFav; });},
)
)])
),
);
}
}
Ответ №1:
Чтобы добавить в закладки или добавить избранное, вам необходимо сохранить цитаты. Для этого вам нужно добавить эти два пакета https://pub.dev/packages/hive и https://pub.dev/packages/hive_flutter. То, о чем вы просите, касается всего кода, поэтому я предлагаю вам ознакомиться с этой простой документацией по реализации hive. https://docs.hivedb.dev/#/README
Для краткого обзора обратитесь к этому коду.
После инициализации await Hive.initFlutter();
и открытия окна await Hive.openBox('testBox');
в main()
.
Создайте ссылку на поле в соответствующем классе, затем добавьте значение box.put('key', 'Value');
, в котором Hive хранит данные в парах ключ-значение.