Лучшие практики для "уровня данных" в клиентских приложениях Android - программирование
Подтвердить что ты не робот

Лучшие практики для "уровня данных" в клиентских приложениях Android

Вот один вопрос дизайна/лучшей практики.

Я новичок в разработке Android и в основном новичок в веб-решениях.

Итак, мой вопрос: какие лучшие практики при организации структуры приложения Android, которые получают данные с удаленного сервера?

Если запрос на сервер перейдет в один класс, который взаимодействует с сервером (получать и отправлять запросы), или я должен смотреть на мои запросы в качестве источника данных, то есть каждый класс данных управляет им для себя?

или мне нужно больше уровней абстракции - один уровень для получения данных, другой для модели, использующей некоторые интерфейсы, не зная, из каких исходных данных?

Мне любопытно, как опытные разработчики Android подходят к этим проблемам дизайна...

4b9b3361

Ответ 1

Презентация Virgil Dobjanschi - это хороший ресурс, как указано выше, в котором говорится, что вы запускаете свои запросы из фоновой службы, чтобы активность не выполнялась быть уничтоженными и хранить ваши данные в базе данных как можно раньше.

Для получения более подробной информации о том, как я делаю это, нужно разделить приложение на три компонента:

1- Библиотека для инкапсуляции обработки HTTP-запроса и ответа (с ApacheHTTP), которая может обрабатывать простой запрос/ответ и дополнительные функции, которые могут включать файлы cookie (могут потребоваться для входа в систему) и изменение HTTP-заголовка.

2- Уровень маршала /Unmarsha, где я анализирую данные сервера (например, XML или JSON) и преобразую его в объекты (например, модели), с которыми будет работать остальная часть моего приложения.

3- слой с сохранением.

Как и в случае с Dobjanschi, я обычно делаю запросы данных запущенными в службе, а не внутри рабочего потока внутри этой операции.

Ответ 2

Используйте одну из трех моделей, представленных в этом разговоре ввода-вывода Google. Он предлагает вам советы, которые помогут вам в процессе определения архитектуры вашего приложения. Это также помешает вам использовать распространенные ошибки, которые используют новички:

http://www.youtube.com/watch?v=xHXn3Kg2IQE

Этот пост также поможет вам:

Нужен образец проекта Android REST Client, который реализует образец реализации REST Вергилия Добжански