Anatoly
Есть 2 стула
FromSi
Andrei
Всем привет. Есть вот такой вот ответ от сервера в виде картинки(в хроме с помошью stetho отображается картинка). Какой типо ответа нужно поставить в Retrofit интерфейсе, чтобы можно было получить ее?
Gregory
Andrei
а не проще напрямую сделать http-запрос?
Можете объяснить, что именно вы имеете в виду? Сейчас делается запрос, в него добавляется авторизационный токен. Сейчас это выглядит так: https://someUrl/someMethod/picture.jpg Метод GET
Anton
Gregory
Anton
В зависимости от того что придет, построить свой класс модели. Его и ставить как ответ ретрофита
Gregory
я имею в виду не использовать никаких библиотек, а просто отправить HTTP запрос руками
Anton
Anton
всяко удобнее чем через курл
Kanstantsin
я так понимаю человеку не это надо
Gregory
Andrei
Andrei
Gregory
а почему нельзя просто через okhttp/URLConnection это сделать?
Kanstantsin
что-то типо header: application/json указать
Мумитроль
Kanstantsin
типо чтобы формат возращаемых данных менять
FromSi
Если картинку хочешь получить, то Picasso :D
Kanstantsin
может же и raw прийти
Мумитроль
Картинку как вообще использовать в приложении будете?
Микола
Glide
Микола
Fresco
Kanstantsin
ну пикассо ок, если есть прямая ссылка на картинку
Gregory
HTTPGetRequestFactoryFactoryProviderModel
Kanstantsin
Andrei
есть Glide, но он почему-то не грузит картинку, потому что метод требует авторизационный токен. Я подкидываю этот токен с помощью GlideUrl, но это нифига не работает. В ответ получаю от Glide FileNotFoundException, но я точно знаю, что картинка там есть, потому что получал ее и без авторизации
Kanstantsin
Gregory
Kanstantsin
в хидеры или параметрами какими и т.д.
Anton
Anton
Kanstantsin
то есть может ты вешаешь токен в параметры запроса, а надо в хидер и т.д.
Kanstantsin
в okhttp надо интерцепторы юзать
Kanstantsin
как я понимаю
Kanstantsin
тоже вариант
Andrei
val headers = LazyHeaders.Builder().addHeader("Authorization", accessToken).build()
val glideUrl = GlideUrl(url, headers)
да, токен в header
Kanstantsin
picasso так юзает okhttp клиент внутри себя, можно взять его и в него поставить interceptor который будет токен подкидывать в хидеры запросов
Kanstantsin
Kanstantsin
и если нет то смотреть почему
Andrei
да я бы с удовольствием подкидывал токен через интерцептор, но не нашел норм инфы как прикрутить его к глайду
Sergey F
Sergey F
Sergey F
Kanstantsin
какую ошибку ?
Kanstantsin
ловишь
Kanstantsin
именно в запросе какая ошибка приходит с сервака
Kanstantsin
не FileNotFound это уже эксепшен андройдовский
Kanstantsin
а что ответил сервак в response
Kanstantsin
можно и в дебаге отловить на худой конец, если влом ставить charles или фидлер
Andrei
какую ошибку ?
я повесил listener на глайд, там приходит GlideException с текстом, что произошел FileNotFoundException, но опять таки, картинка приходит нормально, если я делаю запрос не через глайд
Andrei
Akb
Kanstantsin
Kanstantsin
нужно смотреть что внутри приходит, погляди может можно повесить какой калбэк чтобы видеть responseBody например
Kanstantsin
не сконверченный уже
Kanstantsin
чтобы увидеть какой код, и т.д.
Микола
глянь запросы через андроид profile r
FromSi
сейчас посмотрю
Хорошо, походу я чего-то не понимаю...
1. Зачем ему token для Glide, если картинка показывается и без token'a?
2. Если нужно картинки загружать, то почему бы не попробовать Picasso (Он и мало весит и для картинок как раз)?
Andrei
Огромное всем спасибо за советы, вы очень помогли!
Больше всего помог тот, кто посоветовал посмотреть запросы через андроид profiler, потому что я долбился в глаза и забыл вызвать функцию, которая формирует токен особым образом из "сырого" токена. В профайлере я это заметил. Сейчас все ок) Еще раз спасибо)
Andrei
Артем
Добрый день! Хочу создать простенькое приложение, где будет обычный список друзей в вк (имя и аватарка). В главной активити нужно ввести логин и пароль, после чего вывести список друзей. Со списком вроде все понятно, но не могу разобраться как выполнить вход в аккаунт под своим логином и паролем. Подскажите пожалуйста куда копать, что использовакть?
Gregory
Gregory
если её вообще всё ещё дают
Артем
а как тогда можно сделать?(
Mike
оф. приложению наверняка дают ;)
Gregory
Gregory
а как тогда можно сделать?(
private void openLogin(){
getPackageManager().getApplicationInfo("com.vkontakte.android", 0);
Intent intent=new Intent("com.vkontakte.android.action.SDK_AUTH");
intent.addCategory(Intent.CATEGORY_DEFAULT);
intent.putExtra("scope", "тут права через запятую");
intent.putExtra("client_id", тут твой id приложения);
startActivityForResult(intent, APP_RESULT);
}
в ответ в onActivityResult приходит токен в экстре access_token и id пользователя в user_id
Артем
всем спасибо, буду разбираться!
Gregory
ещё есть такая готовая активити для авторизации через браузер, в качестве фолбэка
Gregory
из одного моего проекта за 5 минут
Артем
спасибо большое, посмотрю!👍
Roman
Кто знает почему может не скролиться превьюшка вью в студии на вкладке текст? на вкладке дизайн все отлично скролится
раньше и на вкладке текст скролилось