17得票2回答
Android kotlin中SharedFlow的使用

嗨,我正在学习Kotlin中的Flow。我正在学习MutableStateFlow和MutableSharedFlow。我尝试通过实际示例来学习MutableStateFlow。但是我无法找到适合使用MutableSharedFlow的示例。我尝试了一些MutableStateFlow。 例如...

15得票1回答
MutableSharedFlow - replay和extraBufferCapacity的区别

MutableSharedFlow 接受3个参数:replay、extraBufferCapacity 和 onBufferOverflow。 replay 和 extraBufferCapacity 的区别是什么? 文档中提到了以下内容: replay - 重新播放给新订阅者的值的数量(...

12得票2回答
通道还是可变共享流,哪一个更适合替代已弃用的本地广播管理器?

过去,我在我的聊天和出租车应用程序中使用了LocalBroadcastManager和EventBus,但它们现在已经被弃用或不推荐使用。 我打算用新的数据结构mutablesharedflow或channel来替代它们, 我想知道哪个更适合我的情况?或者可能还有其他数据结构吗?

12得票2回答
StateFlow在新值与上一个值相同时不会发出任何值。

我有一个登录表单。我使用StateFlow从ViewModel向Activity发送LoginResult(在调用API之后)。在Activity中,如果登录失败,我将显示一个错误对话框。 第一次使用时效果很好,但是从第二次登录失败开始,错误对话框不再显示。我在StateFlow上测试了.va...

9得票5回答
StateFlow的最后一个值在UI中再次被收集

最近我一直在使用StateFlow、SharedFlow和Channels API,但在试图将我的代码从LiveData迁移到presentation层的StateFlow时,我遇到了一个常见的问题。 我面临的问题是当我发射我的数据并在viewModel中收集它以便将值设置为mutableS...

9得票1回答
如何在Fragment恢复时避免重复执行repeatOnLifecycle?

如何避免在返回到片段时再次执行collect()代码? ViewModel 类 private val _commitResult = MutableStateFlow<Map<String, Any>>(mapOf()) val commitR...

7得票3回答
共享流(SharedFlow)未从发射中收集到数据。

在我的 ViewModel 中,我正在进行 API 请求,并且使用 StateFlow 和 SharedFlow 与 Fragment 进行通信。在进行 API 请求时,我可以轻松地更新状态流的值,并且成功地在 Fragment 中收集到它。 但是,在进行请求之前,我使用 SharedFlo...