Ребят, такой вопрос ещё, а каким образом в композабле экрана

подписываться на флоу, например, статуса гугл сервисов? Во фрагменте мы могли сделать так, как на скрине, а в композе как подобное можно сделать?

15 ответов

16 просмотров

stateFlow.collectAsState()

Anton-Golyanov Автор вопроса
Алексей Ершов
stateFlow.collectAsState()

а где именно я могу осуществлять проверку значения? прямо в композабле просто if (stateFlow == error) ...?

Anton Golyanov
а где именно я могу осуществлять проверку значения...

Делаете collectAsState, и работаете дальше как с обычным MutableState. Посмотрите любой пример композ приложения из доков, да и в целом доку по работе с Flow, там всё отлично описано)

Anton-Golyanov Автор вопроса
Silent829
А когда Вам нужно проверить значение?

проверку не там важно, главное - при старте экрана. аналогично тому, как мы в xml проверяем Lifecycle.State.ON_START и там уже что-то делаем после коллекта

Anton Golyanov
проверку не там важно, главное - при старте экрана...

Ну есть типа LifecycleObserver тоже для компоуза либо в LaunchedEffect это при начальной композиции

Anton-Golyanov Автор вопроса
Silent829
Ну есть типа LifecycleObserver тоже для компоуза л...

окей, спасибо. а если просто collectAsState и до начала инициализации карты, для которой мне и нужна проверка сервисов, проверять как обычную переменную и уже вызывать соовтетствующие ошибки?

Anton Golyanov
окей, спасибо. а если просто collectAsState и до н...

Не уверен что так делать правильно

Anton-Golyanov Автор вопроса
Silent829
Не уверен что так делать правильно

а можете какой-то сэмпл показать с реализацией в LaunchedEffect?

Anton-Golyanov Автор вопроса
Silent829
Не уверен что так делать правильно

я правильно понимаю что LaunchedEffect - это корутин скоуп, который живет пока композабл находится в композиции?

Anton Golyanov
а можете какой-то сэмпл показать с реализацией в L...

var showDialog by remember { mutableStateOf(false) } LaunchedEffect(Unit) { showDialog = true } ... if (showDialog) { Dialog(...) }

Anton-Golyanov Автор вопроса
Silent829
var showDialog by remember { mutableStateOf(false)...

у меня не совсем так) в моём случае это flow из VM. Т.е. val showDialog by viewModel.showDialogFlow.collectAsFlow(null)

Anton Golyanov
у меня не совсем так) в моём случае это flow из VM...

В таком случае не проще будет сделать showDialog.value?.let { if (it) Dialog() }?

Anton-Golyanov Автор вопроса

Похожие вопросы

Обсуждают сегодня

Я не понимаю, это троллинг или что? Швабрика поддерживают, который буквально пишет на ассемблере взаимодействия с винапи. Я это ещё написал загрузчик и хоть что-то изучаю в о...
Shadow Akira
6
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
3
Всем привет. Хотел бы написать для себя свою ос. Причины: 1) нужен опыт в чем-то 2) будет меньше весить 3) свое, но там будут свои задумки Я понимаю что нужно писать для всег...
Shadow Akira
18
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Инструкция вроде от 1 до 5 тиков ввполняется? Давайте все в ассемблер чат тему перенесём. Там будет больше людей которые связаны с этой темой. Прошу пожалуйста.
Shadow Akira
3
сколько это сотен тысяч инструкций?
Boris Vinogradov
4
Карта сайта