Size: a a a

Android Developers

2020 April 17

СП

Сергей П. in Android Developers
Vitalii Krokhalev
Советуют паттерн Observable + LiveData, но не совсем понятно, как организовать это всё. С помощью статических полей LiveData?
Ну ещё есть библиотека EventBus. Но мне не нужна эта зависимость в проекте.
Через лайфлдату в репозитарий передавал, доступно все без проблем
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Через лайфлдату в репозитарий передавал, доступно все без проблем
Через что-то статическое?
источник

СП

Сергей П. in Android Developers
Vitalii Krokhalev
Спасибо за ответ)
Ну вот мне нужно текст с пуша прокинуть в ту активность, которая в данным момент Resumed
Через статику в Application можно железно.
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Через статику в Application можно железно.
Спасибо
источник

СП

Сергей П. in Android Developers
Vitalii Krokhalev
Спасибо
Пытался в Application воткнуть согласно докам отслеживание жц запускаемых активностей - реализуемо вполне.
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Через статику в Application можно железно.
А если я в классе Firebase сервиса сделаю статические поля LiveData, а потом буду на них подписываться из активностей, это нормально?
источник

СП

Сергей П. in Android Developers
Vitalii Krokhalev
А если я в классе Firebase сервиса сделаю статические поля LiveData, а потом буду на них подписываться из активностей, это нормально?
Х з...у статиков свои проблемы в части утечек. Лайфдата же ссылку на контекст может держать
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Х з...у статиков свои проблемы в части утечек. Лайфдата же ссылку на контекст может держать
Точно)
источник

СП

Сергей П. in Android Developers
А статик как просто переменная - pojo, не лайфдата - может быть норм
источник

СП

Сергей П. in Android Developers
Или не статик в синглтоне - репозитории или т.п.
Выглядит боюсь костыльно все же
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Х з...у статиков свои проблемы в части утечек. Лайфдата же ссылку на контекст может держать
Ну вообще, я могу в активностях подписываться на статическую LiveData, а потом когда будет onDestroy() - отписываться
источник

СП

Сергей П. in Android Developers
Vitalii Krokhalev
А если я в классе Firebase сервиса сделаю статические поля LiveData, а потом буду на них подписываться из активностей, это нормально?
А в кла се сервиса нестатические поля сохраняться небудут - он уничтожается между вызовами
источник

СП

Сергей П. in Android Developers
Vitalii Krokhalev
Ну вообще, я могу в активностях подписываться на статическую LiveData, а потом когда будет onDestroy() - отписываться
При правильном owner оно само вроде?
Плюс application класс существует все время жизни приложения, там и не в статиках можно все хранить
источник

СП

Сергей П. in Android Developers
Но тут такие подходы ругали
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Но тут такие подходы ругали
Ругали подходы с application классом?
источник

СП

Сергей П. in Android Developers
Костыльно типа, не помню аргументации
источник

СП

Сергей П. in Android Developers
Как и любые глобальные переменные которые можно изменять и читать откуда угодно - тяжело отлаживать и эфыекты внешние
источник

VK

Vitalii Krokhalev in Android Developers
Сергей П.
Костыльно типа, не помню аргументации
Что ж, спасибо большое, очень полезная инфа)
источник

VK

Vitalii Krokhalev in Android Developers
А можно как-то сделать, чтобы LiveData срабатывала только когда вызывается метод setValue/postValue? Или это только через ObservableField?
источник

VK

Vitalii Krokhalev in Android Developers
LiveData with single events, вроде бы... Кажется, это костыли
источник