我尝试使用stateIn将多个SharedFlow合并为一个StateFlow 。 但是在我向它的SharedFlow源发出新值后,我的StateFlow似乎没有更新。 我发现问题出在我使用stateIn的方式上。 这是我使用的简化代码(您可以从kotlin playground运行它)。 pri ...
我尝试使用stateIn将多个SharedFlow合并为一个StateFlow 。 但是在我向它的SharedFlow源发出新值后,我的StateFlow似乎没有更新。 我发现问题出在我使用stateIn的方式上。 这是我使用的简化代码(您可以从kotlin playground运行它)。 pri ...
我想完全了解这里发生的事情。 去抖动 从我的角度来看,我延迟订阅sharedflow 250L ms 或者我只订阅250L之后的值? 在各个 从我的角度来看,很不理解。 先回流再开始订阅,给它赋值? .shareIn 从我的角度来看,在没有更多订阅者之后我等待5000L毫秒然后我采取行动? 重播 ...
设想我在单击按钮时发出了一个热流EventHandler.sharedFlow 。 流由在OnEach{}中执行某些操作的Repository接收。 然后,两个事件收集器EventCollectorA和EventCollectorB接收存储库流。 然后在MyViewModel中组合和收集事件收集器流 ...
我的视图模型中有以下 SharedFlow -class HeroesViewModel(private val heroesRepositoryImpl: HeroesRepositoryImpl) : ViewModel() { private val _uiState = Mutab ...
我编写了一个发出整数的流,以及两个只发出奇数或偶数的下游流。 我只从最后创建的 SharedFlow 中获取值: 有没有更好的方法来实现共享流?import kotlinx.coroutines.* import kotlinx.coroutines.flow.* fun main() = ru ...
目前正在努力解决这个问题,到目前为止,SharedFlow 和 StateFlow 的组合都没有奏效。 我有一个可能已经从一个值开始的流程,或者不是。 使用该流程,我想收集开始收集后发出的任何新值。 此刻我所有的尝试总是失败,无论我尝试什么,它总是在我开始收集时立即获得当前值。 我试图实现的一个例子 ...
我在 MainViewModel 中定义了一个 sharedFlow,例如 然后我有一个活动 当我点击一个按钮发射时,收集将被调用,然后当我旋转这个或回到上一个活动时,当这个活动销毁它应该离开“收集”块然后执行 正确的? 但它没有,有谁知道为什么? 谢谢 ...
我目前有两个 SharedFlows 我需要结合起来做某事,但我并不真正需要转换函数的结果,我只想知道两个“事件”是否已经开始。 在实现这一点时,我得到了这个无用的括号体: 有没有一种方法可以在不需要转换功能的情况下更干净地做到这一点? ...
我的问题是我们如何从构建的流 object 中发出一个值,如下所示: 这个问题有什么可能的解决方案吗? ...
2022 年,有什么场景可以想象LiveData比StateFlow 、 SharedFlow 、Coroutine Channel等其他可观察库更好。 ...
我有一个屏幕,上面有几个 switchcompats,就像照片上的那样。 我只想收集他们每个人的最后输入以将其发送到服务器。 我使用SharedFlow 。 现在我通过 debounce 获取最后一个debounce但它只为所有切换返回一个。 我如何在Flow上使用debounce或其他 funct ...
目前我有一个ViewPager2片段(作为起始目的地),它包含两个子片段: ActiveOrderFragment和CompletedOrderFragment ,它们都有自己的ViewModel来处理 api 调用(以获取活动订单和已完成订单)。 当用户单击订单项时,它将导航到OrderEdit ...
在我的 ViewModel 中,我发出 API 请求,并使用StateFlow和SharedFlow与 Fragment 进行通信。 在发出 API 请求时,我可以轻松地更新状态流的值,并将其成功收集到 Fragment 中。 但是在发出请求之前,我使用SharedFlow发出了一些布尔值,并且它 ...
有没有办法限制 function 中使用流构建器返回流的收集器数量? 我在 ViewModel 中有这个公共方法 此方法在 ViewModel 的init块上调用,但也可以在 UI 上手动调用。 此流每 10 秒发出一次值。 资料库 不幸的是,每次从 UI 调用fetch()时,我都注意到它会创建另 ...
MutableSharedFlow 有 3 个参数:replay、extraBufferCapacity 和 onBufferOverflow。 replay 和 extraBufferCapacity 有什么区别? 该文档提到以下内容: replay - 重播给新订阅者的值的数量(不能为负数 ...
嘿,我正在 kotlin 学习流程。我正在学习MutableStateFlow和MutableSharedFlow 。 我试图在现实世界的例子中学习MutableStateFlow 。 但是我无法获得MutableSharedFlow示例,它更适合放在哪个位置。 我尝试了一些MutableState ...
我创建了一个流,从中发出数据。 当我两次收集此流时,同一变量会发出 2 组不同的数据,而不是向两个收集器发出相同的值。 我有一个自己创建的简单流程。 文本将每秒记录两次 在我的 viewModel 中,我有一个简单的 function,它获取了之前的 Flow 在我的 Fragment 中,我收集并 ...
假设我有使用可以扫描条形码的 jetpack compose 的ScanActivity ,结果将显示在TextField中,并且结果将在配置更改(例如屏幕旋转)后继续存在。 我不会使用StateFlow ,因为在显示结果之后我旋转我的屏幕,它会再次调用 API,但结果变为空我想保留结果。 扫描活 ...
我有一个重播值为 1 的 sharedFlow。 但是当我试图访问最后一个发出的值时,调用永远不会返回,而 first() 会。 这是我的代码: 其中getGame()是一个回调流: 所以这个: 从不返回任何东西... ... 做。 怎么来的?? ...
我正在开发一个具有 MVVM 架构的聊天应用程序,我使用SharedFlow将传入消息从Repository传输到ViewModel 。 当用户离线,另一个用户向他发送大量消息时,用户一上线,消息在Repository中接二连三收到,需要转移到ViewModel中显示在用户界面中. 我首先将ext ...