Используйте локальную БД как источник данных для UI, репозиторий для синхронизации RSS и очередь обновлений. Строгое фоновое обновление каждые пять минут обычному Android-приложению гарантировать нельзя.
Проектирование Android‑приложения‑агрегатора новостных лент
Используйте локальную БД как источник данных для UI, репозиторий для синхронизации RSS и очередь обновлений. Строгое фоновое обновление каждые пять минут обычному Android-приложению гарантировать нельзя.
Короткий ответ
Что ответить на собеседовании
Подробный разбор
Ответ с пояснениями
Условие
Разработать архитектуру Android‑приложения (минимальная версия 5.0 и выше), которое собирает новости из разных источников (RSS и аналогичные форматы) с ограниченным набором поддерживаемых протоколов. Необходимо реализовать режим работы без сети, обеспечить высокую производительность и автоматическое обновление источников каждые 5 минут. Приложение должно иметь два интерфейса: список новостей, упорядоченный по дате, и экран отдельной новости, где отображаются краткое описание и ссылка на оригинальный материал.
Ответ
Используйте локальную БД как источник данных для UI, репозиторий для синхронизации RSS и очередь обновлений. Строгое фоновое обновление каждые пять минут обычному Android-приложению гарантировать нельзя.
Сохраняйте новости по устойчивому ID или нормализованной ссылке, поддерживайте пагинацию и отметки обновления источников. Сеть обновляет БД, а список и детали читают её и работают офлайн. В активном приложении допустим пятиминутный таймер с отменой по lifecycle; для фоновой синхронизации WorkManager имеет минимальный период 15 минут и неточное время запуска. Если пять минут — жёсткий SLA, нужно пересогласовать требование или архитектуру, а не обходить ограничения бесконечным сервисом. Для Android 5 отдельно проверяйте minSdk выбранных версий библиотек.
Источник: developer.android.com.