дипломная работа. Даар. Разработка службы курьерской доставки в мобильном приложении
Скачать 0.63 Mb.
|
4.3 Структура Android приложенияДля разработки мобильных приложений использован паттерн MVP. Model Рисунок 10 – Классы компонента паттерна MVP – Model Классы компонента Model, в двух приложениях, представляют из себя «сущности», содержащие только их свойства (члены классов) и set/get методы. Ниже приведен листинг класса Place, используемый в клиентском приложении для реализации модели для «Избранных» мест пользователя. public class Place extends RealmObject { @PrimaryKey private intid; private String mPrimaryAddress, mSecondaryAddress; public void setIncId(intid){ this.id = id;} public intgetId(){ return this.id;} //sets/gets public void setPrimaryAddress(CharSequencepr_addrass){ this.mPrimaryAddress= pr_addrass.toString();} public String getPrimaryAddress(){ return this.mPrimaryAddress;} public void setSecondaryAddress(CharSequencesec_address){ this.mSecondaryAddress= sec_address.toString(); } public String getSecondaryAddress(){ return this.mSecondaryAddress; }} Можно заметить, что класс Place наследуется от RealmObject. Дело в том, что в проект интегрирована база данных Realmдля локального хранения информации о сущностях. Данная база данных позволяет, в прямом смысле, в одну строку реализовывать основные транзакции необходимые для работы и имеющиеся в SQLite. View Рисунок 11 – Классы компонента паттерна MVP –View Весь графический интерфейс приложений реализован в Activity или в Fragment. Активности и фрагменты взаимодействуют с моделями через Presenter-ы. Для этого, в последних определяются интерфейсы для управления активностями, а в самих активностях реализуются методы этих интерфейсов. Листинг примера реализации представлен в приложении 1. Как видно из листинга, класс реализует сразу три интерфейса: для прослушивания входящих СМС, для обработчика нажатий и для интерфейса из, Presenter-а для этой активности. Presenter Рисунок 12 – Классы компонента паттерна MVP–Presenter Presenter для активности, описанной в предыдущем блоке (View) представлен в приложении 2. Общая структура «Страницы» в Android приложении называются активити (Activity). Активити, если она должна что-то показывать пользователю, состоит из разметки графического интерфейса, написанной в формате XML, и кода на языке Java, отвечающего за работу интерфейса. Активити могут содержать фрагменты – сущности, тоже имеющие свой жизненный цикл схожий с активити, однако фрагмент не может существовать вне активити. Рисунок 13 – Жизненный цикл активности (экрана в android приложении) Можно использовать для одного и того же активити разные фрагменты, что придает гибкость и вариативность в процессе разработки. На рисунке 14 показан простой пример в виде XML кода для WebActivity используемый в приложениях проекта, а также код Java для этого XML файла. Рисунок 14 – XML разметка класса WebActivity Рисунок 15 – java код для XML разметки WebActivity Этот примитивный пример показывает структуру Android приложения в целом. В XML файле мы определили заголовок активности Toolbar и WebView для отображения веб страниц внутри приложения. Далее, в java файле мы описываем логику для этих View. По такому принципу строится весь графический интерфейс приложения. |