Задания на собеседовании, REST API.
Добавлено: 28 окт 2015, 16:06
Здравствуйте уважаемые участники форума.
Зачастую задание на собеседовании junior android выглядят примерно так:
Есть REST сервис N. Задача выполнить к нему запрос, получить результат, отобразить на экране в виде list/gird и тп.
Есть несколько мыслей:
1. Использовать asynctask из урока http://startandroid.ru/ru/uroki/vse-uro ... krana.html кажется мне в корне не верным, т.к. если мы попытаемся обновить интерфейс активити в положении paused то получим Exception и вылет приложения, или потеряем данные если отключится от asynctask в событии onpause и подключится onresume. Вердикт - бред сумасшедшего:)
2. Использовать Loaders тут нет проблем c жизненным циклом активити, данные мы обязательно получим, но в большом проекте это будет 100+ лоадеров, доступ к данным из одного источника разметается по всему проекту. Вердикт - не обеспечивает общий интерфес доступа к данным одного семейства.
3. Использовать связку Activity > IntentService. Не уверен что смогу четко сформировать недостатки, но возникают вопрос гарантированно ли broadcast reciver объявленный в активити получит результат работы сервиса.
3. Реализовать один из паттернов https://docs.google.com/file/d/0B2dn_35 ... dSb3c/edit если сделать скидку на год лекции (2010) кажется лучшим вариантом, но честно говоря написать свою реализацию у меня не получилось.
Вопросы. Как правильно реализовать взаимодействие между activity и тем объектом который будет загружать данные? Какой реализации этой задачи ожидает работодатель?
Зачастую задание на собеседовании junior android выглядят примерно так:
Есть REST сервис N. Задача выполнить к нему запрос, получить результат, отобразить на экране в виде list/gird и тп.
Есть несколько мыслей:
1. Использовать asynctask из урока http://startandroid.ru/ru/uroki/vse-uro ... krana.html кажется мне в корне не верным, т.к. если мы попытаемся обновить интерфейс активити в положении paused то получим Exception и вылет приложения, или потеряем данные если отключится от asynctask в событии onpause и подключится onresume. Вердикт - бред сумасшедшего:)
2. Использовать Loaders тут нет проблем c жизненным циклом активити, данные мы обязательно получим, но в большом проекте это будет 100+ лоадеров, доступ к данным из одного источника разметается по всему проекту. Вердикт - не обеспечивает общий интерфес доступа к данным одного семейства.
3. Использовать связку Activity > IntentService. Не уверен что смогу четко сформировать недостатки, но возникают вопрос гарантированно ли broadcast reciver объявленный в активити получит результат работы сервиса.
3. Реализовать один из паттернов https://docs.google.com/file/d/0B2dn_35 ... dSb3c/edit если сделать скидку на год лекции (2010) кажется лучшим вариантом, но честно говоря написать свою реализацию у меня не получилось.
Вопросы. Как правильно реализовать взаимодействие между activity и тем объектом который будет загружать данные? Какой реализации этой задачи ожидает работодатель?