Я хочу загрузить содержимое БД сервера на свой локальный SQLite в приложении для Android при первом запуске приложения. После этого я хочу периодически синхронизироваться (скажем, каждый день, когда приложение открывается) с сервером. Как говорится в документе разработчика, я могу запланировать любую фоновую работу с помощью нового Android Jetpack API WorkManager. Если кто-то делал это раньше, пожалуйста, укажите, как?
Как синхронизировать базу данных Android sqlite с сервером с помощью Workmanager?
comment
Возможно, вам следует начать с чтения документации менеджера работ. developer.android.com/topic/libraries/architecture/workmanager я думаю док даст правильные ответы или подход
- person Paul Okeke   schedule 12.09.2018
comment
также этот ответ может помочь запланировать работу в заданное (гибкое) время stackoverflow.com/a/54394957/2895571
- person pavle   schedule 02.12.2019
Ответы (1)
Предположим, вы хотите запланировать периодическое обновление для загрузки данных о пожаре каждый день в 2 часа ночи. Что вам нужно сделать, так это при первом запуске приложения вычислить начальную задержку в миллисекундах, которая будет (initialDelay = отметка времени завтра в 2 часа ночи - текущая отметка времени)
Теперь запланируйте onTimeWorkRequest с этой начальной задержкой. поэтому в 2 часа ночи эта работа будет запущена в этом рабочем графике, периодическая работа, которая будет иметь фактический логический запрос на загрузку с интервалом повторения 24 часа. Оттуда этот периодический запрос будет поступать в 2 часа ночи каждый день. Используйте ограничение «networkConnected» с периодическим запросом.
person
Ritzor
schedule
12.09.2018