Decub.Ru

Android Регистрация и Авторизация на PHP, MySQL и JSON

В этом уроке я собираюсь объяснить, как построить полную систему входа и регистрации в android с помощью PHP, MySQL и SQLite. Кроме того, этот учебник охватывает, как построить простой API с помощью PHP и MySQL.

Ниже приводятся окончательные результаты этого проекта.

API (Интерфейс прикладного программирования)

Для взаимодействия с базой данных MySQL необходимо сначала построить rest API. Задача Rest Api-получить запрос от клиента, взаимодействовать с базой данных и, наконец, вернуть ответ клиенту. Итак, сначала мы создадим простой PHP, MySQL API. Наш API не ниже задания.

⇒ Принимает запросы в методах GET / POST
⇒ Взаимодействие с базой данных путем вставки / извлечения данных.
⇒ Наконец даст ответ обратно в формате JSON

1. Загрузка и установка WAMP

Скачать и установить сервер WAMP с www.wampserver.com/en/. После установки запустите программу со старта ⇒ все программы ⇒ WampServer ⇒ StartWampServer. Если вы находитесь на Mac, вы можете использовать MAMP то же самое.

Вы можете проверить свой сервер, открыв адрес http://localhost / в вашем браузере. Также вы можете проверить phpmyadmin, открыв http://localhost/phpmyadmin

2. Создание базы данных и таблиц MySQL
Откройте phpmyadmin и выполните следующие запросы, чтобы создать необходимую базу данных и таблицу. Здесь мы создаем только одну таблицу пользователей для хранения регистрационной информации пользователей.

3. Создание проекта PHP
Перейти место, где wamp установлен и открыть папку www. Расположение установки по умолчанию wamp будет C:/wamp. Ниже приводится окончательная структура проекта PHP мы создадим в этой статье.

1. Перейдите в папку www и создайте папку с именем android_login_api. Это будет корневой каталог нашего проекта.

2. В android_login_api создайте другой каталог с именем include. В этой папке хранятся все вспомогательные классы.

3. Теперь внутри include создайте php-файл с именем Config.php и добавить ниже содержание. Замените значения DB_USER и DB_PASSWORD на ваши.

4. Создайте класс С именем DB_Connect.php в include и вставить ниже кода. В этом классе мы обрабатываем открытие и закрытие соединения с базой данных.

5. Создайте DB_Functions.php внутри включают с ниже содержания. Этот файл содержит функции для хранения пользователя в базе данных, получить пользователя из базы данных. Вы также можете добавить такие методы, как обновление пользователя, удалить пользователя.
уникальный id-я генерирую уникальный id пользователя в php с помощью функции uniqid(”, true). ID пользователя образца будет как 4f074eca601fb8.88015924
Зашифрованный пароль – пароли хранятся с использованием метода base64_encode. Каждый пароль должен содержать два столбца в базе данных. Один-хранить зашифрованный пароль, а другой-хранить соль, используемую для шифрования пароля.

3.1 Конечная Точка Регистрации

Теперь у нас есть все необходимые классы готовые. Давайте начнем создавать конечную точку для регистрации пользователей. Эта оконечная точка принимает name, email почту и password как параметры POST и хранит пользователя в базе данных MySQL.

6. В корневом каталоге android_login_api создайте регистр.php и ниже код.

3.2 Конечная Точка Входа

Так же, как регистрация, нам нужно создать другую конечную точку для входа в систему. Эта конечная точка принимает электронную почту и пароль в качестве параметров POST. После получения электронной почты и пароля, он проверяет в базе данных для соответствующего пользователя. Если пользователь совпадает, это вторит успеху ответ json.

7. Создайте php-файл с именем login.php внутри android_login_api с содержанием ниже.

3.3 типы ответов JSON

Ниже приведены различные типы ответов JSON для конечных точек регистрации и входа в систему.

3.3.1 Регистрация

URL: http://localhost/android_login_api/register.php

Параметры: name, email, password

Ответ об успешном завершении регистрации

Ошибка регистрации при хранении

Ошибка регистрации-Пользователь уже существует

3.3.2 Вход

URL: http://localhost/android_login_api/login.php

Параметры: email, password

Успех Входа

Ошибка входа-неверное имя пользователя пароль

Теперь мы завершили PHP часть. Давайте начнем часть android.

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

Приложение, которое мы собираемся построить, будет иметь три простых экрана: экран входа, экран регистрации и экран приветствия.

1. В Android Studio создайте новый проект из File ⇒ New Project и заполните все необходимые данные.

2. Создайте три пакета с именем app, activity и helper в папке src.

3. Открыть build.gradle и добавить поддержку библиотеки волейбол, добавив

4. Открытая strings.xml расположен в разделе res ⇒values и добавить ниже строковых значений.

5. Открытые colors.xml расположен в разделе res ⇒ values и добавить значения цвета. Если Вы не найдете colors.xml, создайте новый файл с именем.

6. В разделе app приложения создайте класс С именем AppConfig.java и добавьте под кодом. В этом классе мы объявляем URL-адреса входа и регистрации. Во время тестирования необходимо заменить ip-адрес на IP-адрес локального компьютера.

7. В app приложения, создайте класс с именем AppController.java. Этот класс простирается от приложения, которое должно быть выполнено при запуске приложения. В этом классе мы инициируем все объекты залпового ядра.

8. Теперь открываем AndroidManifest.xml и добавить разрешение  INTERNET  Добавьте класс AppController в тег <application>. Также добавьте другие действия (LoginActivity, RegisterActivity и MainActivity), которые мы собираемся создать в ближайшее время. Я держу LoginActivity в качестве запуска активности, как это должно быть видно на запуске приложения.

9. В разделе пакет помощника создайте класс С именем SessionManager.java и добавьте под кодом. Этот класс поддерживает данные сеанса в приложении с помощью SharedPreferences. Мы храним логический флаг isLoggedIn в общих настройках, чтобы проверить статус входа.

Ну собственно на этом пока все продолжения будет в следующим уроке!
Всем спасибо за внимание и так же делимся статьей в соц сетях и подписываемся на рассылку email (над поминаю спама не будет так как мы рассылаем только интересные наши статьи)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *