问题标签 [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.

0 投票
0 回答
286 浏览

android - 如何更改 kotlin StateFlow 的数据源

我正在将此代码示例迁移到 StateFlow。

此示例取自https://commonsware.com/AndExplore/ book

我可以想到这个解决方案,但我不确定这是否是最好的方法

那么我们如何使用 StateFlow 来实现这个场景。

0 投票
1 回答
486 浏览

android - LiveData 是热的还是冷的?

我们知道 StateFlow 和 SharedFlow 很热门。

StateFlow 是一个热流——只要该流被收集或当垃圾收集根中存在对它的任何其他引用时,它就会保留在内存中。

SharedFlow 是一个热流,它向从它收集的所有消费者发出值。

流动本身是冷的。

流是类似于序列的冷流......

我有一个找不到直接答案的问题。LiveData 是热的还是冷的?

0 投票
1 回答
360 浏览

android - jetpackCompose 和 Flow 中的状态问题

我现在在 JetpackCompose 中有一个问题。问题是,当我从流中收集数据时,值是从 firebase 获取的,就像有一个侦听器一样,并且数据每次都在变化。但事实并非如此。

我不知道真正的问题是什么!

FirebaseSrcNav

导航库

主页查看模型

我认为问题出在 HomeScreen 中,当我调用 collectasState().value 时。

主屏幕

我无法发布视频,但如果您需要图像,请想象一个文本字段,其中测试每 0.005 秒在“null”和“MyName”之间交替。

0 投票
0 回答
184 浏览

android-studio - 如何处理大量 api 请求并在 kotlin Coroutines 中观察它们

我想在循环中调用 API 的请求并观察每个 api 请求的结果。问题是我认为某些结果丢失了。我该如何处理?我想使用流或状态流来处理这个问题。等待从请求中获取结果然后继续循环中的另一个数字会更好吗?如何?或者是否有一个协程函数可以暂停循环直到观察到结果?

0 投票
0 回答
323 浏览

android - Android 双向数据绑定使用 MutableStateFlow 并观察 ViewModel 的变化

刚学MutableStateFlow,想换MutableLiveData。另外Android不建议我们LiveData在里面观察ViewModel(除非你用过observeForever(observer)但是你要记得把它去掉,这样有点麻烦)。

上面的代码工作得很好,但我想确保我MutableStateFlow在这个例子中是否正确使用。我需要切换到Dispatchers.Defaultcollect{}

0 投票
1 回答
405 浏览

android - 用于 MutableStateFlow 的 Android“Transformations.map()”

为了实现与Transformation.map()on相同的功能StateFlow,我使用以下代码,它工作正常:

但它看起来很难看,有什么办法让它更易读、更优雅?

0 投票
1 回答
284 浏览

android - android 双向绑定无法解析 kotlinx.coroutines.flow.MutableStateFlow 的设置器

尝试使用数据绑定将应用程序切换到状态流,但出现错误

双向绑定无法解析 kotlinx.coroutines.flow.MutableStateFlow 的设置器

xml

代码

我在 gradle 中启用了数据绑定

liveData 工作正常,但想为流删除它

0 投票
3 回答
4513 浏览

android - LiveData 与 StateFlow:我们应该从 Live 数据切换到 State Flow 吗?

我遇到过建议切换到 StateFlow 的文章。喜欢这里的那个。同样在新的 Android 工作室中,StateFlow 支持自动包含在数据绑定的功能中,包括协程依赖项。大多数应用程序已经在使用实时数据。我们应该从 LiveData 迁移到 StateFlow 吗?有什么好处?

在此处输入图像描述

0 投票
0 回答
120 浏览

android - 如何存储凭据并从 viewmodel 访问它们

我有一个用于登录的 ViewModel。

第一次登录时,我将用户名和密码保存到 DataStore(来自主 ActivityContext)

下次我打开应用程序时,我会从 DataStore 加载用户信息并使用它来自动登录。

我认为当我只在 ViewModel 中使用它时从 MainActivity 管理我的 DataStore 时内聚力太低,而且我必须从我认为不需要的冗余 StateFlow 中进行大量不必要的收集。

我的视图模型有一个功能,如果登录成功login(),它会将用户添加到视图模型的user状态(这用于 mainactivity wo 监听该状态的更新)

我的主要活动

如何将保存和加载保存的用户凭据的逻辑移动到视图模型中并避免所有这些冗余?

0 投票
1 回答
1005 浏览

android - Jetpack Compose 导航和 StateFlow 的问题

Composable函数Application创建一个NavHostController定义 2 个目标的函数。一个StartScreen和一个ContentScreen。只有StartScreen一个按钮,它会触发模拟的后端请求并StateFlow根据请求的状态更改状态(使用 kotlins )。当结果返回时,将调用NavControllersnavigate方法以在ContentScreen.

问题:状态InitLoading工作正常,但是一旦应该显示内容,ContentScreen就会在循环中重新绘制并且不会停止。

我在这里做错了什么?