Добавил:
донатики - https://qiwi.com/n/1ZOMBIE1 Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ИБ-01б, курсовая работа Бунина А.В.docx
Скачиваний:
5
Добавлен:
12.01.2023
Размер:
1.92 Mб
Скачать

2.3 Обращение к серверу

Создаем элементы интерфейса для вывода получаемых значений из базы данных. Для заполнения ListView нужно создать дополнительный файл с требуемым элементом в соответствии с рисунком 2.19.

Рисунок 2.19 – элемент, который будет выводиться в ListView

Создаем на рабочем фрагменте ListView и кнопки для взаимодействия с элементами, которые будут выводиться из базы данных в соответствии с рисунком 2.20.

Рисунок 2.20 – fragment_basket

Для обращения пользователя к онлайн-серверу, первостепенно нужно создать класс, где будут перечислены выводимые элементы и добавить к ним get и set запросы в соответствии с рисунком 2.21.

Рисунок 2.21 – класс к таблице «Basket»

Далее нужно создать адаптер, где будут заполняться элементы из ListView в соответствии с рисунком 2.22 [5].

Рисунок 2.22 – BasketAdapter

Переходим в класс фрагмента, где перечисляем компоненты, что нам понадобятся для взаимодействия с базой данных и заполнение созданных элементов интерфейса в соответствии с рисунком 2.23.

Рисунок 2.23 – элементы фрагмента

Объявляем переменные и вызываем асинхронный метод заполнения ListView в onCreateView фрагмента в соответствии с рисунком 2.24.

Рисунок 2.24 – заполнение фрагмента данными из базы данных

После строчки «new GetBasket().execute();» вызывается асинхронный метод AsyncTask, что позволяет выполнить асинхронную работу и делать обновления пользовательского интерфейса. Для обновления реализуйте метод onPostExecute(), а всю фоновую работу заключите в метод doInBackground() в соответствии с рисунком 2.25.

Рисунок 2.25 – асинхронный запрос

Создаем событие нажатия на элемент ListView, чтобы удалить заказ. По нажатию мы записываем в класс AppData данные нажатого элемента и показываем кнопку удаления в соответствии с рисунком 2.26.

Рисунок 2.26 – нажатие на элемент ListView

Событие нажатия на кнопку удаления с вызовом асинхронного метода удаления заказа из корзины представлено в соответствии с рисунком 2.27.

Рисунок 2.27 – нажатие на кнопку удаления

Асинхронный метод удаления заказа показан на рисунке 2.28.

Рисунок 2.28 – асинхронный метод удаления заказа из корзины

Событие нажатия на кнопку оплаты с вызовом асинхронного метода удаления заказа из корзины представлено в соответствии с рисунком 2.29.

Рисунок 2.29 – событие нажатия на кнопку оплаты

Здесь выполняется асинхронный метод изменения записи/записей в соответствии с рисунком 2.30.

Рисунок 2.30 – асинхронный метод оплаты заказов/заказа

Результат выполнения вышеописанного кода представлен на рисунке 2.31.

Рисунок 2.31 – полученный результат

Аналогично делаем взаимодействие на фрагментах «Главная» и «Профиль».

Выше показаны основные запросы для работы между андроид приложением и back-end. Далее будет представлен клиентский интерфейс и работа с ним [6].

3 Клиентский интерфейс

В результате был реализован как андроид проект, так и back-end для взаимодействия с онлайн-сервером. Попадая разработанное приложение для полноценной работы, нужно зарегистрироваться. Для этого следует заполнить все доступные поля в соответствии с рисунком 3.32

Рисунок 3.32 - интерфейс регистрации

При недостаточном количестве символов появляется предупреждение в соответствии с рисунком 3.33.

Рисунок 3.33 - предупреждение при регистрации

При успешной регистрации появится сообщение, сообщающее это в соответствии с рисунком 3.34.

Рисунок 3.34 - сообщение об успешной регистрации

После успешной регистрации пользователя перенаправляет на авторизацию. Для дальнейшей работы заполняем доступные поля и авторизуемся в соответствии с рисунком 3.35.

Рисунок 3.35 - интерфейс авторизации

При успешной авторизации появится сообщение, сообщающее это в соответствии с рисунком 3.36.

Рисунок 3.36 - сообщение об успешной авторизации

В случае, когда недостаточно символов появится аналогичное сообщение, как и при регистрации.

После успешной авторизации у пользователя появляется полный доступ к возможностям андроид приложения.

Список доступных продуктов питания в соответствии с рисунком 3.37.

Рисунок 3.37 - главная страница

Для добавления выбранного продукта нужно нажать на него и тогда появится кнопка добавление и выбор количества желаемого товара в соответствии с рисунком 3.38.

Рисунок 3.38 - интерфейс добавления в корзину

Корзина остается пустой пока в нее не добавить желаемый товар в соответствии с рисунками 3.39 - 3.40.

Рисунок 3.39 - интерфейс пустой корзины

Рисунок 3.40 - интерфейс заполненной корзины

После оплаты заказов будет выдан номер заказа в соответствии с рисунком 3.41.

Рисунок 3.41 – номер заказа

В профиле можно изменить личную информацию в соответствии с рисунком 3.42.

Рисунок 3.42 – изменение личных данных

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

Рисунок 3.43 – изменение личных данных

ЗАКЛЮЧЕНИЕ

В рамках курсового проекта реализован серверный API и клиентский интерфейс для взаимодействия с ним: было разработано защищенное мобильное приложения для доступа к серверным ресурсам. Заказ продуктов питания [6].

Главной задачей было создание системы, способной реализовать следующий набор функций:

  • регистрация;

  • вход-выход в личный кабинет;

  • редактирование профиля;

  • лента продуктов питания;

  • добавление в корзину/удаление из корзины;

  • корзина авторизованного пользователя.

Все требования, объявленные в техническом задании, были полностью реализованы в данном программном продукте.

Все задачи, поставленные в начале разработки проекта, были решены. Таким образом, цель работы достигнута.

СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Введение в MS SQL Server и T-SQL – URL: https://metanit.com/sql/sqlserver/1.1.php (дата обращения: 20.04.2022). – Текст: электронный.

  2. Клиент-серверное приложение с базой данных MySQL – URL: https://pcoding.ru/pdf/CSharpMySQL.pdf (дата обращения: 20.04.2022). – Текст: электронный.

  3. Архитектура программного обеспечения – URL: https://en.wikipedia.org/wiki/Software_architecture (дата обращения: 20.04.2022). – Текст: электронный.

  4. Выполнение команд и SqlCommand – URL: https://metanit.com/sharp/adonetcore/2.4.php (дата обращения: 20.04.2022). – Текст: электронный.

  5. Правильная работа с БД в Android – URL: https://habr.com/ru/post/125883/ (дата обращения: 20.04.2022). – Текст: электронный.

  6. CodePath Android Cliffnotes – URL: https://github.com/codepath/android_guides/wiki/ (дата обращения: 20.04.2022). – Текст: электронный.