jetpack架构主键学习(3)-ViewModel

由上图官网的描述所示可知,ViewModel的用处:

1.就是用于恢复界面的作用(参考ViewModel)

2.从界面控制逻辑中分理处视图数据所有权

接下来试试 创建一个VIewModel后恢复页面重新创建后的数据

创建一个简单的页面

 创建一个简单的ViewModel

正常情况下,修改页面的数据,然后页面旋转重建后,页面数据会变回默认 (这里暂不做演示,有兴趣的朋友自己去试一下,不使用viewModel的情况跟使用viewModel的情况)

这里使用了savedInstanceState判断是否重建了,其实也可以直接在onCreate中,判断tvLiveData.getValue是否为空,非空则修改页面数据即可

可以通过viewModel恢复数据的原因,即上面第二张图片,viewModel的生命周期,覆盖了activity的整个生命周期,直到activity再次正常退出并正常创建。

 屏幕竖屏横屏翻转情况下activity的生命周期变化

ViewModel的使用就是那么简单,配合liveData数据回调(只会在前台运行中才回调数据),再配合okhttp在viewModel实现网络请求以及其他一些数据处理。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值