2021-08-02

MVVM学习

1MVP模式:优点

MVP架构可以让宿主专注UI逻辑和用户交互的处理。把宿主中的业务逻辑全部分离出来,所有跟Android API无关的业务逻辑由 Presenter 层来完成。但是缺点就是增加了代码量。

1.Activity 和Fragment 视为View层,负责处理 UI和用户交互。

2.Presenter 为业务处理层,负责处理业务逻辑,发起数据请求。

3.Model 层中包含着具体的数据请求,数据源。但是这一层在retrofit的场景下可以被弱化。

2MVVM架构相比MVC、MVP有着以下优点:

1.双向绑定 :数据变更UI会自动刷新,UI变化了数据也会自自动同步到最新的值。

2.数据驱动UI :比如,User中的字段,数据变化了,可以做到自动刷新UI。

3.UI同步数据 :比如,EditText、checkBox、toggleButton具有状态的View,当状态变化后,数据模型中与之关联的字段的值也会自动同步最新状态。

3Jetpack

Lifecycle

可以帮助开发者创建可感知生命周期的组件。这样,组件就可以在其内部管理自己的生命周期,从而降低模块间的耦合度,并降低内存泄露的发生

 

使用Lifecycke里的ON_CREATE等方法来感知生命周期

ViewModel

ViewModel 类旨在以注重生命周期的方式存储和管理界面相关的数据。ViewModel 类让数据可在发生屏幕旋转等配置更改后继续留存

ViewModel类,专门用于存放应用程序页面所需的数据。它将页面所需的数据从页面中剥离出来,页面只需要处理用户交互,以及负责展示数据的工作。

LiveData

实现ViewModel与View之间的沟通

DataBinding

dataBinding只是一种工具,它解决了View和数据之间的双向绑定

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值