Задача расписания Android при наличии подключения к Интернету

Я реализовал приложение для Android, которое извлекает данные из базы данных, размещенной снаружи, и сохраняет их локально на устройстве.

Мне нужно каждый день проверять изменения в размещенной базе данных и на основе изменений в приложении. обновит локальную базу данных SQLite.
Мой вопрос: мне нужно ежедневно проверять в фоновом режиме любые изменения в базе данных, в момент, когда задание запускается и есть подключение к Интернету, оно проверяет и остановить и перезапустить на следующий день, если в настоящее время нет подключения к Интернету, задание должно проверяться каждые 10 минут, пока подключение к Интернету не будет доступно.
Также мне нужно, чтобы задание не выполнялось, если устройство перезагружается.

Если кто-то может предоставить мне небольшой демонстрационный код, так как я новичок в разработке Android, это будет высоко оценено.


person Ahmed Yasin    schedule 02.02.2015    source источник


Ответы (2)


То, что вам нужно, это SyncAdapter, которое работает в фоновом режиме независимо от приложения, оно даст вам все возможности, о которых вы просите.
Чтобы углубиться в тему, посмотрите это видео, оно все довольно хорошо объясняет:
https://www.youtube.com/watch?v=xHXn3Kg2IQE

И взгляните на ссылки в ответах на этот вопрос:
Собственный адаптер синхронизации для Android?

person Nickolaus    schedule 02.02.2015
comment
ссылка вогелла не про синкадаптеры - person njzk2; 03.02.2015
comment
по моей вине заменил на другую ссылку - person Nickolaus; 03.02.2015

Вы можете использовать расписание заданий в Android, до Lollipop есть расписание заданий Firebase, это сохранение данных, времени и батареи, вы можете проверить больше здесь.

https://developer.android.com/reference/android/app/job/JobScheduler.html

person Javier    schedule 30.03.2017