Чтобы ваше приложение запомнило любые данные, которые зависят от 2 основных факторов:
1 - время жизни ваших контейнеров данных (переменных, баз данных и т. Д.)
2-Область, в которой вы хотите использовать свои данные (классы, страницы, приложения)
Из того, что я понял в вашей проблеме.Вы хотите, чтобы ваше приложение запоминало состояние кнопки после ее закрытия / повторного открытия.
Как правило, большинство типов переменных данных, используемых в Dart
, хранятся в мобильной энергозависимой памяти (ОЗУ).Это делает их доступными для очистки операционной системой сразу после закрытия приложения.Это помогает другим работающим приложениям найти пространство памяти для работы.
Таким образом, сохранение состояний ваших кнопок в часто используемых переменных (например: bool
) в вашем случае не поможет.
Для решения вашей проблемы У вас есть 2 энергонезависимых метода хранения данных:
1- Используйте SQLite
DB для хранения вашего состояния кнопки, на которое ссылается кнопка в виде primary key
.(SQLite
сохраняет ваши данные в постоянном файле БД внутри пакета приложения). Прочитайте отсюда
2- Самый простой и быстрый способ: используйте sharedPreferences
для хранения ваших состояний кнопок, на которые ссылается каждая кнопка, в виде пары значений ключей внутри `sharedPreferences Читайте здесь
Надеюсь, я смогу вам помочь