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设置对应响应

相关推荐
jack1868910 小时前
安卓手机忘记锁屏密码怎么办? 无需密码也可解锁
android·智能手机
应用市场13 小时前
不用一张图片的像素小游戏:小人是字符串,房间是矩形,平衡靠两千个假玩家
android·kotlin·游戏开发
stevenzqzq14 小时前
android 对渠道的理解
android
QEasycloud14 小时前
BOM接口抛转失败钉钉通知策略实战教程:MySQL异常日志到钉钉消息的端到端配置
android·mysql·钉钉
AIsoft_868915 小时前
医患交流内容如何做好记录?
android·iphone
蒸鱼Yuzheng15 小时前
Android Native 崩溃证据链:Tombstone、Build ID 与 Trace 如何联合归因
android·ndk·tombstone·调试符号·崩溃分析
事圆则缓15 小时前
Kotlin 变量与函数:把页面状态和行为写成清楚的契约
android·开发语言·kotlin
hunterandroid15 小时前
MVVM 迁移到 MVI:复杂页面状态如何收敛
android
妖星16 小时前
Android 开机动画定制:从 bootanimation.zip 到源码编译
android
临期冰淇淋16 小时前
MTK平台 安卓16 GMS报错修改
android·java·前端