Этот урок посвящен созданию страницы регистрации в Android-приложении на Kotlin с использованием базы данных SQLite.
Дизайн страницы регистрации
Создан новый пустой проект в Android Studio. Разработан дизайн страницы регистрации. Используется LinearLayout с вертикальной ориентацией как основной слой. Задний фон устанавливается атрибутом background. Текст оформлен с помощью TextView. Стрелки из исходного кода удалены. Стили применяются в режиме дизайна.
Три поля EditText предназначены для ввода логина (UserLogin), email (UserEmail) и пароля (UserPass). Для TextView установлен шрифт Inter (полужирный), размер, цвет, выравнивание по центру и верхний отступ (170 пикселей). Текст надписи: «Создайте аккаунт».
Для каждого поля EditText заданы: ID, ширина (220 пикселей), высота (50 пикселей), подсказка (hint), цвет подсказки, верхний отступ (20 пикселей), выравнивание по центру и цвет текста. Тип ввода для email и пароля настроен как textEmailAddress и textPassword соответственно.
Кнопка Button (ButtonRec) имеет ширину 220 пикселей, надпись «Регистрация», жирное начертание, выравнивание по центру, фоновый цвет, верхний отступ (30 пикселей), а также настраиваемый размер и цвет текста.
Реализация функционала
В файле Kotlin (*.kt) созданы переменные для ссылок на элементы дизайна, используя findViewById. Обработчик события setOnClickListener кнопки выполняет следующие действия:
- Получение данных из полей EditText (UserLogin, UserEmail, UserPass) с удалением лишних пробелов (trim()).
- Проверка на заполнение всех полей. При наличии пустых полей выводится всплывающее сообщение (Toast).
- При заполнении всех полей создается объект User с полученными данными.
Класс User
Класс User имеет конструктор, принимающий логин, email и пароль, которые непосредственно устанавливаются в поля класса. Это упрощает создание объектов пользователя.
База данных SQLite
Для работы с базой данных SQLite создан класс DbHelper, унаследованный от SQLiteOpenHelper.
Методы onCreate и onUpgrade
- onCreate: Создает таблицу users со столбцами ID (целое число, первичный ключ), login, email и password (текстовые поля). Используется команда execSQL для выполнения SQL-запроса.
- onUpgrade: Удаляет таблицу users и вызывает onCreate для пересоздания базы данных.
Метод addUser
Функция addUser принимает объект User и добавляет его в таблицу users с помощью команды insert. База данных закрывается после добавления.
Разрешения и манифест
В файле AndroidManifest.xml добавлено разрешение READ_EXTERNAL_STORAGE для доступа к внешнему хранилищу (где может храниться база данных SQLite). Указана максимальная версия SDK.
Интеграция с MainActivity
В MainActivity создается объект DbHelper, которому передается контекст приложения. Вызывается функция addUser с созданным объектом User. После успешной регистрации поля EditText очищаются, и выводится сообщение о добавлении пользователя.
Создана страница регистрации с функционалом добавления пользователей в базу данных SQLite. Протестирована работа системы регистрации. Авторизация будет реализована в следующем уроке.