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

相关推荐
儿歌八万首38 分钟前
Jetpack Compose 实战:实现一个动态平滑折线图
android·折线图·compose
李艺为5 小时前
Fake Device Test作假屏幕分辨率分析
android·java
zh_xuan5 小时前
github远程library仓库升级
android·github
峥嵘life5 小时前
Android蓝牙停用绝对音量原理
android
czlczl200209256 小时前
IN和BETWEEN在索引效能的区别
android·adb
Volunteer Technology6 小时前
ES高级搜索功能
android·大数据·elasticsearch
北京自在科技7 小时前
Find Hub App 小更新
android·ios·安卓·findmy·airtag
lbb 小魔仙7 小时前
2026远程办公软件夏季深度横测:ToDesk、向日葵、网易UU远程全面对比,远控白皮书
android·服务器·网络协议·tcp/ip·postgresql
coding_fei7 小时前
AudioServer初始化过程
android
brucelee1868 小时前
Docker 运行 Android 模拟器
android·docker·容器