B站直播模块解读——MVVM类似物

Model层:

数据类及其Converter

Service接口+lmpl实现类

(1)Scoket广播接受服务端下发数据

或在repository类中还是利用Socket广播

(2)业务接口接收服务端下发数据

将所有Service实现类注入LiveAppServiceManager统一管理


ViewModel层:

ViewModel从LiveAppServiceManager获取多个Service对象

定义Livedata

调用Service为Livedata赋值

调用Service的回调方法,数据传入serviceImpl去处理

提供外部改变livedata数据的方法

事件总线订阅接收数据


View层:

通过rootViewModel.getViewModel()获取对应ViewModel对象

View可获取多ViewModel

在视图层监听ViewModel中livedata的变化,对View设置对应响应

相关推荐
00后程序员张4 小时前
iOS 上架费用全解析 开发者账号、App 审核、工具使用与开心上架(Appuploader)免 Mac 成本优化指南
android·macos·ios·小程序·uni-app·cocoa·iphone
来来走走4 小时前
Android开发(Kotlin) 扩展函数和运算符重载
android·开发语言·kotlin
wuwu_q4 小时前
用通俗易懂 + Android 开发实战的方式,详细讲解 Kotlin Flow 中的 retryWhen 操作符
android·开发语言·kotlin
天选之女wow4 小时前
【代码随想录算法训练营——Day60】图论——94.城市间货物运输I、95.城市间货物运输II、96.城市间货物运输III
android·算法·图论
沐怡旸5 小时前
【底层机制】Android对Linux线程调度的移动设备优化深度解析
android·面试
正经教主6 小时前
【咨询】Android Studio 第三方手机模拟器对比【202511】
android·ide·android studio
Jomurphys7 小时前
网络 - 缓存
android
似霰8 小时前
安卓14移植以太网&&framework-connectivity-t 编译问题
android·framework·安卓·ethernet
Android-Flutter8 小时前
kotlin - 显示HDR图(heic格式),使用GainMap算法,速度从5秒提升到0.6秒
android·kotlin