Сохранение состояния в приоритетном режиме, пока приложение закрыто ⇐ Android
-
Гость
Сохранение состояния в приоритетном режиме, пока приложение закрыто
Я работаю над проектом, который взаимодействует с устройством BLE. Когда приложение открыто, я активно отображаю данные, передаваемые с устройства. Однако я хочу иметь возможность получать данные и тогда, когда приложение закрыто. Прямо сейчас у меня работает служба переднего плана, которая продолжает получать данные с устройства BLE после закрытия приложения. Я хочу сохранить эти данные и обновить состояние при возобновлении работы приложения.
Сейчас у меня есть ViewModel, который обрабатывает пользовательский интерфейс фрагментов. Изначально мой план состоял в том, чтобы передать все мои данные через пакеты в мою Службу, когда моя MainActivity будет уничтожена. А затем, всякий раз, когда я получаю данные от устройства BLE, я сохраняю новые состояния в общих настройках. Когда MainActivity возобновляет работу, я проверяю SharePreferences, чтобы получить обновленное состояние в Сервисе, и мы продолжаем оттуда.
Однако я не уверен, что это лучший способ сделать что-то, потому что у меня довольно много данных, хранящихся в моей ViewModel (2 класса данных, 1 список устройств BLE и 1 список службы BLE). . Мне было интересно, есть ли лучший способ поддерживать подобные состояния, например, ViewModel, но более похожий на серверный.
Я работаю над проектом, который взаимодействует с устройством BLE. Когда приложение открыто, я активно отображаю данные, передаваемые с устройства. Однако я хочу иметь возможность получать данные и тогда, когда приложение закрыто. Прямо сейчас у меня работает служба переднего плана, которая продолжает получать данные с устройства BLE после закрытия приложения. Я хочу сохранить эти данные и обновить состояние при возобновлении работы приложения.
Сейчас у меня есть ViewModel, который обрабатывает пользовательский интерфейс фрагментов. Изначально мой план состоял в том, чтобы передать все мои данные через пакеты в мою Службу, когда моя MainActivity будет уничтожена. А затем, всякий раз, когда я получаю данные от устройства BLE, я сохраняю новые состояния в общих настройках. Когда MainActivity возобновляет работу, я проверяю SharePreferences, чтобы получить обновленное состояние в Сервисе, и мы продолжаем оттуда.
Однако я не уверен, что это лучший способ сделать что-то, потому что у меня довольно много данных, хранящихся в моей ViewModel (2 класса данных, 1 список устройств BLE и 1 список службы BLE). . Мне было интересно, есть ли лучший способ поддерживать подобные состояния, например, ViewModel, но более похожий на серверный.
Мобильная версия