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

相关推荐
老码沉思录2 小时前
Android开发实战班 -应用架构 - MVVM 架构模式
android·架构
L72566 小时前
Android12 Wifi的连接过程梳理
android·wifi
郝晨妤6 小时前
鸿蒙原生应用开发元服务 元服务是什么?和App的关系?(保姆级步骤)
android·ios·华为od·华为·华为云·harmonyos·鸿蒙
枫__________6 小时前
kotlin 协程 job的cancel与cancelAndJoin区别
android·开发语言·kotlin
sinat_384241097 小时前
修改Android Studio项目配置JDK路径和项目Gradle路径的GUI工具
android·java·android studio
bingbingyihao8 小时前
代码辅助工具 GPT / Cursor
android·java·gpt
少说多做3438 小时前
Android 使用 LiveData/OnCheckedChangeListener 来监听变量变化
android·java·android-studio
麻花疼不疼8 小时前
php 使用mqtt
android·开发语言·php
@解忧杂货铺9 小时前
Android和IOS的区别
android·ios·cocoa