По статистике, больше половины населения планеты – пользователи смартфонов. В связи с этим разработка мобильных приложений не потеряет актуальность в ближайшие годы. Мобильные приложения создаются с целью облегчить или ускорить какие-либо действия пользователей, добавить какую- то новую функциональность смартфонам.
Если пользователю требуется найти какую-либо информацию в интернете, он будет искать ее в поисковых системах. Постоянный поиск информации таким способом занимает немало времени. Поэтому появляются приложения, ускоряющие и облегчающие этот процесс. К примеру, футбольный болельщик вместо постоянного поиска новостей о его любимом клубе в поисковой системе, скорее всего, выберет какой-то один интернет ресурс или приложение, в котором он сможет получать информацию намного быстрее. Но таких приложений может быть мало, или не быть вовсе.
Пусть пользователь является болельщиком футбольного клуба Real Madrid. В магазине приложений для android-устройств Google Play Store информационных приложений, связанных с этим клубом, всего 2.
Первое – официальное приложение клуба. В этом приложении реализовано все, что может понадобиться болельщику клуба. Его недостатком является то, что в нем нет, например, русской локализации, и, по наблюдениям, в сообществе этого приложения мало русскоговорящих. Таким образом, функциональность приложения, отвечающая за коммуникацию пользователей, недоступна.
Второе приложение представлено некоторым спортивным интернет- порталом. Его функциональность близка к функциональности официального приложения, за тем исключением, что оно имеет русскую локализацию. Недостатком может быть то, что это приложение сугубо информативное, т.е. отсутствует некоторая развлекательная составляющая.
В связи с этим, было решено разработать приложение с функциональностью, близким к аналогам, русской локализацией и некоторыми новыми функциями.
ВВЕДЕНИЕ.................................................................................................... 3
1. ТЕОРЕТИЧЕСКАЯ ЧАСТЬ............................................................................................ 5
1.1. Функциональность мобильного приложения............................................................. 5
1.2. ASP.NET Core 3. Web-API............................................................................................. 5
1.3. Авторизация пользователей с помощью JWT............................................................. 6
1.4. Сетевое взаимодействие в android-приложении с помощью библиотеки Retrofit2 .8
1.5. Хранение данных в android-приложениях.................................................................. 9
2. ПРАКТИЧЕСКАЯ ЧАСТЬ............................................................................................ 12
2.1. Разработка веб-API для работы с БД.......................................................................... 12
2.1.1. Реализация регистрации и авторизации в системе........................................... 12
2.1.2. Лента новостей. Комментарии к новостям........................................................ 13
2.1.3. Уровень пользователя........................................................................................... 16
2.2. Разработка клиентского android-приложения........................................................... 19
2.2.1. Окна регистрации и авторизации....................................................................... 19
2.2.2. Лента новостей...................................................................................................... 20
2.2.3. Состав команды..................................................................................................... 26
2.2.5. Общий чат.............................................................................................................. 30
2.2.6. Навигационное меню. Уровень пользователя................................................... 31
2.2.7. Отображение даты для пользователей из разных часовых поясов.................. 35
2.2.8. Обновление данных на экране............................................................................ 38
ЗАКЛЮЧЕНИЕ......................................................................................................................... 40
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ............................................................ 41
ПРИЛОЖЕНИЕ A..................................................................................................................... 42
ПРИЛОЖЕНИЕ Б..................................................................................................................... 51
1. Entity Framework Tutorial [Электронный ресурс]. – URL: https://www.entityframeworktutorial.net/code-first/what-is-code-first.aspx (дата обращения 18.05.2020)
2. Про токены, JWT, аутентификацию и авторизацию [Электронный ресурс]. – URL: https://gist.github.com/zmts/802dc9c3510d79fd40f9dc38a12bccfc (дата обращения 20.05.2020)
3. Использование Retrofit в качестве REST клиента [Электронный ресурс]. – URL: https://habr.com/ru/post/428736/ (дата обращения 21.05.2020)
4. Общие сведения о платформе Android [Электронный ресурс]. – URL: https://developer.android.com/guide?hl=ru (дата обращения 03.06.2020)
5. Безопасное хранение токена доступа в Android-приложении [Электронный ресурс]. – URL: https://moluch.ru/archive/273/62244/ (дата обращения 04.05.2020)
6. A type-safe HTTP client for Android and Java [Электронный ресурс]. – URL: https://square.github.io/retrofit/ (дата обращения 21.05.2020)
7. Хранение данных. Preferences [Электронный ресурс]. – URL: https://startandroid.ru/ru/uroki/vse-uroki-spiskom/73-urok-33-hranenie- dannyh-preferences.html (дата обращения 04.05.20)