当前位置: 首页 > article >正文

Jetpack业务架构(ViewModel)

ViewModel是Jetpack AAC的重要组件,同时也有一个同名抽象类。 ViewModel,意为 视图模型,即为界面准备数据的模型。简单理解就是,ViewModel为UI层提供数据。

1ViewModel使用:
①思路:

导入依赖
继承ViewModel自定义MyViewModel
在MyViewModel中编写获取UI数据的逻辑
使用LiveData将获取到的UI数据抛出
在Activity/Fragment中使用ViewModelProvider获取MyViewModel实例
观察MyViewModel中的LiveData数据,进行对应的UI更新。 
②总结:

ViewModel的使用很简单,作用和原来的Presenter一致。只是要结合LiveData,UI层观察即可。
ViewModel的创建必须通过ViewModelProvider。
注意到ViewModel中没有持有任何UI相关的引用。
旋转手机重建Activity后,数据确实恢复了。


http://www.kler.cn/a/413757.html

相关文章:

  • 【Bug】el-date-picker组件时间差
  • 【NLP高频面题 - 分布式训练】ZeRO1、ZeRO2、ZeRO3分别做了哪些优化?
  • C++设计模式——Singleton单例模式
  • 【Spring MVC】如何获取cookie/session以及响应@RestController的理解,Header的设置
  • 【AI】Jetson Nano烧写SD卡镜像:Ubuntu20.04
  • C#(14)七大原则
  • Linux系统之iotop命令的基本使用
  • 【EI会议征稿通知 | 往届均已见刊检索】第四届电子信息工程、大数据与计算机技术国际学术会议(EIBDCT 2025)
  • 分类预测 | Matlab实现GA-XGBoost分类预测
  • 使用Eureka实现服务注册与发现的具体案例详解
  • go语言怎么实现bash cmd里的mv功能?
  • 【GPT】力量训练是什么,必要吗,有可以替代的方式吗
  • 11.25 Scala案例
  • web3.js + Ganache 模拟以太坊账户间转账
  • Ubuntu 硬盘分区并挂载
  • 【项目日记】仿mudou的高并发服务器 --- 实现基础高并发服务器基础模块
  • 【LeetCode面试150】——56合并区间
  • RabbitMQ5:Fanout交换机、Direct交换机、Topic交换机
  • YOLOv11融合PIDNet中的PagFM模块及相关改进思路
  • Samba服务器常见问题处理
  • Jmeter后置处理器
  • 代码美学2:MATLAB制作渐变色
  • DVWA靶场通过——文件上传漏洞
  • 预测未来 | MATLAB实现Transformer时间序列预测未来
  • 【方案库】从单张照片快速重建3D场景:Flash3D详解
  • 【Ubuntu24.04】服务部署(Docker)