Size: a a a

Android Architecture

2020 February 18

АЕ

Алексей Ершов in Android Architecture
И вьюху  от сабжектов вам руками отписывать надо, а лайвдата знает про жизненный цикл
источник

А

Александр in Android Architecture
Алексей Ершов
Обычные нельзя, они не будут воспроизводить события после поворота экрана, надо нужного вида сабжекты делать. Но зачем, когда лайвдата вполне справляетс с тем, для чего была создана)
Так а если я обычные заверну во ViewModel или из вьюмодел буду возвращать презентер в виде синглтона а в нем уже хранить всю эту логику?
источник

АЕ

Алексей Ершов in Android Architecture
А вот когда во flow поддержат эвенты и поудобнее сделают бродкаст ченнелы, можно будет их вместо лайвдаты использовать
источник

АЕ

Алексей Ершов in Android Architecture
Александр
Так а если я обычные заверну во ViewModel или из вьюмодел буду возвращать презентер в виде синглтона а в нем уже хранить всю эту логику?
Какая разница?
источник

А

Александр in Android Architecture
Алексей Ершов
Какая разница?
ViewModel знает про lifecycle
источник

АЕ

Алексей Ершов in Android Architecture
Александр
ViewModel знает про lifecycle
Нет
источник

АЕ

Алексей Ершов in Android Architecture
Она выставляет наружу livedata, которые можно обзервить из Lifecycle Owner, и управляется снаружи хранилищем вьюмоделей, но сама ничего про ЖЦ не знает. Ради чего и была придумана)
источник

А

Александр in Android Architecture
Алексей Ершов
Она выставляет наружу livedata, которые можно обзервить из Lifecycle Owner, и управляется снаружи хранилищем вьюмоделей, но сама ничего про ЖЦ не знает. Ради чего и была придумана)
Я неправильно выразился. ViewModel переживает жизненный цико значит можно захукать его внутри. Собственно я понял, что LiveData и так это делает и смысла писать велосипед нету.
источник

АЕ

Алексей Ершов in Android Architecture
Александр
Я неправильно выразился. ViewModel переживает жизненный цико значит можно захукать его внутри. Собственно я понял, что LiveData и так это делает и смысла писать велосипед нету.
Нельзя захукать)
источник

AD

Aleksey D. in Android Architecture
Алексей Ершов
А вот когда во flow поддержат эвенты и поудобнее сделают бродкаст ченнелы, можно будет их вместо лайвдаты использовать
вроде уже умельцы есть)
источник

АЕ

Алексей Ершов in Android Architecture
У вьюмодели нет условного onAttach, она не знает, когда у нее там снаружи меняется фрагмент
источник

АЕ

Алексей Ершов in Android Architecture
Aleksey D.
вроде уже умельцы есть)
Да, но из коробки-то приятнее)
источник

AD

Aleksey D. in Android Architecture
Алексей Ершов
А вот когда во flow поддержат эвенты и поудобнее сделают бродкаст ченнелы, можно будет их вместо лайвдаты использовать
ждем, когда они сделают его с такой сигнатурой:
flow(CoroutineContext, FlowCollector<T>.() -> Unit): Flow<T>
источник

АЕ

Алексей Ершов in Android Architecture
Александр
Я неправильно выразился. ViewModel переживает жизненный цико значит можно захукать его внутри. Собственно я понял, что LiveData и так это делает и смысла писать велосипед нету.
А вот про лайвдату да, всё так
источник

A

Azamat in Android Architecture
Александр
Ребят,получается если AsyncTask и Loader - deprecated то осталось только 3 варианта как в бэкграунд потоке данные тянуть - thread pool executor + handler, rx или corutines? Тут вот в статье чел пишет что ViewModel + LifeData это замена лоадеру но я в его коде не нашел бэкграунд потоков. Может они там где то не явно? Статья в топе выдачи по теме, если кто читал, поясните за многопоточность
https://medium.com/@alfianlosari/loading-asynchronous-data-using-android-architecture-components-safely-1b3c583668f5
Он там использует для сетевого запроса retrofit. .enque() выполнит асинхронный вызов
источник

A

Azamat in Android Architecture
Алексей Ершов
И не считайте ее полноценным reactivex, я бы не стал никуда дальше ui ее протаскивать
Нет, если использовать неьольшие библиотеки типа uber autodisposable или самому написать подобное
источник

(

( in Android Architecture
бтв есть кстати артефакт в жетпаке, который дополняет ливдаты до соответствия спецификации реактив стримов
источник

А

Александр in Android Architecture
Тогда положу во viewmodel презентер а в презентере буду ретрофит вызывать. И/или room. Дешево и сердито.
источник

А

Александр in Android Architecture
Презентер будет знать что с жизнегным циклом
источник

V

Vladimir in Android Architecture
Александр
Тогда положу во viewmodel презентер а в презентере буду ретрофит вызывать. И/или room. Дешево и сердито.
скорее просто сердито
источник