You need to enable JavaScript to run this app.
最新活动
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

关于sharedViewModel.vsactivityViewModel的区别和使用场景。

  • sharedViewModel 和 activityViewModel 都是为Fragment之间共享数据而设计的ViewModel。
  • sharedViewModel的生命周期依赖于Activity,而与Fragment的生命周期无关。这意味着如果一个Activity内部有多个Fragment,它们可以共享同一个ViewModel,以保证数据的一致性。 示例代码:
class SharedViewModel : ViewModel() {
    val message = MutableLiveData<String>()
}

class FragmentA : Fragment() {
    private val viewModel: SharedViewModel by activityViewModels()

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        viewModel.message.observe(viewLifecycleOwner, Observer {
            // 更新UI
        })
    }
}

class FragmentB : Fragment() {
    private val viewModel: SharedViewModel by activityViewModels()

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        viewModel.message.observe(viewLifecycleOwner, Observer {
            // 更新UI
        })
    }
}
  • activityViewModel的生命周期依赖于所属Fragment,而且只能在同一个Activity的不同Fragment之间共享数据。这使得在多个Fragment之间共享数据更加方便。 示例代码:
class ActivityViewModel : ViewModel() {
    val message = MutableLiveData<String>()
}

class FragmentA : Fragment() {
    private val viewModel: ActivityViewModel by viewModels({ requireActivity() })

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        viewModel.message.observe(viewLifecycleOwner, Observer {
            // 更新UI
        })
    }
}

class FragmentB : Fragment() {
    private val viewModel: ActivityViewModel by viewModels({ requireActivity() })

    override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
        super.onViewCreated(view, savedInstanceState)
        viewModel.message.observe(viewLifecycleOwner, Observer {
            // 更新UI
        })
    }
}
本文内容通过AI工具匹配关键字智能整合而成,仅供参考,火山引擎不对内容的真实、准确或完整作任何形式的承诺。如有任何问题或意见,您可以通过联系service@volcengine.com进行反馈,火山引擎收到您的反馈后将及时答复和处理。
展开更多
面向开发者的云福利中心,ECS9.9元起,域名1元起,助力开发者快速在云上构建应用

社区干货

MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文

了解应用在**哪里耗用了不必要的电量*** Network:显示实时网络活动,包括发送和接收的数据以及当前的连接数。这便于您**检查应用传输数据的方式和时间**,并适当优化代码### 2.4 APK Analyzer Apk 的下载会耗费... 而文本内容来自于 ViewModel userName 属性。```kotlinval binding = ResultProfileBinding.inflate(layoutInflater)binding.viewModel = viewModel```Activity 中无需绑定和手动更新 View,像 ViewBindi...

借助 MAD 助力你的 Android 应用开发|社区征文

