腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
文章
问答
视频
用户
沙龙
专栏
专区
综合排序
丨
最热优先
丨
最新优先
时间不限
kotlin--
StateFlow
运用
StateFlow
当值发生变化,就会将值发送出去,下流就可以接收到新值。 在某些场景下,
StateFlow
比LiveData更适用 效果: 1.定义ViewModel
StateFlow
需要初始值 package com.aruba.flowapplyapplication.viewmodel /** * Created by aruba on 2021/9/21. */ class StateFlowViewModel : ViewModel() { val
stateFlow
= MutableStateFlow<Int>(0) fun add(v: View) {
stateFlow
.value++ } fun reduce(v : View) {
stateFlow
.value-- } } 2.Fragment的布局文件 DataBinding也支持在xml中直接使用
StateFlow
<?
aruba
2021-12-06
898
0
标签:
android
造和运行
Stateflow
图
tateflow快速入门——构造和运行
Stateflow
图
Stateflow
非常适合为有限状态机系统进行建模,有限状态机系统我们后续再学习。 Sateflow基本组成要素为状态、转移及数据(数据、事件or消息),以上要素全部齐全且正确被联系在一起,
stateflow
才能够正确运行。 创建Chart Chaart为
stateflow
编程的“画布”。打开Library,在Simulink中插入chart,即可进行开始建立模型了。 image.png 点击红色警告,
stateflow
会告诉你这个变量你加入了,但是没有定义,这时候点击右侧的fix即可解决。 image.png image.png 点击黄色警告,
stateflow
会告诉你这个变量没有被使用,问你要不要删除,这里根据需要进行选择即可。
用户8639654
2021-07-20
807
0
标签:
编程算法
(
StateFlow
& ShareFlow) VS (Flow & LiveData)
在之前的Flow,collect函数浅析和仿Flow构建器创建数据流文章中我们探索了flow的简单使用及它的简单原理,但是生产过程中我们往往会借用这些基础的api实现我们复杂的逻辑处理,根据需求也推出了
StateFlow
切换线程 在flow内部不允许使用不同的ConretineContext进行emit提交数据,所以想要在内部切换线程可以通过flowOn操作符进行转换
StateFlow
& ShareFlow
StateFlow
flow函数(本质是扩展函数),调用collect的时候执行这个扩展函数;但是这两个Flow不一样他们不依赖于外部调用(可配置稍后说明),他们是热流,他们发出的数据会缓存起来当有订阅者的时候再通知订阅者
StateFlow
确实像,但他比LiveData更强大~~
StateFlow
线程切换:相比于LiveData更新数据的操作只能在主线程进行,但是Flow可以通过flowOn来在不同的Dispatchers(线程分发器 构建
StateFlow
&ShareFlow 官方示例: 将普通flow转换为ShareFlow(
StateFlow
的一种)通过shareIn操作符 需要传入以下三个参数: (这三个参数) class
小柔
2022-10-09
1.5K
0
标签:
编程算法
api
Kotlin Flow响应式编程,
StateFlow
和SharedFlow
今天的这一篇文章,我准备讲一讲
StateFlow
和SharedFlow的知识。 而如果谈到在Flow的所有概念当中,最最接近LiveData的,那毫无疑问就是
StateFlow
了。 可以说,
StateFlow
的基本用法甚至能够做到与LiveData完全一致。 这就非常关键了,我们每次都给
StateFlow
的value值加1 。 你会发现,这个例子中展示的
StateFlow
的用法几乎和LiveData是完全一致。 实际上,
StateFlow
也有更加响应式的用法,借助stateIn函数,可以将其他的Flow转换成
StateFlow
。 刚才我们也说过,
StateFlow
和LiveData具有高度一致性,因此可想而知,
StateFlow
也是粘性的。 怎么证明呢?通过一个非常简单的例子即可证明。
用户1158055
2023-10-18
1.5K
0
标签:
kotlin
程序
工作
函数
响应式编程
(
StateFlow
& ShareFlow) VS (Flow & LiveData)来看业务适合哪个?
在之前的Flow,collect函数浅析和仿Flow构建器创建数据流文章中我们探索了flow的简单使用及它的简单原理,但是生产过程中我们往往会借用这些基础的api实现我们复杂的逻辑处理,根据需求也推出了
StateFlow
切换线程在flow内部不允许使用不同的ConretineContext进行emit提交数据,所以想要在内部切换线程可以通过flowOn操作符进行转换
StateFlow
& ShareFlowStateFlow flow函数(本质是扩展函数),调用collect的时候执行这个扩展函数;但是这两个Flow不一样他们不依赖于外部调用(可配置稍后说明),他们是热流,他们发出的数据会缓存起来当有订阅者的时候再通知订阅者
StateFlow
确实像,但他比LiveData更强大~~
StateFlow
线程切换:相比于LiveData更新数据的操作只能在主线程进行,但是Flow可以通过flowOn来在不同的Dispatchers(线程分发器,CoruntineContext 构建
StateFlow
&ShareFlow官方示例:将普通flow转换为ShareFlow(
StateFlow
的一种)通过shareIn操作符 需要传入以下三个参数:(这三个参数)class NewsRemoteDataSource
北洋
2023-09-17
1.3K
1
标签:
2023腾讯·技术创作特训营 第二期
谁能取代Android的LiveData-
StateFlow
or SharedFlow?
这意味着如果你当时没有初始值,你将需要使
StateFlow
类型T为空,或者使用一个密封的类来表示一个空的初始值。 然而,注意选择SharedFlow的明显妥协:你将失去
StateFlow
.value。 Which to choose,
StateFlow
or SharedFlow? 如果你没有
StateFlow
的初始值,你必须使
StateFlow
类型为nullable T?,并使用null作为初始值(或者为默认的无值声明一个密封类)。 另外,你可能想调整一下重放值。
StateFlow
对SharedFlow的约束可能不是最适合你的,你可能想用行为来调整并选择使用SharedFlow。 在官方文档中阅读更多关于
StateFlow
和SharedFlow的内容。
用户1907613
2022-01-05
2.4K
0
标签:
android
数据库
sql
存储
Kotlin上的反应式流-SharedFlow和
StateFlow
StateFlow
一个
StateFlow
的结构像一个SharedFlow。这是因为
StateFlow
只不过是SharedFlow的一个特殊化子类。 这正是
StateFlow
所做的,这使得它非常适合保持和处理状态。 Handling App State 不过还有更简单的方法来创建
StateFlow
,你现在就可以使用。 这就是你如何创建一个可变的
StateFlow
的方法。与SharedFlow不同,
StateFlow
需要一个初始值,或者换句话说,一个初始状态。 Event Emission With
StateFlow
SharedFlow和
StateFlow
之间值得注意的一个区别是事件生成方式。 在使用
StateFlow
方面做得很好!
用户1907613
2021-11-19
2.9K
0
标签:
android
kotlin
Kotlin中的
StateFlow
和SharedFlow有什么区别?
这次我们就对
StateFlow
和SharedFlow进行深入对比:
StateFlow
和 SharedFlow 概述
StateFlow
: 一种用于持有单一最新状态值并发射给多个观察者的热流。 类型层次结构
StateFlow
继承自SharedFlow,所以它是SharedFlow的一种特化实现。 使用对比
StateFlow
使用示例 val _
stateFlow
= MutableStateFlow<Int>(0) // Initial state val
stateFlow
:
StateFlow
<Int> = _
stateFlow
// Collect values
stateFlow
.collect { value -> println("
StateFlow
value: $value 选择指南 选择
StateFlow
:如果你的应用场景需要在多个观察者之间共享最新的状态,并且没有兴趣保留状态的历史记录,那么
StateFlow
是你的最佳选择。
AntDream
2024-06-13
1.7K
0
标签:
kotlin
配置
设计
事件
缓存
SharedFlow vs
StateFlow
,一篇看懂选择和使用技巧
原理分析 SharedFlow 和
StateFlow
基于协程构建,它们利用协程的轻量级特性,在异步操作中更加高效。 SharedFlow、
StateFlow
与LiveData的区别
StateFlow
就是SharedFlow的一种特殊类型,特点有三: 它的replay容量为 1;即可缓存最近的一次粘性事件,如果想避免粘性事件问题 与LiveData的不同点
StateFlow
必须在构建的时候传入初始值,LiveData不需要;
StateFlow
默认是防抖的,即相同值不更新,LiveData默认不防抖;
StateFlow
默认没有和生命周期绑定 //
StateFlow
示例 val
stateFlow
= MutableStateFlow("Initial State") // 订阅
stateFlow
.collect { value -> 假设我们需要在应用中管理全局的主题模式,我们可以使用
StateFlow
。
Rouse
2023-12-26
3.3K
0
标签:
管理
技巧
开发
事件
数据
前端开发者的 Kotlin 之旅:
StateFlow
状态管理深度解析
基于Kotlin协程,天然支持挂起函数✅
StateFlow
是"热流",创建时就开始活跃✅
StateFlow
在Compose中需要collectAsState()转换✅
StateFlow
的操作符需要.stateIn 快速体验
StateFlow
在深入学习之前,让我们先运行示例项目,直观感受
StateFlow
的强大功能。 一、
StateFlow
基础概念1.1理解Flow和
StateFlow
的关系在学习
StateFlow
之前,我们需要先理解KotlinFlow的概念。什么是Flow? 1.2什么是
StateFlow
? ()的作用在Composable的生命周期内订阅
StateFlow
将
StateFlow
的值转换为ComposeState当
StateFlow
变化时,触发Composable重组直接用.value的问题可以读取当前值但
骑猪耍太极
2026-05-02
242
0
标签:
kotlin
前端
问题归档
专栏文章
快讯文章归档
关键词归档
开发者手册归档
开发者手册 Section 归档