Size: a a a

Cicerone Chat (RUS)

2018 April 18

P▽

Picty ▽ in Cicerone Chat (RUS)
Konstantin Tskhovrebov
это сложно описать коротко. может кто-то рапишет, кто уловил идею.
изначально логин с регой представляются как отдельной веткой от активити - которую при необходимости можно заглушить(закрыть/вернуться к корню)

как я понял с фрагментом-контейнером по сути это же предложение, но сделать некий контейнер-фрагмент - в который класть в итоге наши отдельные фрагменты, а как работа будет сделана - просто закрыть этот фрагмент и мы снова окажемся на корне.
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
чичероне только инструмент для навигации, остальное - это архитектурные вопросы
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
попробуйте узнать в архитектурном чате
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
как создавать флоу и компоновать экраны
источник

KT

Konstantin Tskhovrebov in Cicerone Chat (RUS)
Picty ▽
изначально логин с регой представляются как отдельной веткой от активити - которую при необходимости можно заглушить(закрыть/вернуться к корню)

как я понял с фрагментом-контейнером по сути это же предложение, но сделать некий контейнер-фрагмент - в который класть в итоге наши отдельные фрагменты, а как работа будет сделана - просто закрыть этот фрагмент и мы снова окажемся на корне.
да, все именно так
источник

P▽

Picty ▽ in Cicerone Chat (RUS)
Ещё вариант был - реализовать свою команду, которая будет НЕ заменять фрагмент а класть логин и регу прям поверх - т.к. это временные экраны - это выглядит норм.
ну а как закончили с ними работу - убираем их.
источник

P▽

Picty ▽ in Cicerone Chat (RUS)
Konstantin Tskhovrebov
да, все именно так
ок, спасибо за идеи-ответы
источник
2018 April 20

P▽

Picty ▽ in Cicerone Chat (RUS)
@terrakok
Подскажите пожалуйста, как лучше организовать передачу данных между фрагментами? (List<CustomObject>, CustomObj and etc.)

Cicerone содержит параметр для передачи данных:
navigateTo(screenKey: String, data: Any?)

Как лучше использовать эту возможность и не запутаться с типами передаваемых данных?

Спасибо!
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Picty ▽
@terrakok
Подскажите пожалуйста, как лучше организовать передачу данных между фрагментами? (List<CustomObject>, CustomObj and etc.)

Cicerone содержит параметр для передачи данных:
navigateTo(screenKey: String, data: Any?)

Как лучше использовать эту возможность и не запутаться с типами передаваемых данных?

Спасибо!
обычно передают через модель данные между экранами
источник

P▽

Picty ▽ in Cicerone Chat (RUS)
Alexey Pushkarev
обычно передают через модель данные между экранами
Понимаю, хотелось бы наглядно увидеть пример такой модели. Может быть у вас есть такой?
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Picty ▽
Понимаю, хотелось бы наглядно увидеть пример такой модели. Может быть у вас есть такой?
ну типо закидываешь в репозиторий, получается куда-то в персистенс сторадж на экране А. Переходишь на экран Б и вытаскиваешь эти данные из репозитория. Типо такого. Но вообще вопрос не по cicerone, а больше по архитектуре, поэтому лучше спросить тут https://t.me/Android_Architecture как передавать данные междук экранами.
источник

D

Donald in Cicerone Chat (RUS)
Там уже холиваров куча было, как и здесь
источник

D

Donald in Cicerone Chat (RUS)
Можно почитать
источник

P▽

Picty ▽ in Cicerone Chat (RUS)
Alexey Pushkarev
ну типо закидываешь в репозиторий, получается куда-то в персистенс сторадж на экране А. Переходишь на экран Б и вытаскиваешь эти данные из репозитория. Типо такого. Но вообще вопрос не по cicerone, а больше по архитектуре, поэтому лучше спросить тут https://t.me/Android_Architecture как передавать данные междук экранами.
Да, через слой репы - ок, но тут вопрос именно, если не хочется всегда лазить в репу, по причине того, что на фрагменте А мы уже достали(при клике на пункт) от туда данные и хочется их прокинуть в другой Б фрагмент.

Ну и cicerone вроде располагает это сделать.

Но если так делать часто и разные типы, то можно запутаться. Потому и возник такой вопрос
источник

AP

Alexey Pushkarev in Cicerone Chat (RUS)
Picty ▽
Да, через слой репы - ок, но тут вопрос именно, если не хочется всегда лазить в репу, по причине того, что на фрагменте А мы уже достали(при клике на пункт) от туда данные и хочется их прокинуть в другой Б фрагмент.

Ну и cicerone вроде располагает это сделать.

Но если так делать часто и разные типы, то можно запутаться. Потому и возник такой вопрос
ну вообще можно через data передавать, но тебе нужно будет кастить к нужному типо что означает можно схватить ClassCastException. Ну короче это "скользкая дорожка"
источник

P▽

Picty ▽ in Cicerone Chat (RUS)
Согласен, вот потому думал, может есть у кого-то опыт в этом направлении, потому как в либе это узкое место, если можно это так назвать.
Тип Any? - который с одной стороны универсален, но с другой, накладывает обязательства с ним что-то делать :)

И вот интересно что)
У меня был вариант базового класса и наследники, но это плодит кучу классов и только путает...

Видимо придется всё же дергать повторно...хотя тоже момент, что дергать нужно по какому-то флагу, а флаг нужно передать, передача опять же через Any?  и тут опять же кастить нужно... получается почти тоже самое.
источник
2018 April 21

AK

Andrey Khitryy in Cicerone Chat (RUS)
Так сделайте модель с соответствующим циклом жизни. Самый простой пример - модель фильтрации данных, которая живет ограниченное число времени.

В вашем случае модель будет жить пока презентер/вью модель не умрет. Можно таким образом делать Thin Controller/Presenter/ViewModel парадигму, нагружая модель не только параметрами но и соответствующей бизнес логикой.

DI библиотеки в такое могут. Но вообще вопрос действительно в чат по архитектуре (прошу прощения за флуд).
источник
2018 April 23

VG

Vlad G in Cicerone Chat (RUS)
А есть какой-нибудь пример использования Cicerone на экране с вкладками, где все 3 фрагмента сосуществуют одновременно (не пересоздаются при переключении), как и их внутренние стэки?
источник

SO

Sergey Opivalov in Cicerone Chat (RUS)
Есть. В оффдоке чичероне
источник

VG

Vlad G in Cicerone Chat (RUS)
В оффдоке вроде как раз они пересоздаются при переключении)
источник