Android Jetpack架构组件之LiveData

LiveData

https://developer.android.google.cn/topic/libraries/architecture/livedata

LiveData和ViewModel的关系

在ViewModel中的数据发生变化时通知页面

在这里插入图片描述

public class MyviewModel extends viewModel {
    //MutableLiveData是LiveData子类
	private MutableLiveData<Integer> currentsecond;
    //private MutableLiveData<Integer> currentsecond = new MutableLiveData<>(0);
    
	public MutableLiveData<Integer> getCurrentSecond () {
		if(currentSecond == null) {
			currentsecond = new MutableLiveData<>();
            currentsecond.setvalue (0) ;
		}
		return currentSecond;
    }
}

//非UI线程使用postVaule(),UI线程使用setvalue()
viewModel.getCurrentSecond().postValue
    
//监听LiveData数据变化
viewModel.getCurrentSecond().observe(this,new Observerr<Interger>(){
    @override
    public void onChanged(Interger i){
        textview.setText(String.valueOf(i));
    }    
});

LiveData的优势

确保界面符合数据状态
不会发生内存泄漏
不会因Activity停止而导致崩溃
不再需要手动处理生命周期
数据始终保持最新状态
适当的配置更改
共享资源

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值