Как синхронизировать базу данных Android sqlite с сервером с помощью Workmanager? - PullRequest
0 голосов
/ 07 сентября 2018

Я хочу загрузить содержимое базы данных сервера в мой локальный SQLite в приложении для Android при первом запуске приложения. После этого я хочу периодически синхронизировать (скажем, каждый день, когда приложение открывается) с сервером. Как говорит разработчик, я могу запланировать любую фоновую работу с новым Android Jetpack API WorkManager. Если кто-то делал это раньше, пожалуйста, укажите как?

1 Ответ

0 голосов
/ 12 сентября 2018

Предположим, вы хотите запланировать периодическое обновление, чтобы запускать загрузку данных каждый день в 2 часа ночи. То, что вам нужно сделать, это при первом запуске приложения рассчитать начальную задержку в миллисекундах, которая будет ( initialDelay = отметка времени завтрашнего 2:00 - отметка текущего времени )

Теперь запланируйте onTimeWorkRequest с этой начальной задержкой. так что в 2 часа ночи эта работа будет запущена в рамках этого рабочего графика периодической работы, которая будет иметь фактический логический запрос загрузки с интервалом повторения 24 часа. Оттуда этот периодический запрос будет поступать в 2 часа ночи каждый день. Используйте ограничение «networkConnected» с периодическим запросом.

...