Size: a a a

Android Developers

2021 March 11

В

Виктор in Android Developers
ненене)) У меня viewLifecycleOwner, я в домике)
источник

I

Ivansuper in Android Developers
Иван Чепёлкин
сначала нужно добить задачи) на выхах буду искать)))
Ладно хоть смешно опечатался
источник

OS

Oleg Suchkov in Android Developers
Привет всем, подскажите пожалуйста.
Я получаю данные, все парсится, всё замечательно, до тех по пока в JSON нет строки с кавычками, как на скрине. Как мне, при моём подходе,  распарсить такой JSON? Насколько я понимаю, мне нужно достать errorBody при ошибке парсинга и в ручную парсить. Но как мне получить errorBody при использовании конутин?
источник

OS

Oleg Suchkov in Android Developers
источник

OS

Oleg Suchkov in Android Developers
источник

I

Ivansuper in Android Developers
Виктор
ненене)) У меня viewLifecycleOwner, я в домике)
Мониторь в лог все выхлопы из livedata и смотри где какие приходят, где совпадает с багом, и проверяй уже отсюда
источник

В

Виктор in Android Developers
@Ivansuper Вот тут и прикол. Вот так я логирую события https://hatebin.com/twzqdwzzau
После пересоздания, когда приходят неверные данные, эти две println не работает вообще, но работает println в setList() адаптера, с помощью которого я и вижу, когда приходит неверный список. Потом после первого срабатывания обсервера он срабатывает еще раз, уже println обсервера работает. Там я вижу, что перед присвоением адекватного списка обсервер откуда-то присвоил ему неверный.
источник

L

Leonid in Android Developers
Oleg Suchkov
Привет всем, подскажите пожалуйста.
Я получаю данные, все парсится, всё замечательно, до тех по пока в JSON нет строки с кавычками, как на скрине. Как мне, при моём подходе,  распарсить такой JSON? Насколько я понимаю, мне нужно достать errorBody при ошибке парсинга и в ручную парсить. Но как мне получить errorBody при использовании конутин?
В самом Json кавычки внутри строки нужно эскейпить \"

Даже онлайн-парсинг на этом ломается.
источник

I

Ivansuper in Android Developers
Виктор
@Ivansuper Вот тут и прикол. Вот так я логирую события https://hatebin.com/twzqdwzzau
После пересоздания, когда приходят неверные данные, эти две println не работает вообще, но работает println в setList() адаптера, с помощью которого я и вижу, когда приходит неверный список. Потом после первого срабатывания обсервера он срабатывает еще раз, уже println обсервера работает. Там я вижу, что перед присвоением адекватного списка обсервер откуда-то присвоил ему неверный.
Из каких еще мест вызывается setList?
источник

В

Виктор in Android Developers
Ivansuper
Из каких еще мест вызывается setList?
только обсервер. Это точно. Если убрать его - setList никогда не вызовется
источник

I

Ivansuper in Android Developers
Принты в таком случае не могут просто пропасть
источник

I

Ivansuper in Android Developers
Последовательное выполнение никто не отменял
источник

В

Виктор in Android Developers
Ivansuper
Принты в таком случае не могут просто пропасть
Я вот тоже не знаю почему. Может какой-то конфликт случается там.
источник

I

Ivansuper in Android Developers
Выводи в лог с тегом и фильтруй в логкате чтобы не ошибиться лишний раз
источник

I

Ivansuper in Android Developers
Виктор
Я вот тоже не знаю почему. Может какой-то конфликт случается там.
Подключи дебаггер и поставь бряку
источник

I

Ivansuper in Android Developers
Смотри по ней что приходит
источник

I

Ivansuper in Android Developers
И внутри setList и сразу в коллбеке лайвдаты
источник

OS

Oleg Suchkov in Android Developers
Leonid
В самом Json кавычки внутри строки нужно эскейпить \"

Даже онлайн-парсинг на этом ломается.
Я понимаю что нужно эскейпить их, но могу я обработать это как-то в своём приложении?
источник

В

Виктор in Android Developers
Ivansuper
Смотри по ней что приходит
Первый прямоульник - список, который приходит в RV. Второй - те два println() из обсервера, которые не вызвались до первого прямоугольника. Третий - список, который приходит в RV во второй раз
источник

L

Leonid in Android Developers
Oleg Suchkov
Я понимаю что нужно эскейпить их, но могу я обработать это как-то в своём приложении?
По идее в ретрофите должны быть какие-то обработчики типа onError / onFail.
источник