Это нормальная логика работы приложения?

Делаю приложение, которое будет проверять наличие и отображать свежую фотографию с одного из фотохостингов. Накидал такую логику работы:
При запуске приложения проверяем, установлен ли WorkManager:
- если WorkManager установлен, отменяем его и запускаем AsyncTask,
- если WorkManager не установлен, сразу запускаем AsyncTask.

При закрытии Активити:
- завершаем AsyncTask и запускаем WorkManager.

AsyncTask (с интервалом несколько минут):
- если интернета нет, выводит Snackbar с сообщением, показывает последнюю загруженную фотографию (если была, иначе — “заглушку”).
- если интернет есть, проверяет наличие новых фото и меняет фотографию в активити, сохраняет последнюю загруженную фотографию и не показывает Notification’ы.

WorkManager (запустится, когда будет интернет):
- с минимально возможным интервалом (15 минут) проверяет наличие новых фото,
- если фото появилось, выводит Notification, из которого можно открыть Активити с этим фото,
- сохраняет последнюю загруженную фотографию.

Имеет ли смысл вместо AsyncTask'а (так как он deprecated) использовать Service?
Что ещё я не учёл в логике работы?
  • Вопрос задан
  • 180 просмотров
Пригласить эксперта
Ответы на вопрос 1
zagayevskiy
@zagayevskiy Куратор тега Android
Android developer at Yandex
Это простое приложение будет адски грузить смартфон. И жрать батарейку. Правильный путь - это пуши. Сделай свой вебсервис, который будет следить за фотографиями и слать в приложение пуш.

Асинктаск вообще не нужно использовать. Ни для чего. Достаточно Retrofit/OkHttp, и Handler.postDelayed.
Сервис не нужно использовать, можешь считать его тоже устаревшим.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы