В данном видео мы с вами добавим логику обработки данных логина, который по факту будет email'ом, пароля и нажатия на кнопку «Войти». Откроем AuthActivity, перейдём в метод onClick в mOnEnterClickListener, сотрём «todo Обработка нажатия по кнопке» и сюда будем добавлять нашу логику нажатия по кнопке. Для начала проверим email. Для этого добавим метод private boolean isEmailValid. Соответственно, он должен нам вернуть boolean. Для этого добавляем return и проверим, является ли текст в поле mLogin пустым. TextUtils.is Empty(mLogin. getText). Если текст не пустой, то Valid. И также добавим корректность ввода самого email. Для этого используем Patterns.EMAIL_ADDRESS.matcher и передадим в него тот же текст из логина. И вызовем метод matches. Этот метод добавим в метод onClick. Соответственно, if isEmailValid, то мы можем переходить в приложение. Оставим комментарий: «Переход в приложение». Мы проверили ввод email. Теперь давайте проверим ввод пароля. isPasswordValid Соответственно, делаем то же самое, но не проверяем на корректность ввода email. И берём текст из поля mPassword, то есть проверяем, пустой ли пароль или нет. Если пароль пустой, то он некорректен. Пока что это будет единственная проверка на пароль. Далее мы добавим на логику проверки совпадение паролей в нашей базе. Перейдём опять-таки в mOnEnterClickListener и добавим isEmailValid и isPasswordValid. Если всё правильно, то — переход в приложение. Иначе... Иначе мы должны будем вывести ошибку с помощью Toast. Давайте добавим метод для этого. Назовём его showMessage. private void showMessage. И передадим в него StringRes int String. И с помощью Toast.makeText [ЗВУК] покажем наше сообщение; сначала передадим его контекст, саму строку string, которой мы передали наш метод, и длительность. Toast.LENGTH Тут уже зависит от того, как вы хотите — долго показывать сообщение или нет. Мы хотим долго, поэтому выберем LENGTH_LONG. И также вызовем метод show. Теперь этот метод мы будем вызывать, когда будет показываться какая-то ошибка. showMessage Он требует у нас создать строковый ресурс; давайте сделаем это. [ЗВУК] Скопируем предыдущую строку и изменим её. У нас будет login_input error. Напишем текст: «Ошибка ввода данных». И передадим её R.string login input_error Почему-то наше приложение не видит его. Если у вас возникает такая проблема, вы можете просто нажать кнопочку Sync Gradle, и у вас всё будет работать. Как видите, ошибка исправилась. Теперь давайте посмотрим, как это работает в эмуляторе. Нажмём Play, выберем эмулятор, запустим его. Сейчас не введён ни логин, ни пароль. Нажмём кнопочку «Войти». Ошибка ввода данных; успешно отобразился Toast. Теперь попробуем в поле «Логин» ввести валидный email. Пусть это будет любой текст. Пусть это будет set@set. ru. Нажмём «Войти». Ошибка ввода данных, потому что мы не ввели пароль. Добавим какой-нибудь текст в пароль. Нажмём «Войти». Ошибка не отображается, потому что мы все данные ввели корректно. Но почему у нас пароль отображает наши буквы, ведь пароль должен отображать звёздочки? Всё правильно, для этого перейдём в наш XML и исправим этот недочёт. Выберем пароль и введём ему inputType password — textPassword. И проверим ещё раз на эмуляторе. Введём пароль какой-нибудь. Ну как видите, теперь он не отображает наш пароль. В данном видео мы успешно добавили логику проверки корректности ввода данных и научились показывать ошибки.