android

LiveData的使用介绍

2020-06-21  本文已影响0人  dashingqi
Android_Banner.jpg

简介

使用

基本使用

我们知道在MVVM中ViewModel是作为数据的持有者,而Activity或者Fragment是作为UI的载体(PhoneWindwo),在MVVM中我们一般是使用DataBinding,将XML文件自动编译成一个XXXDataBinding的文件,通过在Activity中,用这个XXDataBinding去绑定我们的数据持有者ViewModel,然后在xml引入这个ViewModel,并且去动态绑定我们ViewModel中的LiveData或者Observable。达到一个数据监听的作用。

map

这里说的map实则是调用了Transformations#map()方法,通过该方法可以将我们的LiveData进行数据类型转换成新类型的LiveData,然后在Activity中注册新LiveData的观察者就能拿到数据源了,

说的可能比较抽象,以列子来说明吧

switchMap

switchMap同样是Transformations中的,该方法同样有两个参数 参数一:LiveData 参数二:函数转换体

与map不同,switchMap的函数转化中必须要返回一个LiveData对象,

参数一:我们可以作为一个条件决定函数转化中返回什么类型的LiveData,也可以将其包装的数据作为新的LiveData在转化函数中返回

合并多个LiveData的数据源

该操作使用的是MediatorLiveData,它继承MutableLiveData,在原有功能的基础上,新增了合并多个LiveData的数据源的功能,实则就是一个组件监听多个LiveData,通过addSource方法

总结

上一篇 下一篇

猜你喜欢

热点阅读