DroDev | Мобильная разработка: мысли вслух
464 subscribers
104 photos
229 links
Обсуждаю и рассказываю как сделать жизнь разработчика в команде интересной, легкой и продуктивной.

По всем вопросам @dilix90
Download Telegram
При использовании #ViewModel и #LiveData из #Android Architecture Component натыкаюсь на то, что при переходе вперед-назад и наличии некого стейт объекта во ViewModel возникают ошибки.

А именно, например, есть Onboarding, который собирает последовательно ряд данных и использует одну ViewModel. При переходе взад-вперед по экранам может случится так, что значение в LiveData уже было, а на него завязан переход дальше. Получается "зацикливание".

Для таких случаев, когда нужно интерпретировать значение в LiveData как одноразовое событие нашел простую библиотечку: https://github.com/hadilq/LiveEvent

Больше о процессе создания LiveEvent можно почитать от автора в статье: https://proandroiddev.com/livedata-with-single-events-2395dea972a8
При использовании #ViewModel и #LiveData время от времени всплывает проблема, когда в LiveData хочется запулить объект ровно один раз. Например это может быть сообщение об ошибке. Зачем его показывать и\или обрабатывать несколько раз?

Для этого есть замечательная небольшая надстройка LiveEvent. Он позволяет решить ровно эту проблему по сути одной строчкой кода. LiveEvent дальше возвращается как LiveData и можно с ней работать и быть уверенным, что результат доставить исключительно 1 раз. Удобно. https://bit.ly/2Egn3UV
#Google в последнее время знатно радует разработчиков плюшками из #Android #Jetpack. К примеру те же #ViewModel и #LiveData - лично я уже слабо представляю как можно писать приложение без них 🙈

Вы ведь в курсе про эти два божественных компонента? Если вдруг нет, в кратце написал про них статью. https://bit.ly/3i8tUhv