前言
LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).
LiveData是干什么的?
由于LiveData和MutableLiveData都是一个概念的东西(只是作用范围不同)所以就不重复解释了,直接理解LiveData就可以明白MutableLiveData
直接理解LiveData的字面意思是前台数据,其实这其实是很准确的表达.下面我们来说说LiveData的几个特征:
1.首先LiveData其实与数据实体类(POJO类)是一样的东西,它负责暂存数据.
2.其次LiveData其实也是一个观察者模式的数据实体类,它可以想跟它注册的观察者回调数据是否已经更新.
3.LiveData还能知晓它绑定的Activity或者Fragment的生命周期,它只会给前台活动的activity回调(这个很厉害).这样你可以放心的在它的回调方法里直接将数据添加到View,而不用担心会不会报错.
LiveData与MutableLiveData区别
LiveData与MutableLiveData的其实在概念上是一模一样的.唯一几个的区别如下:
1.LiveData是使用于实体类的抽象方法,而MutableLiveData只是一个变量封装类
2.MutableLiveData在数据通知上更加主动,不需要你在代码上手动调配.
LiveData简单使用Demo
创建LiveData
end