В данном видео я продемонстрирую,
как запускать экран профиля через нажатие кнопки «Войти».
Обратите ваше внимание, что наш UI уже проинициализирован.
Рассмотрим наш ProfileActivity; в нём есть mPhoto, mLogin и mPassword.
Соответственно, ImageView и два TextView; и есть OnPhotoClickListener.
Он нам пригодится позже, поэтому на данный момент он пустой.
Соответственно, мы инициализируем все эти поля,
то есть находим их по их id.
В предыдущих уроках мы забыли добавить id для фото,
поэтому оно подсвечивается красненьким; давайте исправим этот недочёт.
Перейдём в layout,
ac_profile и добавим id.
И назовём его ivPhoto.
Перейдём в ProfileActivity.
Синхронизируем, чтобы он у нас появился.
Смею заметить, что это не простой ImageView,
а AppCompatImageView.
Наш UI проинициализирован.
Теперь давайте попробуем передать некоторые параметры и
запустить наш ProfileActivity.
Для этого перейдём в AuthActivity.
По нажатию на кнопку
«Вход» при правильно
введённом и пароле мы будем его запускать; для этого мы будем использовать интенты.
Intent start
ProfileIntent равняется new Intent.
В качестве передаваемых параметров введём контекст,
то есть this, а если точнее, то AuthActivity.this,
и класс, в который мы будем переходить, то есть это ProfileActivity.class.
[ЗВУК] Будем
использовать метод startActivity.
startActivity Передадим в него наш startProfileIntent.
[ЗВУК] Теперь
это будет работать, но мы забыли добавить в него параметры.
Для этого в startProfileIntent
добавим putExtra.
И ему нужно будет ввести ключ и значение;
добавим его в ProfileActivity.
public static String
[ЗВУК]
EMAIL_KEY (пусть принимает точно
такое же значение, как название самого поля) и PASSWORD_KEY.
[ЗВУК] Берём
эти key:
EMAIL_KEY из
ProfileActivity и передаём
в него значение из mLogin, так как это и будет наш email.
mLogin.get Text;
getText.to String.
И добавим в него
пароль, PASSWORD_KEY.
mPasswordgetText.toString.
Чтобы получить переданные данные,
воспользуемся методом getIntent: getIntent.getExtras.
[ЗВУК] Для
этого создадим Bundle, в который мы передадим эти Extra.
Bundle
bundle.getString и получим его по ключу.
Сначала получим email и затем — пароль.
[ЗВУК]
В поле
email установим значение email и в поле пароля установим значение пароля,
что логично.
mEmail mLogin.setText и
mPassword.
setText.
И посмотрим,
как это будет работать в эмуляторе.
Но перед этим добавим нашу ProfileActivity в манифест,
ведь если мы её не добавим, она не будет работать.
ProfileActivity [ЗВУК]
И запустим наше приложение в эмуляторе.
[ЗВУК] Введём
какой-нибудь email
[ЗВУК] и какой-нибудь пароль.
Нажмём «Войти».
Как видите, всё успешно передалось.
В данном занятии мы научились с вами запускать другую
Activity с помощью Intent и передавать параметры.