Size: a a a

Android Developers

2021 January 03

OP

Oleg Pchelkin in Android Developers
Ну можно отредачить изначальное сообщение тогда) Я вот напоролся на него и потом каким то образом это вытекло в то, что выход в сеть как то связан с использованием ливдаты )) Стройте логические цепочки лучше)
источник

NM

Nick Marchuk in Android Developers
Oleg Pchelkin
Ну можно отредачить изначальное сообщение тогда) Я вот напоролся на него и потом каким то образом это вытекло в то, что выход в сеть как то связан с использованием ливдаты )) Стройте логические цепочки лучше)
А я могу посоветовать прежде чем вставлять своё мнение прочитать весь тред до этого 🤷‍♂️
источник

NM

Nick Marchuk in Android Developers
Oleg Pchelkin
Ну можно отредачить изначальное сообщение тогда) Я вот напоролся на него и потом каким то образом это вытекло в то, что выход в сеть как то связан с использованием ливдаты )) Стройте логические цепочки лучше)
Связано и я уже объяснял почему
"есть большая вероятность что в приложении для сетевого взаимодействия используются корутины, т.е. у нас уже есть библиотека корутин в зависимостях, и использовать stateflow куда проще и лучше нежели тащить лайвдату"
источник

OP

Oleg Pchelkin in Android Developers
Nick Marchuk
Связано и я уже объяснял почему
"есть большая вероятность что в приложении для сетевого взаимодействия используются корутины, т.е. у нас уже есть библиотека корутин в зависимостях, и использовать stateflow куда проще и лучше нежели тащить лайвдату"
да почему проще то? хоть один аргумент? кроме того, что это еще одна зависимость?
источник

VS

Valentin Sergeev in Android Developers
Nick Marchuk
Опять же, как замену лайвдате в презентейшене я говорил о StateFlow, а оно ничем не сложнее лайвдаты
StateFlow extends Shared flow extends Flow, ничего из сложности там не уходит, только добавляется)

P.S. не спорю, для использования на уровне "отдай мне последнее значение и подпишись на изменения" не придется скорее всего вникать в глубины глубин, но опять же, может возникнуть ситуация с неожиданным поведением, описанная мною выше
источник

NM

Nick Marchuk in Android Developers
Oleg Pchelkin
да почему проще то? хоть один аргумент? кроме того, что это еще одна зависимость?
StateFlow - логика использования практически идентична лайвдате, конструктор принимает первоначальное значение, что делает её 100% null-safety, ровно так же может быть lifecycle-aware как и лайвдата и даже больше, благодаря екстенешнам lifecycleScope.launchWhenCreated/Started/Resumed, имеет множество удобных операторов для преобразования данных, не привязана к платформе
источник

RR

Rustaveliman Rustave... in Android Developers
подскажите запрос проходит возвращает 200, а ресайклер не отображается

где стоит глянуть
источник

ES

Egor Sigolaev in Android Developers
Rustaveliman Rustaveliman
подскажите запрос проходит возвращает 200, а ресайклер не отображается

где стоит глянуть
Покажи субмит лист метод
источник

VS

Valentin Sergeev in Android Developers
Rustaveliman Rustaveliman
подскажите запрос проходит возвращает 200, а ресайклер не отображается

где стоит глянуть
Смущает строчка с adapter = adapter, не уверен, что тут перекрытие имен работает именно так, как надо вам
источник

OP

Oleg Pchelkin in Android Developers
Nick Marchuk
StateFlow - логика использования практически идентична лайвдате, конструктор принимает первоначальное значение, что делает её 100% null-safety, ровно так же может быть lifecycle-aware как и лайвдата и даже больше, благодаря екстенешнам lifecycleScope.launchWhenCreated/Started/Resumed, имеет множество удобных операторов для преобразования данных, не привязана к платформе
lifecycleScope.launchWhenCreated/Started/Resumed как раз костыли для того, чтобы флоу был lificycle-aware, который у ливдаты из коробки, поэтому все еще не вижу преимуществ. А остальное - вы правы, они почти идентичны, так что все еще не вижу смысла бежать с ливдаты на флоу
источник

NM

Nick Marchuk in Android Developers
Oleg Pchelkin
lifecycleScope.launchWhenCreated/Started/Resumed как раз костыли для того, чтобы флоу был lificycle-aware, который у ливдаты из коробки, поэтому все еще не вижу преимуществ. А остальное - вы правы, они почти идентичны, так что все еще не вижу смысла бежать с ливдаты на флоу
Объясните почему же это костыль, пожалуйста
источник

OP

Oleg Pchelkin in Android Developers
Valentin Sergeev
Смущает строчка с adapter = adapter, не уверен, что тут перекрытие имен работает именно так, как надо вам
+, они даже подсвечиваются одинаково
источник

RR

Rustaveliman Rustave... in Android Developers
Egor Sigolaev
Покажи субмит лист метод
источник

ES

Egor Sigolaev in Android Developers
Выше ответили в чём ошибка
источник

ES

Egor Sigolaev in Android Developers
Напиши this.adapter = adapter
источник

OP

Oleg Pchelkin in Android Developers
Nick Marchuk
Объясните почему же это костыль, пожалуйста
Потому что он решает проблему привязки флоу к лайфсайклу, которая уже зашита внутри ливдаты
источник

NM

Nick Marchuk in Android Developers
Oleg Pchelkin
Потому что он решает проблему привязки флоу к лайфсайклу, которая уже зашита внутри ливдаты
А в каком месте это костыль?
источник

VS

Valentin Sergeev in Android Developers
Egor Sigolaev
Напиши this.adapter = adapter
this.adapter = this@MyFragment.adapter тогда уж (но я бы вынес из apply просто)
источник

NM

Nick Marchuk in Android Developers
Oleg Pchelkin
Потому что он решает проблему привязки флоу к лайфсайклу, которая уже зашита внутри ливдаты
Любое расширение поведения == костыль?
источник

RR

Rustaveliman Rustave... in Android Developers
Valentin Sergeev
this.adapter = this@MyFragment.adapter тогда уж (но я бы вынес из apply просто)
да, помогло
спасибо большое!
источник