以此区别于旧有的低效的开发方式。MAD 可以指导开发者更高效地开发出优秀的移动应用,它的优势这主要体现在以下几点:- **可以信赖**:汇聚 Google 在 Android 行业十余年的前沿开发经验- **入门友好**:提供大... activity: Activity, contentBuilder: ShareContent.Builder.() -> Unit): ShareResult = suspendCancellableCoroutine { cont -> val shareModel = ShareContent.Builder() .setEventCallBa...

展望 2022 :Android 开发技术动向 | 社区征文

然后色阶化应用到你开发的应用中,应用跟随主题的不同和变换颜色,千人千面。## Stretch OverscrollAndroid12 中加入了 Stretch overscroll effect ,相对于以前的水波纹效果,滚动反馈更加真实自然。开发者可以使... 则可以使用 Jetpack 也提供了同名 SplashScreen 库,适配到了低至 Android 6(APP 23)的设备。需要注意,如果你的项目中通过 android:windowBackground 或者 CustomActivity 方式自定义了开屏页,则需要进行适配,避免...

Fastbot 开源版技术原理与架构

a1 对 APK 文件进行反编译,收集控件的静态文本信息。a2 在一组设备上安装 APK,同时 a3 加载先前测试运行中的历史测试数据填充模型。(b) 引导式 UI 探索。b1 从被测应用程序中获取当前的 GUI 页面,b2 识别和抽象出当前页面上的可用 hyper-event(超事件,一组具有相同属性的事件,将在下文具体解释)。b3 选择一个具体的 UI 事件,该事件有可能增加 Activity 覆盖率,b4 执行该事件。执行完毕后,b5 更新历史测试数据、概率模型,同时...

特惠活动

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

2核4G热门爆款云服务器

100%性能独享不限流量,学习测试、web前端、企业应用首选,每日花费低至0.24元
89.00/2380.22/年
立即抢购

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

关于sharedViewModel.vsactivityViewModel的区别和使用场景。 -优选内容

MAD,现代安卓开发技术:Android 领域开发方式的重大变革|社区征文
了解应用在**哪里耗用了不必要的电量*** Network:显示实时网络活动,包括发送和接收的数据以及当前的连接数。这便于您**检查应用传输数据的方式和时间**,并适当优化代码### 2.4 APK Analyzer Apk 的下载会耗费... 而文本内容来自于 ViewModel userName 属性。```kotlinval binding = ResultProfileBinding.inflate(layoutInflater)binding.viewModel = viewModel```Activity 中无需绑定和手动更新 View,像 ViewBindi...
借助 MAD 助力你的 Android 应用开发|社区征文
以此区别于旧有的低效的开发方式。MAD 可以指导开发者更高效地开发出优秀的移动应用,它的优势这主要体现在以下几点:- **可以信赖**:汇聚 Google 在 Android 行业十余年的前沿开发经验- **入门友好**:提供大... activity: Activity, contentBuilder: ShareContent.Builder.() -> Unit): ShareResult = suspendCancellableCoroutine { cont -> val shareModel = ShareContent.Builder() .setEventCallBa...
展望 2022 :Android 开发技术动向 | 社区征文
然后色阶化应用到你开发的应用中,应用跟随主题的不同和变换颜色,千人千面。## Stretch OverscrollAndroid12 中加入了 Stretch overscroll effect ,相对于以前的水波纹效果,滚动反馈更加真实自然。开发者可以使... 则可以使用 Jetpack 也提供了同名 SplashScreen 库,适配到了低至 Android 6(APP 23)的设备。需要注意,如果你的项目中通过 android:windowBackground 或者 CustomActivity 方式自定义了开屏页,则需要进行适配,避免...
Fastbot 开源版技术原理与架构
a1 对 APK 文件进行反编译,收集控件的静态文本信息。a2 在一组设备上安装 APK,同时 a3 加载先前测试运行中的历史测试数据填充模型。(b) 引导式 UI 探索。b1 从被测应用程序中获取当前的 GUI 页面,b2 识别和抽象出当前页面上的可用 hyper-event(超事件,一组具有相同属性的事件,将在下文具体解释)。b3 选择一个具体的 UI 事件,该事件有可能增加 Activity 覆盖率,b4 执行该事件。执行完毕后,b5 更新历史测试数据、概率模型,同时...

关于sharedViewModel.vsactivityViewModel的区别和使用场景。 -相关内容

2022年终总结-两年Androider的技术成长之路|社区征文

什么场景下用?我是不是每次碰到这类问题都要这么思考?**>比如今天告你一句掉在地上的东西不能吃,但是父母还是吃了。你和他解释这样的危害和为什么不能吃有用吗?没有用。正如奇葩说中的某位老师说过我们**这些知识和思维是好刀用在刀刃上,而不是一刀切。**记录完之后进行实践总结或者定期回顾得出新的灵感,记录到Flomo中,不用太在意这些有什么用处,慢慢的养成习惯后他自然而然就变成你的一部分了。关于通用力的总结就先到这...

iOS 优化 - 启动优化 |社区征文

这几种启动之间的区别:* 冷启动:设备重启或者 App 很长时间未启动时会发生;这个过程需要建立进程并且启动支持 App 的系统端服务;* 温启动:这个过程相对冷启动而言不会再重新建立系统端服务;* 恢复:严格意义上,这不是启动,只是一个从后台到前台状态的改变。> 为什么 App 很久未启动也会发生冷启动:在 iOS 上,处于后台的应用程序会逐渐从内存移除从而为前台应用程序提供更多的内存,所以当用户正在使用内存密集型的游戏应用,然...

基础功能

// 1. 创建 BDLLiveStreamingModel 实例BDLLiveStreamingModel *model = [[BDLLiveStreamingModel alloc] init];// 1.1 输入获取到的直播间活动 ID 和开播密钥model.activityId = ACTIVITY_ID; // 将 ACTIVITY_ID ... 进入直播间[[BDLLiveStreaming sharedInstance] joinLiveStreamingWithModel:model success:^(void) { // 3. 如果成功进入直播间,获取直播间页面 BD...

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

2核4G热门爆款云服务器

100%性能独享不限流量,学习测试、web前端、企业应用首选,每日花费低至0.24元
89.00/2380.22/年
立即抢购

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

客户端 SDK

可根据场景需要,选择音量根据距离线性衰减或非线形衰减。音量随距离增大进行非线性衰减更符合真实世界中声音的表现。 支持在启用范围语音功能时,设置相互通话不受衰减影响的小队。 SetAttenuationModel SetNoAt... 需集成超分插件 ByteRTCVideoSRExtension.xcframework 及依赖库 bmf_mods_shared.xcframework,详情参看按需集成插件文档。功能 API 参看: 功能简述 Android iOS 设置远端视频超分模式 setRemoteVideoSuperResolut...

SDK更新日志

优化了单页应用PV的refer信息2.优化了hash路由上报的信息3.支持配置多链接或者可视化实验的遮罩层透明度4.新增了logsetting的配置下发 2023年11月29日 Android / iOS: V6.16.21.WebVIew 圈选优化 div == 0 场景下圈... Alink接口attribute_data和alink_data增加加密; alink短链重复唤起app时都上报$invoke事件; 支持ActivityView设置自定义埋点属性; 增加plugin黑名单配置埋点采集; 优化了vivo、酷派手机获取oaid的适配性; 修复已...

Android Sample(v4.1.0.0及以上)

Activity.java //单tab贴纸页面│ ├── StickerActivty.java//多tab贴纸│ └── StyleMakeUpActivity.java// 风格妆├── adapter│ ├── EffectButtonRVAdapter.java│ ├── EffectButtonViewRV... model // 数据模型│ ├── ComposerNode.java│ ├── EffectButtonItem.java│ ├── FilterItem.java│ └── StickerItem.java├── qrscan //扫码下载相关│ ├── BaseResponse.java│ ├...

基础使用

/build.sh Prepare the workspace on HDFS and the datasets$ cd ~/primus-playground/$ hdfs dfs -mkdir mnist$ hdfs dfs -mkdir mnist/models$ hdfs dfs -put examples/shared/mnist/data mnist注意 在教学里,会... 但是其中最主要的差别只有两个部分,分别是更多的角色以及 PS 和 Worker 这两个角色的退出条件为 0%,因为在 TensorFlow Parameter Server 的分布式策略中,这两种角色属于常驻型角色因此训练进程不会自行退出。 json...

Datafinder用户使用常见FAQ

可满足用户行为统计的使用场景。 6、Android SDK与H5做打通后,WebView白屏不加载内容,为什么? Android SDK在与H5做打通时会拦截LoadUrl方法来识别H5地址,如果用户的Activity中存在LoadUrl方法,可能被SDK拦截导致We... app_platform和platform这两个属性有什么区别?【app_platform和platform这两个字段有什么区别?】 app_platform:应用的端比如客户的应用他有app端,有web端,有小程序端platform:平台这个字段是区分不同端的字段,字段...

Kafka订阅埋点数据(私有化)

本文档介绍了在增长分析(DataFinder)产品私有化部署场景下,开发同学如何访问Kafka Topic中的流数据,以便进一步进行数据分析和应用,比如实时推荐等。 1. 准备工作 kafka消费只支持内网环境消费,在开始之前,需要提前... "device_model": "Pixel 3", "device_brand": "google", "device_manufacturer": "Google", "resolution": "2160x1080", "display_density": "xxhdpi", "density_dpi": 440, "cpu_abi": "ar...

特惠活动

域名注册服务

cn/top/com等热门域名,首年低至1元,邮箱建站必选
1.00/首年起32.00/首年起
立即购买

2核4G热门爆款云服务器

100%性能独享不限流量,学习测试、web前端、企业应用首选,每日花费低至0.24元
89.00/2380.22/年
立即抢购

DCDN国内流量包100G

同时抵扣CDN与DCDN两种流量消耗,加速分发更实惠
2.00/20.00/年
立即购买

产品体验

体验中心

幻兽帕鲁服务器搭建

云服务器
快速搭建幻兽帕鲁高性能服务器,拒绝卡顿,即可畅玩!
即刻畅玩

白皮书

一图详解大模型
浓缩大模型架构,厘清生产和应用链路关系
立即获取

最新活动

热门联机游戏服务器

低至22元/月,畅玩幻兽帕鲁和雾锁王国
立即部署

火山引擎·增长动力

助力企业快速增长
了解详情

数据智能VeDI

易用的高性能大数据产品家族
了解详情

一键开启云上增长新空间

立即咨询