Android:LiveData 与ViewModel的结合使用

LiveData 与ViewModel 是Android 新推出的组件框架,最近在项目中开始使用这两个组件。整体感觉还是挺方便使用的,做个简单的记录。

ViewModel 和LiveData的关系如下:(官方介绍图片)

Android:LiveData 与ViewModel的结合使用

1、 一个ViewModel 可以设置多个 LiveData 数据源, UI 界面通过设置观察者,监听数据变化。

2、LiveData 可以看成一个被观察者;

3、ViewModel 类似MVP 模式中的Presenter ,主要解耦相关的代码,如果ViewModel 业务太复杂可以添加辅助的Presenter类;

4、一个Fragment 或者 Activity 可以共享一个ViewModel,一个Activity 或者Fragment可以有多个ViewModel; 

5、核心是要理解 观察者模式这种概念;

Demo:

官方demo地址: https://github.com/googlesamples/android-architecture-components

可以看里面的BasicSample

 

 

 

下面这篇文章写的挺好的,写的比较详细,推荐阅读

【大揭秘】Android架构组件ViewModel来龙去脉