У меня есть приложение, которое загружает расписание и сохраняет его, а также регулярно загружает изменения в это расписание.В настоящее время я использую синглтон, но нахожу это уродливым с точки зрения дизайна.Из-за загрузок мне нужна централизованная система для минимизации использования сети.
В текущей ситуации каждый класс, который требует обновлений от синглтона, сначала получает экземпляр этого синглтона, а затем предоставляет интерфейс, для которого используются определенные методы.вызывается, когда требуется обновление.В настоящее время синглтон обрабатывает все загрузки в рабочих потоках.Обычно я бы использовал AsyncTask, вызываемый из Activity, однако, поскольку мне тоже нужно отправить результат в виджет, я не вижу этой работы.
Альтернатива - использование Сервиса.Я бы просто привязал к нему как виджет, так и активность.Проблема в этом случае заключается в том, что я не могу связать с BroadcastReceiver (который является AppWidgetProvider).Проблема заключается в том, что я не могу регулярно обновлять свой виджет.
Мой вопрос: как я (или: могу ли я) спроектировать свое приложение таким образом, чтобы я мог обновить свой виджет из службы (чтобы избавиться от синглтона) или есть лучший способ (может быть BroadcastReceivers)?