Адрес Codelab
Состав
Флоу
Тест флоу
Используем
ViewModel, livedata, eventsDispatcher, multiplatform-settings, Napier, ViewBinding.
Подходы
Не забыть
он как то привязан к жизненному циклу активити/фрагмента?"
Обычно в таких случаях используется SingleEventLiveData который завязан на lifecycleOwner что в свою очередь ограждает от получения событий когда экран не активен и их постдоставке при возврате на экран
EventsDispatcher как раз является заменой SingleEventLiveData с четким интерфейсом взаимодействия. Жизненный цикл контролится точно также как и у лайвдат. Реализация
Чему научимся
Делать простой экран с вводом данных, асинхронной загрузкой и сохранением данных.
Шаги
- Вводная
- Делаем сплешскрин
- Показываем публичный интерфейс общего кода - вьюмодель с листенером
- Тут делаем вьюмодель
- Делаем роутинг на некоторый пустой экран авторизации
- Делаем роутинг на некоторый пустой экран главной
- Делаем репозиторий user - пишем там работу с сеттингс
- Делаем сплеш на андроиде
- Делаем сплеш на айосе
- Делаем экран авторизации
6. Показываем публичный интерфейс общего кода - вьюмодель, лайвдаты, листенер
7. Тут делаем вьюмодель
8. Делаем роутинг на главный
9. Пишем в репозиторий user - сохранем в сетинг и запросы шлем
- Делаем авторизацию и главный на андроиде
- Делаем авторизацию и главный на айосе
- Итоги
Адрес Codelab
Состав
Флоу
Тест флоу
Используем
ViewModel, livedata, eventsDispatcher, multiplatform-settings, Napier, ViewBinding.
Подходы
Не забыть
Чему научимся
Делать простой экран с вводом данных, асинхронной загрузкой и сохранением данных.
Шаги
6. Показываем публичный интерфейс общего кода - вьюмодель, лайвдаты, листенер
7. Тут делаем вьюмодель
8. Делаем роутинг на главный
9. Пишем в репозиторий user - сохранем в сетинг и запросы шлем