АННОТАЦИЯ 3
ВВЕДЕНИЕ 3
1 Изучение технологий, необходимых для разработки мобильного клиента 5
1.1 Изучение языка программирования Kotlin и особенностей разработки для платформы Android 5
1.1.1 Изучение языка программирования Kotlin 5
1.1.2 Изучение особенностей разработки для платформы Android 11
1.2 Изучение и сравнение различных фреймворков для мобильной разработки, выявление их особенностей и применимости 11
1.3 Изучение способов отправки и приёма сообщений для связи с сервером через API и способов доставки уведомлений до пользователей 15
1.3.1 Изучение способов отправки и приёма сообщений для связи с сервером через API 15
1.3.2 Изучение способов доставки уведомлений до пользователей 19
1.4 Выбор архитектуры приложения 20
2 Выбор дизайна приложение, создание макетов и верстка макетов в XML 26
2.1 Выбор дизайна приложения 26
2.2 Перевод макетов в язык разметки XML 29
3 Реализация навигации между страницами и корректного отображения
чатов 31
3.1 Реализация навигации между страницами 31
3.2 Отображение чатов 37
4 Реализация связи между сервером и клиентом 39
4.1 Работа с токенами 39
4.2 Реализация внутренней работы с данными 42
ЗАКЛЮЧЕНИЕ 47
СПИСОК ИСТОЧНИКОВ 49
Актуальность данной работы обусловлена современными трендами в образовании и развитии технологий. С развитием мобильных устройств и возрастанием интереса к изучению иностранных языков создание мобильного клиента для общения с целью повышения уровня владения иностранными языками представляет собой актуальное направление.
Разработка мобильного клиента имеет практическую применимость в сферах образования и самообразования. Пользователи смогут эффективно обучаться, применяя полученные знания в реальной коммуникации. Значимость проекта также выражается в содействии развитию межкультурного обмена и обогащению лингвистического опыта.
Целью дипломной работы является разработка мобильного клиента, с помощью которого можно будет общаться с другими пользователями посредством сообщений с целью повышения уровня владения иностранным( - и) языком(-ами).
Обозначенная цель предполагает решение следующих задач:
1) Изучить язык программирования Kotlin и особенности разработки приложений для платформы Android.
2) Изучить и сравнить фреймворки для создания мобильного приложения.
3) Изучить способы отправки и приёма сообщений для связи с сервером через API и способы доставки уведомлений до пользователей.
4) Выбрать дизайн приложения и создать первичные макеты экранов в виде изображений.
5) Разработать финальные макеты.
6) Перевести макеты в язык разметки XML.
7) Реализовать переходы между страницами.
8) Реализовать корректное отображение чатов.
9) Реализовать связь между сервером и клиентом.
Для достижения поставленной цели будут использованы следующие методы и инструменты:
1) Исследование литературных источников и анализ существующих технологий.
2) Анализ существующих фреймворков для мобильных приложений.
3) Проектирование пользовательского интерфейса.
4) Верстка экранов в формате XML.
5) Использование языка
В процессе выполнения дипломной работы были исследованы и применены современные технологии разработки мобильных приложений для платформы Android. Основное внимание было уделено изучению языка программирования Kotlin и его преимуществам в сравнении с Java. Kotlin, как объектно-ориентированный язык с полной совместимостью с Java, обеспечивает высокую степень безопасности и эффективности кода благодаря таким концепциям, как null safety, функции-расширения и smart cast.
Помимо этого, в рамках работы был проведен анализ фреймворков для управления зависимостями, и было принято решение использовать Koin, учитывая его легковесность и декларативный подход, что способствует улучшению читаемости и поддерживаемости кода.
Особое внимание также было уделено методам взаимодействия с внешними серверами через API. Были изучены и сопоставлены два основных подхода: использование RESTful API и GraphQL, что позволило выбрать наиболее подходящий вариант в зависимости от конкретных потребностей проекта. Кроме того, были рассмотрены способы доставки уведомлений, обеспечивающих пользователей приложения актуальной информацией и повышающих его функциональность.
Важным этапом работы было определение цветовой палитры и создание дизайн-макетов, которые не только соответствуют принципам контрастности и читаемости, но и отражают уникальный стиль приложения. Завершая этап дизайна, были разработаны финальные макеты, а затем успешно переведены в язык разметки XML с учетом динамического отображения списковых данных и эффективной навигации между страницами.
На заключительном этапе работы была успешно реализована связь между мобильным клиентом и серверной частью, обеспечивая функциональность приложения для общения между пользователями на различных языках. Приложение создано с учетом современных требований к мобильным приложениям, что делает его актуальным и конкурентоспособным на рынке мобильных приложений для устройств с операционной системой Android.
Таким образом, результатом дипломной работы является полноценное мобильное приложение, способствующее обмену информацией и общению между пользователями на различных языках, что способствует повышению уровня владения иностранными языками и расширению коммуникативных возможностей.