Kanstantsin
Почему в конце ?
Никита 🙃
Спасибо я думал он в конце 😀
ну так зачем сразу отменяешь, если знаешь?
Kanstantsin
В какой момент ты подписался ?
Kanstantsin
В тот и onSubscribe
Никита 🙃
NPE — лучший exception для данной ситуации. Кстати, самый компактный способ его бросить — это throw null; :)
Спасибо. не, мне лучше не такой компактный способ) Мне нужен более понятный месседж
Demyan
Подскажите что нибудь простое и клёвое для использования REST API?
Mike
Retrofit. Не очень простой, в меру клёвый, с пивом покатит.
Demyan
Вот я нашел его да, но не понимаю его логику, сложный он какой-то
Demyan
По факту REST api клиент, просто шлет http\s запросы и получает ответ, а там какие то дикие конструкции чтобы один гет отправить
Alex
если делать без ретрофита, конструкции будут ещё более дикие)
Demyan
что не понятно? в чём сложность?
Хотел но не смог найти пример, не под андроид, а просто на джаве для начала пример вызова REST api
Demyan
Декларация интерфейса с парой аннотаций это дикость?
Про интерфейс я понял, но не понял как эти функции в нем описанные вызывать
Аброр
Привет всем, возможно ли сделать JSON парсер где поле может быть либо объектом либо массивом?
Demyan
и как вообще после интерфейса делается
Alex
Привет всем, возможно ли сделать JSON парсер где поле может быть либо объектом либо массивом?
кастомный десериалайзер, сам логику пишешь как разбирать элементы
Аброр
я хз, ебанутый rest api сервер сделали, когда данных нет поле становится массиво, когда есть объектом
Demyan
что не понятно? в чём сложность?
Плюс не понятно мне зачем вообще вся дикость с созданием класса для каждого принимаемого объекта из апи
Ivansuper
Пол минуты — нашел это в инете. Ну серьезно
Demyan
ну и что, я тоже как бы искал
Ivansuper
Суть в том, что интерфейсами ты описываешь REST, потом через специальный билдер получаешь рабочий класс на основе этого интерфейса, который ретрофит тебе делает сам
Ivansuper
И под капотом все уже сконструировано
Konstantin
raw.replace("{}","[]") ? )))
Аброр
а что за json либа?
не совсем понял, ретрофит использую с gson
Demyan
И под капотом все уже сконструировано
получается мне нужен интерфейс-"класс", ретрофит-класс, и класс-модель, для получения результатов в нее?
Ivansuper
Ну типа. Более того ретрофит умеет в Gson и сможет тебе сразу модель вернуть
Alex
не совсем понял, ретрофит использую с gson
у gson'a делаешь кастомный typeadapter, в нём разбираешь json-элемент основываясь на своей логике) как пример - http://www.javacreed.com/gson-typeadapter-example/
Alex
т.е. на выходе получится твой тип, в этом типе будет 2 поля, одно - массив, второе - объект. в зависимости от логики будет заполняться какое-то одно
d
Подскажите как сделать такую floating вьюху
d
Или где взять
Аброр
может быть это будет полезным) https://github.com/robertlevonyan/customFloatingActionButton
d
спс
d
Подскажите как сделать такую floating вьюху
если у кого еще есть идеи напишите плес
Demyan
А достаточно ли защиты для REST api в виде api-токена + https?
Yernar
если у кого еще есть идеи напишите плес
Это простое диалоговое окно которое всплывает снизу. Рут вью у него cardview.
d
Диалоги посредине экрана же
Yernar
Есть библиотека: dialogplus легко гуглится. Вот там диалоговые окна можно хоть сверху хоть снизу отображать. Помимо этого там можно с анимациями поиграть
Yernar
Или вообще такую штуку модно реализовать фрагментом который на половину активити(фрагмента) всплывает
Siyar
Привет ребят, может кто подскажет, короче есть standalone app для аутентификации. можно ли его юзуть и для веба и для андроида. Для андроида на данный момент получаю acess token и отправляю на сервер сайд а на вебе когда так же делаю получаю ошибку типо токен выдан на другой айпи
Mike
забыл сказать, с каким вообще сервисом происходит работа
Dyno
Посмотрите пожалуйста на этот метод. Это нормальный код? Задача: получить получить жанры фильмов, отделить их запятой и отправить в строку (String). String genres = getGenres(body.getGenres()); private String getGenres(List<Genre> genres) { StringBuilder genresAsString = new StringBuilder(); for (int i = 0; i < genres.size(); i++) { genresAsString.append(genres.get(i).getName()); if (i != genres.size()-1) genresAsString.append(", "); } return genresAsString.toString(); }
Dyno
может скрином понятнее будет
Dyno
просто рандомный метод, который я решил отправить вам на ревьювинг. если я так на работе писать буду, это нормальный код?
Mike
просто рандомный метод, который я решил отправить вам на ревьювинг. если я так на работе писать буду, это нормальный код?
А зачем так делать? :) Есть вариант чуть проще — добавлять запятую безусловно, а после цикла, если билдер не пустой, обрезать последнюю пару символов — setLength
Mike
а ещё есть TextUtils.join
Siyar
забыл сказать, с каким вообще сервисом происходит работа
Vk связан такой flow с тем что я не могу получить auth code в их андроид сдк
Dyno
А зачем так делать? :) Есть вариант чуть проще — добавлять запятую безусловно, а после цикла, если билдер не пустой, обрезать последнюю пару символов — setLength
да, тоже думал, можно просто обрезать последние 2 символа. можно и так конечно. но я подумал, что правильнее будет спросить не последняя ли это строка. если последняя, то не ставить запятую
Siyar
получаем auth code и в redirect uri указываем бекенд url для логина
Mike
получаем auth code и в redirect uri указываем бекенд url для логина
хмм, кажется, есть какой-то флоу, который авторизовывает только при redirectUri=vk.com/blank.html
Siyar
оо спасибо сейчас попробую
Mike
да
влад
А в идее как-то можно отключить сборку отдельных модулей гредлом на локальном пк? В жава проекте есть андроид модули, а сдк не у всех стоит, сейчас решаем проблему комментированием модулей в файле настроек гредла, что костыльно. Мб есть опция, чтобы гредл собирал только модули, от которых есть зависимость, а не вообще все?
Heleg
Vk связан такой flow с тем что я не могу получить auth code в их андроид сдк
https://github.com/VKCOM/vk-android-sdk/tree/version2.0?files=1 попробуй бета версию 2.0
***
на чём лучше всего писать андройд приложения ?
Mike
на компьютере
***
а софт
Mike
а софт
а что, есть много вариантов?
***
хз какой варинат лучший ?
Siyar
хз какой варинат лучший ?
Котлин прикольно
Siyar
Попробуй разные
Siyar
Что понравится
***
нужен вариант где .so файлы можно писать в проекте
Mike
нужен вариант где .so файлы можно писать в проекте
ты чего хочешь от нас, какую задачу пытаешься решить и какой вопрос задать?
***
в приложении есть .so файл использует функцию
***
int __cdecl Java_xxx_MainActivity_test(int a1, int a2, int a3)