kotlin-flow相关内容

LiveData vs StateFlow:我们应该从实时数据切换到状态流吗?

我见过推荐切换到StateFlow的文章。 就像here。 同样在新的Android工作室中,StateFlow支持自动包含在数据绑定的功能中,包括协程依赖。 大多数应用程序已经在使用实时数据。 我们是否应该从LiveData迁移到StateFlow?有什么好处? 推荐答案 状态流和实时数据没有太大区别。主要区别在于State flow需要初始值,因此不需要检查是否为空。第二个不同之处 ..

在片段和活动中,什么是运行阻塞协程的替代品?

建议不要使用GlobalScope和runBlock。 我已经对这个主题进行了更改: End flow/coroutines task before go further null issue 然而,它不能像以前使用runBlock那样工作良好。简而言之,图标不变,数据不准时。 我的案例是根据布尔值更改图标。 对流程使用案例 class GetNotificationListI ..
发布时间:2022-05-13 13:06:56 移动开发

将两个Kotlin流合并为一个流,从而从两个原始流中发出最新的值?

如果我们有两个这样定义的流: val someflow = flow { emit("something") } 和另一个定义如下的流: val stateFlow = MutableStateFlow("some value") 是否可以将这两个流合并为仅发出someflow或stateFlow发出的最后一个值的单个流? 的想法是stateFlow可能在将来的某 ..

Android--如何从Kotlin流中读取值?

我从一个房间数据库里得到了一系列的剧情。 我可以将此流作为实时数据进行观察,没有任何问题。 但我也想在用户单击按钮时从该流中读取最后一个值。我尝试使用first()终端流运算符,但它不能编译。您能帮个忙或提点别的建议吗? 非编译尝试读取流: bd.buttonNext.setOnClickListener { lifecycleScope.launch { ..

如何使用 Kotlin 协程使 setOnClickListener 去抖动 1 秒?

当用户快速点击按钮时,showDialog() 方法会在彼此的顶部显示多次,因此当您关闭它时,它后面还有另一个.我正在寻找一种方法来忽略第二次点击 1 秒而不使用处理程序或检查前一次点击的时间. //打开对话框的按钮button.setOnClickListener {显示对话框()} 我正在寻找使用 Kotlin 协程或 Kotlin 流程的解决方案以供将来实现. 解决方案 最好使用 ..
发布时间:2021-12-10 17:04:37 移动开发

单元测试新的 Kotlin 协程 StateFlow

最近介绍 类 StateFlow 作为 Kotlin 协程的一部分. 我目前正在尝试,但在尝试对我的 ViewModel 进行单元测试时遇到问题.我想要实现的目标:测试我的 StateFlow 是否在我的 ViewModel 中以正确的顺序接收所有状态值. 我的代码如下: 视图模型: class WalletViewModel(private val getUserWallet ..

如何对从 Paging 3 返回 PagingSource 的 Room Dao 查询进行单元测试

我的问题实际上很笼统.我想知道如何对 Room Dao 查询进行单元测试,该查询从 Paging 3 返回 PagingSource.> 我有一个房间 Dao 查询: @Query(“SELECT * FROM database")fun getChocolateListData(): PagingSource 我想知道如何对这个查询进行单元测试. 到目前为止我尝试过的(使用内存Ro ..