问题标签 [kotlin-stateflow]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - flowWithLifecycle(lifecycle, Lifecycle.State.STARTED) 在 App 在后台时不会停止流
我正在尝试观察View Collection 和上游流停止的结果。但viewModel.testFlow
在应用程序处于后台时仍在收集。为什么我无法观察到收集已停止?我观察到什么不对吗?
视图模型:
活动:
https://medium.com/androiddevelopers/a-safer-way-to-collect-flows-from-android-uis-23080b1f8bda
android - 从 viewmodel 调用方法时应用程序崩溃
我正在尝试使用改造向远程服务器发出请求。我正在使用干净的架构来分离关注点。从顶级文件
改造电话
专用旅行Dto
数据
这是我的用例
资源
在视图模型方面
在视图端这里是如何调用视图模型代码
当我调用该函数时,应用程序崩溃,而 logcat 中没有显示任何错误。
json文件
kotlin - Kotlin Coroutine/Flow Timeout 不取消正在运行的协程?
我正在尝试创建一个在超时后发出值的流,而不取消底层协程。这个想法是网络调用有 X 时间来完成并发出一个值,并且在达到超时之后,发出一些初始值而不取消底层工作(最终从网络调用发出值,假设它成功)。
像这样的东西似乎可以工作,但是当达到超时时它会取消底层协程。它也不处理在超时时发出一些默认值。
我希望能够在任何时候发出网络调用返回的值,如果达到超时,只需发出一些默认值。我将如何使用 Flow/Coroutines 完成此任务?
android - stateflow 在 reyclerview android kotlin 中引用整个数据
嘿,我正在学习android kotlin 中的状态流。我正在reyclerview的帮助下创建反向对话日历视图。在我mainactivity
里面有一个fragment
,在里面我有reyclerview
。我的目标是在我的recyclerview中进行分页,所以我首先加载几个月,而不是在这个答案的帮助下在我的 reyclerview 中添加越来越多的数据。我成功地实现了它。但问题是当我达到阈值并触发新数据时。我的整个列表被引用并且它没有被更新它删除了以前的数据。我不明白为什么会在MutableStateFlow中发生这种情况,而且我是这个流程的新手. 我的Github项目链接在这里。请指导我在这里做错了什么。我的目标是预先添加 stateFlow 数据。谢谢
对话片段.kt
片段视图模型.kt
我的模拟 api 响应链接
问题描述
加载应用程序时,将出现片段屏幕并在其上显示一些日期。我将startDate设置为2021-12-01并将endDate设置为今天的日期,即2022-01-13
。因此,当开始滚动并达到加载更多数据的阈值时。我通过了startDate作为2021-11-01和endDate作为2021-11-30。它已添加到列表中,但之前的数据已被删除。我不明白为什么会这样。我附上我的 YouTube链接
kotlin - 将两个 kotlin 流组合成一个流,从两个原始流中发出最新值?
如果我们有两个这样定义的流:
另一个流程定义如下:
是否可以将两个流组合成一个流,该流仅发出由someflow
或发出的最后一个值stateFlow
?
这个想法stateFlow
可能会在未来的某个时候发出一个值,但在那之前我只想要someflow
最后发出的任何值。在“组合”流程中,我只想获取由 发出的第一个值,someflow
然后能够观察stateFlow
.
似乎这可以通过组合函数来完成,但我只想在两个流之间发出最新发出的值,我不在乎一个流的最后一个值是什么。
android - 将 PagingData 流映射到另一个模型
我创建了一个用于学习的图库应用程序。图片是从不同的来源获取的,如 Pixabay、Unsplash、Imgur 等。我想将每个分页结果映射到我自己的名为 PhotoBO 的数据
我正在使用干净的架构,建议我更好的方法来处理
我想将所有寻呼响应映射PagingData<UnsplashPhoto>
到我的PagingData<PhotoBo >
UnSplashPhotoUseCase.kt
UnSplashRepositoryImpl.kt
或者有没有更好的方法来处理网络和其他异常并将数据映射到我的类型
在 UnSplashRepositoryImpl.kt 我想返回Resource<Flow<PagingData<PhotoBO>>>
kotlin - 如何在kotlin中打印流的大小
嘿,我是 kotlin flow的新手。我正在尝试打印流量大小。众所周知,列表具有size()
功能。我们是否有类似的功能flow。
输出
我们如何在流量中获得大小值?
谢谢
kotlin - 状态流 Android Kotlin
对于我知道这是错误的每一件事,我都有一个上帝视图模型,但我只是在尝试 Flow
我在视图模型中有这两个状态流变量
下面的函数从服务器获取数据并更新上面的状态流
我正在从不同的片段中收集这些状态流,除了一个片段之外,每件事都可以正常工作
这是代码
在创建方法中
我将两个收集的值传递给适配器(复古菜单和购物车中的项目)
第一次加载片段时一切正常
我已将菜添加到购物车功能,该功能会更新用户购物车的价值
最初也可以正常工作
我还有一个按钮来过滤菜单到蔬菜非蔬菜
当我为蔬菜或非蔬菜过滤菜时,然后将菜添加到购物车(仅更改 userCart 状态流),我收集这些状态流的地方被触发两次,因此将数据设置到适配器被调用两次
我做错了什么
android - MutableStateFlow 不适用于 MutableList
这是我尝试使用的 MutableStateFlow 值:
我需要在上面的 MutableList 上观察更改(在 add、removeAt 等方法之后),但无法实现。我的猜测是因为只有列表的元素而不是列表本身发生了变化,所以收集方法不会被触发。
如果可能的话,我怎样才能使用 StateFlow 来实现呢?如果没有,正确的方法是什么?
请注意,我需要 arrayListOf() 的初始值,所以 LiveData 对我来说可能还不够。