ВВЕДЕНИЕ 3
ГЛАВА I ТЕХНОЛОГИИ, ИСПОЛЬЗУЕМЫЕ ПРИ РАЗРАБОТКЕ
КЛИЕНТ-СЕРВЕРНЫХ ANDROID ПРИЛОЖЕНИЙ 5
1.1 Стандартные библиотеки Android для создания интерфейса 5
1.2 Библиотеки для выстраивания архитектуры, реализации клиент-
серверного взаимодействия и хранения данных 18
ГЛАВА II ПРОЕКТИРОВАНИЕ КЛИЕНТ-СЕРВЕРНОГО ANDROID
ПРИЛОЖЕНИЯ С ИСПОЛЬЗОВАНИЕМ MVP 28
2.1 Верстка интерфейса 34
2.2 Связывание интерфейса и программной части 38
2.3 Выстраивание архитектуры 40
2.4 Подготовка работы с сервером 42
2.5 Получение данных с сервера 44
2.6 Хранение данных 48
ЗАКЛЮЧЕНИЕ 50
СПИСОК ЛИТЕРАТУРЫ 51
ПРИЛОЖЕНИЕ 53
Листинг кода
Актуальность. В современном мире все чаще взаимодействие с ПК переходит на второй план, сейчас к компьютерам прибегают только при использовании узкоспециализированного программного обеспечения - на их место приходят мобильные устройства, отлично зарекомендовавшие себя в роли поставщиков контента или портативной рабочей станции. При повсеместном распространении интернета логично начать переносить сложные вычисления на сторону сервера и создавать для него легкие клиентские приложения - таким образом нивелируется проблема оптимизации софта под разные конфигурации оборудования и увеличивается общая скорость разработки. Остается только выбрать между iOS и Android для разработки клиентской части - по личным предпочтениям автор склоняется ко второму варианту.
Целью дипломной работы является изучение проблем и вопросов, возникающих при разработке современных Android приложений, способы их решения, а также знакомство со стеком наиболее актуальных технологий, использующихся в реальных проектах и их применение на практике для создания красивого, удобного, быстрого, стабильного и легко расширяемого клиент-серверного Android приложения. Таким образом, объектом исследования является разработка современных Android приложений, а предметом исследования - технологии, отвечающие этим современным требованиям.
Для реализации поставленной цели были решены следующие задачи:
1. Продумывание и построение интерфейса
2. Решение проблем жизненного цикла Android
3. Выстраивание архитектуры и устранение зависимостей
4. Реализация клиент-серверного взаимодействия
5. Обеспечение многопоточной работы
6. Хранение и работа с данными.
Выпускная работа состоит из введения, двух глав, освещающих теоретическую и практическую часть разработки приложения, заключения, списка литературы, насчитывающего двадцать источников и исходного кода. Основная часть работы изложена на пятидесяти двух страницах, исходный код - на сорока восьми страницах.
В рамках данной выпускной квалификационной работы было разработано клиент-серверное Android приложение, в котором использованы следующие технологии:
• Стандартные библиотеки Android для построения интерфейса;
• Moxy для выстраивания MVP-архитектуры и решения проблем
жизненного цикла;
• Dagger 2 и EventBus для устранения зависимостей между
компонентами;
• Retrofit 2 для реализации клиент-серверного взаимодействия;
• RxJava для обеспечения многопоточной работы;
• Realm для хранения данных в БД.
Эти наработки будут использованы как каркас для создания других приложений такого типа.