前言
在上一节,我们讲到了ViewModel的使用,ViewModel的两大优势是:数据隔离和Activity整个生命周期保持数据持有。大家感兴趣的话,可参看以下文章:
ViewModel的使用
那么今天就让我们来学习下LiveData的使用吧
今天涉及内容:
- 为什么要用
LiveData? -
LiveData在activity中的使用
2.1 定时刷新的实现方式
2.2LiveData在activity中实现 - 需要注意的问题
3.1 LiveData 使用注意
3.2 Timer 为啥放到 ViewModel 中 - 效果图和项目结构图
运行效果图如下:
效果图.gif
一. 为什么要用 LiveData
当我们在进行网络请求这一类的动作并获得请求返回的数据时,需要一个回调监听来更新界面ui,于是我们就需要LiveData,LiveData就是我们常理解的回调监听,也可以认为是观察者模式,在其回调的方法中可以直接刷新UI。
二. LiveData 在 activity 中的使用
下面以定时器定时刷新界面数字为例进行讲解。
2.1 定时刷新的实现方式
首先,我们考虑下是实现定时刷新UI的方式,有Thread(handler.post),Timer,RxBus等,但这些都只能实现周期效果,刷新UI的时候,还是需要Handler+message做配合,让代码显得臃肿。但是现在,我们可以用LiveData直接监听数据变化,并直接处理UI刷新。
2.2 LiveData 在 activity 中实现
下面先给出MainActivity的代码:









网友评论