Тёмный

AA Jetpack Compose #6: Navigation. Practice. 

Android Academy Global
Подписаться 7 тыс.
Просмотров 1,7 тыс.
50% 1

Переведем экраны приложения Android Academy на навигацию в Jetpack Compose. Мы сначала поговорим о том, что нужно сделать с нашими composable функциями, чтобы подготовить их к миграции, после прикрутим навигацию и в конце добавим deep link к одному из экранов.
🧑🏼‍💻 GitHub repository rb.gy/xk5sld 🧑🏼‍💻
Наш сервер в Discord:
/ discord
Наши каналы в Telegram:
Android Academy Msk - t.me/AndroidAcademyMsk
Android Academy Minsk - t.me/androidacademyminsk
Android Academy Minsk News & Announcements - t.me/androidacademyminsknews
0:00 Intro
0:40 Add dependencies
1:18 NavController
2:20 NavHost
4:10 Steps for preparation to migration to new navigation
6:10 Hide destinations declaration inside extensions
8:45 Destination with arguments
19:22 Navigation with arguments
26:00 See result. Single responsibility + declarative navigation
29:45 Add deeplink to destination

Опубликовано:

 

22 июл 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 7   
@WSergey1969
@WSergey1969 Год назад
На данный момент самое понятное изложение данной темы. Спасибо большое!
@user-or5hj7sf3x
@user-or5hj7sf3x Год назад
Спасибо!
@d.mertsalov
@d.mertsalov Год назад
🔥
@maximmaxim3262
@maximmaxim3262 Год назад
0:00 Intro 0:40 Add dependencies 1:18 NavController 2:20 NavHost 4:10 Steps for preparation to migration to new navigation 6:10 Hide destinations declaration inside extensions 8:45 Destination with arguments 19:22 Navigation with arguments 26:00 See result. Single responsibility + declarative navigation 29:45 Add deeplink to destination Theory path: ru-vid.comfPMTjJzmIfs
@summerwise
@summerwise Год назад
Почему в viewModel не получать аргументы сразу? Если передали id, и на старте экрана надо запрос сделать с ним, то как сделать запрос? Если внутри vm нет аргумента, а запрос только один раз надо сделать. Вдруг экран рекомпозитнится, запрос повторится? Надо делать через LaunchedEffect и лямбду onEvent, которая в vm будет обрабатывать ивенты с экрана?
@1mYse1LF
@1mYse1LF Год назад
Что будет по нажатию кнопки back при переходе через deeplink на детали экрана? Сработает выход из приложения и методы активити (onPause -> onStop) или мы перейдет на Main экран. И какой из этих вариантов более правильный?
@maximmaxim3262
@maximmaxim3262 Год назад
Спасибо за вопрос! В данном случае будет переход на экран со списком фильмов, тк он является startDestination и добавляется в backstack сразу (добавление виртуальное - композиции экрана не случится и VM экрана при этом создаваться не будет). Такая особенность библиотеки. Не уверен, что это правильное поведение, думаю, это вопрос к требованиям бизнес логики. Не знаю, как этого можно избежать, но... в большинстве прод.приложений нельзя без доп.проверок показать пользователю контент(пин-коды, авторизации, paywall-ы). В качестве решения можно в качестве startDestination сделать "технический" destination без видимого контента (или с loader-ом), у которого в нижних слоях происходит проверка всех условий и принятие решения, куда должна производиться навигация. Тогда такое поведение библиотеки не будет "мешать"
Далее
AA Jetpack Compose #7: Advanced state and side effects
2:00:19
AA Jetpack Compose #6: Navigation
1:38:24
Просмотров 3,7 тыс.
AA Jetpack Compose #3: Animations. Practice 1
20:08
Просмотров 1,1 тыс.
AA Jetpack Compose #1: Starter Pack
1:36:01
Просмотров 18 тыс.
AA Jetpack Compose #4: Migration of existing app
1:12:33
Просмотров 2,1 тыс.
AA Jetpack Compose: Interview
1:27:18
Просмотров 2,2 тыс.
AA Jetpack Compose #2: State
1:29:17
Просмотров 8 тыс.