В данном занятии мы научимся получать изображение из галереи.
И также мы немножко изменим логику
логина в приложение так,
чтобы вместо boolean нам возвращался пользователь, как это и должно быть.
Для этого перейдем в shared preferences helper, сотрем входной
параметр user, вместо этого добавим два string.
Первый стринг будет у нас login,
второй будет password.
И в качестве выходного параметра будем выдавать ему user.
User get login заменяем на login
и user get password заменяем на password.
В качестве return возвращаем ему пользователя, которого он нашел в
нашем shared preference хранилище.
Если же он никого не нашел, то возвращаем ему null.
И это будет абсолютно правильная тестовая бизнес-логика.
Так и должен работать сервер.
Теперь изменим использование этого метода.
Стираем здесь new user и перед этим создадим его.
User user = наш user
будет равняться результату логина.
Соответственно, если
юзер != null,
то можно переходить на следующий экран.
И в качестве параметра следующего экрана мы будем передавать user,
которого мы получили из нашего хранилища с помощью метода login.
Иначе у нас будет отображаться ошибка логина.
Вот так и должна работать наша авторизация.
Далее, чтобы получить изображение из галереи, перейдем в profile activity.
[БЕЗ_ЗВУКА] В
mOnPhotoClickListner мы добавим метод, который мы с вами сейчас и напишем.
Private void open
gallery Здесь мы создадим intent,
с помощью которого мы будем открывать нашу галерею.
New intent.
Для начала зададим ему тип,
intent.setType в качестве типа у нас будет image.
/ * Также зададим ему action.
В качестве action мы будем использовать intent.get content.
Action get content.
И вызовем метод start activity for result.
Start activity for result, в который передадим наш intent и request code,
который мы сейчас создадим.
Он должен быть типом int и request code.
Зададим ему значение и
передадим его в start activity for
result метод.
Переменуем его в request code
photo, get photo.
И также
нам нужно переопределить метод on activity result.
Давайте этим и займемся.
OnActivity result.
Сюда нам приходят три параметра, RequestCode,
ResultCode и data, то есть данные.
If если RequestCode равен
нашему RequestCode и
ResultCode равняется activity
result activity
result ok
и data не равна null,
то мы получаем uri photo, uri,
которая является ссылкой на файл,
через data.getData.
И устанавливаем его в наше изображение.
PhotoUri.
В противном случае,
если наше условие не соответствует требованиям,
то вызываем супер-метод OnActivityResult.
По клику на фото вызовем метод OpenGallery.
Вот и все.
Теперь посмотрим, как работает наше приложение.
Запустим эмулятор.
[БЕЗ_ЗВУКА] Выберем login.
Выберем пароль, вернее, введем пароль,
нажмем «войти», нажмем на наш image view,
выберем какую-нибудь картинку, пусть это будет собачка.
Как вы видите, картинка успешно установилась,
то есть мы открыли галерею и выбрали картинку.
В данном уроке мы научились получать thumbnail картинки из галереи.