Главная страница

дипломная работа. Даар. Разработка службы курьерской доставки в мобильном приложении


Скачать 0.63 Mb.
НазваниеРазработка службы курьерской доставки в мобильном приложении
Анкордипломная работа
Дата24.04.2023
Размер0.63 Mb.
Формат файлаdocx
Имя файлаДаар.docx
ТипРеферат
#1086258
страница10 из 13
1   ...   5   6   7   8   9   10   11   12   13

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 – Классы компонента паттерна MVPPresenter
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. По такому принципу строится весь графический интерфейс приложения.

1   ...   5   6   7   8   9   10   11   12   13


написать администратору сайта