Ответ 1
В моем понимании шаблон выглядит следующим образом:
- Не показывать пустую активность и загружать содержимое в фоновом режиме. Когда загрузка не удалась, вы ничего не можете отобразить.
- Вместо этого отобразите данные, хранящиеся в db, доступные через поставщика контента и адаптер - это гарантирует, что пользователь всегда видит контент
- В фоновом режиме извлекайте новые данные, как только данные будут на телефоне, активность автоматически обновляется через адаптер
К вашим вопросам (я изменил порядок):
Где я могу обратиться к сервисному помощнику?
Я выбираю паттерн A из Vigils. В этом случае вызов зависит от вашего приложения. Вы можете инициировать обновление, когда приложение запускается, когда создается действие или когда пользователь выбирает кнопку обновления. Я бы выбрал при создании активности.
Вы выбрали шаблон B. В этом случае ясно, что поставщик контента должен инициировать обновление. Когда? Для получения новых данных: во время создания или после первого доступа для чтения. Я бы использовал время творения. Для создания, обновления, удаления после соответствующего действия в вашем поставщике содержимого.
Есть ли хорошие примеры этого точного шаблона проектирования?
Из моего сообщения в fooobar.com/info/70474/...: единственная реализация ссылок с открытым исходным кодом, которую я знаю, доступна под http://datadroid.foxykeep.com. Это библиотека, которую вы можете использовать в своем приложении. Архитектура объясняется в разделе/презентация - убедитесь, что вы ее прочитали.
, что должен делать сервис-помощник?
Если вы посмотрите на слайды на слайде 19, это синглтон, который инкапсулирует вызов службы и обрабатывает асинхронные вызовы с помощью идентификаторов запросов.
, что нужно делать службе именно?
Служба (слайд 17 в презентации) просто гарантирует, что действие выполняется в фоновом режиме.