Андрей
при этом это все равно будет MVC
Дмитрий
у нас же модельки все DI
DI это не обязательно интерфейсы.
Denis
DI это не обязательно интерфейсы.
ага. я просто заабыыыыыллл
german
MVP или MVC?
Mike
Где вы видели MVC в Android?
Emil
Communizm
Андрей
Где вы видели MVC в Android?
Устроился на работу @ получил проект на MVC
Олександр
Шутка.
Андрей
Как выглядит MVC?
как каша, активити и фрагменты на > 1000 строк, запросы в сеть оттуда же
Андрей
хотя при этом хоть более менее тестируемо
Anonymous
Anonymous
не?
Андрей
И где там модель, вью и контроллер?
вью - в xml, контроллер - активити/фрагменты, модели - отдельно
Андрей
каша - повсюду
Mike
чёт я бы не стал называть это MVC
Mike
это монолит или каша)
Андрей
ну все таки observable получающие результат из сети вынесены отдельно, тестовые инстансы есть, DI - без фреймворков через статику
Влад
Это mvc, чем не mvc?
Mike
Это mvc, чем не mvc?
Ничем? Если в активити полно findViewById, какой из неё контроллер?
Nikita
Никого не смущает, что контроллер имеет жизненный цикл?
Nikita
всё имеет жизненный цикл
верно, но тут он не контроллируется
Nikita
?
Ну не получится переиспользовать контроллер, потому что каждйы раз новйы инстанс (активити же тут в роли контроллера)
Андрей
верно, но тут он не контроллируется
ну если ориентация заблочена все почти нормально
Mike
ну если ориентация заблочена все почти нормально
если ориентация заблочена, то баги откладываются до продакшена
Evgeny
Она становится гавноконтроллером)
Nikita
но от этого же она не перестаёт быть контроллером?
НУ как-то не хочется называть это MVC, потому что контроллер тут предствляется как нечто, что имеет жизненный цикл, который задан системой, а никак не разрабом.
Evgeny
Загуглите просто mvc in android
Evgeny
Я вот ни разу не видел проекта на mvc
Evgeny
как и все остальные наверное
Evgeny
на андроиде
Alexey
Вы принципиально это в https://t.me/Android_Architecture не обсуждаете?) Боитесь, тапками забросают?
Павел
Всем привет. у кого есть эта книга и можете поделиться? https://s3.amazonaws.com/titlepages.leanpub.com/retrofit-love-working-with-apis-on-android/hero?1518066652
Павел
ну это же книга)
Павел
если есть другая хорошая то буду рад если поделитесь
Mike
если есть другая хорошая то буду рад если поделитесь
в мире достаточно много хороших книг, не менее тысячи, я думаю
Павел
вечный троллинг. Вы поняли что я имел ввиду. книга по ретрофит.
Pavel
Друзья, подскажите пожалуйста, как правильно запилить список картинок, при этом по нажатию на картинку она разворачивается на весь экран? Что то типа того как в мессенджерах сделано. Есть ли какие то лучшие практики на этот счёт?
Mike
вечный троллинг. Вы поняли что я имел ввиду. книга по ретрофит.
Ещё раз: нахрен книга по библиотеке? В ретрофите меньше строк кода, чем строк текста в средней книге.
Павел
Тогда вопрос. для создания глобального обработчика ошибок какой подход лучше? 1. базовый обсервер который обрабатывает респонсы и отсылает дальше 2. интерцептор в okhttp3
Mike
http
А какой нужен результат? Хочется закинуть их в onFailure вместо onResponse как отдельные исключения?
Павел
А какой нужен результат? Хочется закинуть их в onFailure вместо onResponse как отдельные исключения?
все что напишу дальше - временный костыль. Вобщем если пользователь заходит со второго девайста то токен авторизации на сервере перетирается. И если он был залогинен на первом девайсе, то он так и остается там залогинениы с токеном в преыеренсах но уже не валидным токеном. И когда пытается сделать запрос получает ошибку что токен не валиден. Я думаю пока ловить эту ошибку и чистить преференс и кидать его на логинку.
Mike
Не особо понятно, как сделать это на уровне ретрофита, т. к. он может запускаться и не из Activity, а из Service, например.
Павел
не совсем. на бекенде сесия вечная(пока). я говорил пока так. ну вечная всмысле по времени не протухает. только можно ее перетереть втрым логином с другого девайса
Павел
Mike
Как там в идеальном мире живётся?)
не знаю, меня туда не пускают
Mike
вот я сделал но не колбек а интерцептор по примеру
как интерцептор получает доступ к Activity и делает finish/start?
Павел
по этому примеру https://futurestud.io/tutorials/retrofit-2-catch-server-errors-globally-with-response-interceptor
Konstantin
как интерцептор получает доступ к Activity и делает finish/start?
Ошибка прокидывается в презентер и он говорит вью что сделать.
Konstantin
Самый простой способ
Павел
как интерцептор получает доступ к Activity и делает finish/start?
вот это и есть главный вопрос. Можно дагером контекст заинжектить и вызвать активити. но выглядит все как говнокод какойто
Mike
по этому примеру https://futurestud.io/tutorials/retrofit-2-catch-server-errors-globally-with-response-interceptor
там ретрофит и интерцептор создаются внутри активити)
Павел
только еще понт в том что нужно отписаться от файрбейза при этой ошибке
Mike
короче, я бы сделал свой Callback, который принимает Activity в конструктор и проверяет ответ сервера.
Mike
какой именно колбек? я юзаю rx
см. его способы перехватывать ошибки
Павел
и не могу найти номальный пример как сделать глобальный колбек с rx. чтобы он перехватывал ошибки и дальше отправлял ответы. в поискахнаткнулся на эту книгу, думал мож там чтото подробней, чем в этой статье
Vladimir
Дак у тебя будет onError там и оьрабатываешь ошибку
Konstantin
Добрый день! Коллеги, кто как организует роутинг в приложении? Какие основные принципы/подходы используете? Как вписываете это в паттерны типа mvp/mvvm?
Alexey
PublishSubject например глобальный, к которому можно подписываться
на него подписать роутер, который закроет все и перезапустит
Павел
PublishSubject например глобальный, к которому можно подписываться
вот да чт-то такое и нужно. это уже в доке rx копать правильно?
Alexey
вот да чт-то такое и нужно. это уже в доке rx копать правильно?
можно в гугле https://medium.com/@poudanen/%D0%BF%D0%BE%D0%BD%D0%B8%D0%BC%D0%B0%D0%BD%D0%B8%D0%B5-rxjava-subject-publish-replay-behavior-%D0%B8-async-subject-35ad50cd1064