Нужно спроектировать дизайн архитектуры андроид приложения - PullRequest
5 голосов
/ 08 сентября 2011

Мне нужно создать дизайн архитектуры для моего приложения.

Сведения о приложении: В моем приложении я показываю некоторые данные, полученные с сервера. Таким образом, в основном, когда вы запускаете приложение, вы получаете список категорий, а когда вы нажимаете на категорию, приложение вызывает веб-сервис, используя REST, и получает ответ JSON. После получения ответа данные JSON анализируются для создания массива объектов, и, наконец, адаптер отображает эти данные в виде списка.

Структура пакета, о котором я подумал:

com.app.activities: содержит все действия, требуемые в приложении.

com.app.customviews: пользовательские представления, необходимые для приложения.

com.app.adapters: различные адаптеры списка / сетки для создания различных типов представлений списка и сетки.

com.app.parsers: содержит все классы анализатора для анализа ответа JSON, полученного с сервера. Эти классы в основном будут возвращать массив действий к действиям, которые в дальнейшем будут использоваться классом адаптера для создания представлений списка и сетки.

com.app.utils: содержит функции, которые используются через приложение, например, функция для получения ответа от сервера на запрос, получения строки из входного потока, загрузки изображения с определенного URL, ведения журнала и т. Д.

com.app.model: содержит все классы моделей для различных пользовательских типов данных.

Рабочий процесс приложения: если выбрана определенная категория, activity получает ответ от utils и отправляет его на parsers, чтобы получить массив данных типа Model. Теперь этот массив передается в adapters, который возвращает объект адаптера, который в конечном итоге используется при отображении списка / сетки в activity.

Теперь, согласно архитектуре приложения, ваш код должен быть разделен на следующие три уровня:

  1. Уровень представления
  2. Бизнес-уровень
  3. Уровень данных

Теперь мне нужно знать, согласно моему приложению, какая часть принадлежит какому слою.

Пожалуйста, помогите, я совершенно не разбираюсь в этом.

спасибо !!

Обновление: Пока гуглял, наткнулся на эту ссылку:

http://apparchguide.codeplex.com/wikipage?title=Chapter%2019%20-%20Mobile%20Applications

Там написано, что ваше приложение должно иметь несколько рабочих процессов, бизнес-компонентов, сущностей и т. Д.

Итак, я думаю, что моя текущая структура пакета неверна, так как я делаю большинство вещей только в Activity.

Итак, теперь мой вопрос: если я следую этой архитектуре, какой должна быть структура пакета или как мне настроить базу кода.

Ответы [ 2 ]

0 голосов
/ 08 сентября 2011

Ваш пользовательский интерфейс приложения, вы можете сказать, это уровень представления.На бизнес-уровне вы выполняете операции с веб-сервисом REST и JSON.И слой данных находится на сервере.Таким образом, в основном вы просматриваете список (презентация), используя некоторые сервисы (бизнес) для получения результата (информации) с сервера (данные)

0 голосов
/ 08 сентября 2011

Ваше приложение предназначено только для презентации? Бизнес-уровень реализован на сервере, поскольку вы не изменяете данные, а только показываете их. Для меня модель находится на уровне данных, все остальное - презентация.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...