Мы собираемся создать приложение для Android, которое аутентифицирует своих пользователей через службу RESTful с использованием Java и инструмента Retrofit.

Аутентификация пользователя

Всякий раз, когда мы планируем создать виртуальную платформу для наших пользователей, основным требованием является сохранение данных пользователей и обеспечение им безопасного места для предоставления их данных для нашей обработки. То же самое и с приложением для Android.

Эта статья изначально была опубликована на Simplecoding.dev

В этом руководстве мы собираемся создать приложение для Android, которое аутентифицирует своих пользователей через службу RESTful с использованием Java и инструмента Retrofit. Служба RESTful, доступ к которой осуществляется здесь, построена с использованием загрузки Spring, и ее руководство можно найти здесь.



Кроме того, нам нужно разместить наш Spring Backend в облаке, чтобы получить доступ к нему как к службе RESTful. Учебник для этого можно найти здесь.



Репозитории bitbucket для этого руководства можно найти ниже в разделе ресурсов.

Требования

  1. Android Studio
  2. Виртуальное устройство Android (AVD)
  3. Инструменты Android SDK
  4. Spring Backend, размещенный в облаке
  5. Дооснащение

Шаги по настройке вашей рабочей среды в Android Studio можно найти здесь.

Создание проекта

После завершения настройки IDE откройте Android Studio - ›Нажмите« Новый проект »-› Выберите пустое действие - ›Выберите Java для языка -› Выберите Android SDK, чтобы наше приложение работало на всех устройствах - ›Нажмите« Готово »-› Подождите, пока все Скачиваются скрипты gradle. Мы можем приступить к работе над нашим проектом сразу после успешной сборки.

Создание мероприятий

Действия - это основные блоки для создания приложения для Android. Перейдите в основной пакет java, где вы можете найти основное действие, которое является точкой входа для нашего приложения. Нам нужно еще три действия для нашего приложения. Мы можем создать пустое действие, выполнив следующие действия: Щелкните правой кнопкой мыши пакет - ›Создать -› Действие - ›Пустое действие. Следуя этим шагам, выполните следующие действия -

  1. Зарегистрировать активность
  2. Вход в систему
  3. Дашборд Активность

Каждое действие будет индивидуально иметь файл макета в xml, который используется для создания пользовательского интерфейса для нашего приложения. Макеты можно найти в главной папке ›res› layout.

Зависимости

Для создания этого приложения нам нужны только две дополнительные зависимости. Одна - это зависимость Модернизация, а другая - зависимость Конвертер Gson.

implementation ‘com.squareup.retrofit2:retrofit:2.4.0’
implementation ‘com.squareup.retrofit2:converter-gson:2.4.0’

Скопируйте и вставьте две приведенные выше строки в раздел зависимостей файла gradle уровня приложения и синхронизируйте проект, чтобы получить зависимости.

Retrofit - это клиент REST API, который может отправлять запросы и получать ответ от нашей службы RESTful. Конвертер Gson используется для отправки и получения данных в формате JSON (JavaScript Object Notation).

Разрешения

Поскольку наше приложение просто предназначено для взаимодействия с REST API, который размещен в Интернете, нам нужны только разрешения для Интернета.

<uses-permission android:name="android.permission.INTERNET" />

Вышеупомянутую строку следует вставить как тег в файл app / src / main / AndroidManifest.xml. Полный файл выглядит следующим образом -

Настройка файлов

Нам нужно создать два класса и один интерфейс в основном пакете java, где находятся наши классы активности, чтобы сделать наше приложение полностью функциональным.

Создайте класс и назовите его User, который действует как модель. Он содержит имя пользователя и пароль. Мы отправим объект User с запросом на регистрацию или авторизацию.

Создайте интерфейс и назовите его API для обработки запросов и ответов. Объект API будет создан при модернизации.

Создайте класс RetrofitClient, который выполняет все операции клиента REST API, то есть отправляет запросы и получает ответы. Это одноэлементный класс.

Мы успешно завершили базовую настройку файлов для нашего проекта. Теперь наша иерархия проекта должна быть такой, как показано ниже

Настройка навигации по действиям

Прежде чем переходить к навигации по нашему приложению, создайте пользовательский интерфейс для действий с использованием макета ограничений с помощью xml-файлов здесь.

Наше основное действие будет отображать кнопки для регистрации активности и входа в систему. Новые пользователи должны зарегистрироваться, нажав кнопку регистрации. Когда они предоставят учетные данные и нажмут на регистрацию, пользовательские данные будут отправлены в Spring Backend, который размещен и сохранен. После этого приложение переходит к активности входа. Когда учетные данные пользователя, отправленные через активность входа, проверяются правильно в Backend, пользователь входит в систему и переходит на панель управления. Активность на панели инструментов отображается и приветствует пользователя.

Если пользователь дает неправильные учетные данные или недействительные учетные данные, об этом сообщается через тосты.

Навигация от одного занятия к другому может быть достигнута с помощью намерений, как показано ниже:

startActivity(new Intent(FromActivity.this, ToActivity.class));

У намерений есть два аргумента. Один из них - это контекст, для которого может быть передан объект действия. Другой - это класс действия, к которому переходит приложение. Эта навигация должна выполняться по нажатию кнопки. Поэтому нам нужно добавить к кнопкам OnClickListeners.

findViewById(R.id.btnToRegister).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View view) {
startActivity(new Intent(MainActivity.this, RegisterActivity.class));
}
});

Приведенный выше фрагмент кода добавляет к кнопке OnClickListener. Переопределяя функцию onClick (), приложение переходит от основного действия к зарегистрированному действию.

Действия регистрации и входа в систему используют модифицированный клиент для связи с Spring Backend. Они создают объект для класса User с учетными данными, предоставленными пользователем, и отправляют их через модифицированный клиент. На основе ответа от Backend приложение Android перемещается. Файлы, которые имеют дело с API, следующие:

Для регистрации пользователя-

Для входа пользователя -

Ура! Мы завершили кодирование нашего приложения! Пришло время запустить наше приложение.

Запуск приложения

Запуск нашего приложения настолько прост, что нам нужно просто щелкнуть значок запуска на панели инструментов Android Studio. После успешной сборки приложение будет развернуто на выбранном виртуальном устройстве Android (AVD). Перейдите по приложению и проверьте, все ли компоненты работают правильно. Результат будет таким, как показано ниже -

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

Регистрация

Страница входа

Панель управления

Ресурсы

  1. Bitbucket link для репозитория Spring Backend Project Repository
  2. Bitbucket link для репозитория проектов приложений Android
  3. Spring Backend размещен в облаке
  4. Учебник по созданию Spring Backend API
  5. Учебник по размещению Spring Backend API в облаке

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

Удачного обучения!