Android App ~ LiveData

LiveData

两种更新数据方式

  • setValue(T value)
  • postValue(T value)

setValue()只能在主线程中调用,postValue()可以在任何线程中调用。

MutableLiveData

1.首先LiveData其实与数据实体类(POJO类)是一样的东西,它负责暂存数据.

2.其次LiveData其实也是一个观察者模式的数据实体类,它可以跟它注册的观察者回调数据是否已经更新.

3.LiveData还能知晓它绑定的Activity或者Fragment的生命周期,它只会给前台活动的activity回调(这个很厉害).这样你可以放心的在它的回调方法里直接将数据添加到View,而不用担心会不会报错.(你也可以不用费心费力判断Fragment是否还存活)

MediatorLiveData

是一个LiveData的子类,它将活跃状态或者非活跃状态传播到源LiveData上;也就是说它相当于是一个中间商,通过addSource进行注册的LiveData,当数据进行更新时通过中间商倒一手再进行处理。

  • 有多个LiveData,我们想要同时监听这两个数据源,只要他们之中有一个数据源更新则接收到通知

你可能感兴趣的:(#,App,android)