一、思路
ViewModel作为View监听器和View进行绑定,LiveData数据存放在ViewModel数据持久化,并具有观察性。View通过监听LiveData的数据变化,进行相应的UI操作。
UserRepository作为数据来源层,可以是本地数据库SqlLite,本地文件,网络数据
二、核心代码
1、ViewModel
package com.example.viewmodel_livedata.viewmodel;
import com.example.viewmodel_livedata.bean.LoginBean;
import com.example.viewmodel_livedata.repository.UserRepository;
import androidx.lifecycle.MediatorLiveData;
import androidx.lifecycle.ViewModel;
public class UserViewModel extends ViewModel {
public MediatorLiveData liveData = new MediatorLiveData<>();
private UserRepository userRepository = new UserRepository();
/**
* 请求登录
*
* @param userName
* @param pwd
*/
public void requestLogin(String userName, String pwd) {
liveData.setValue(use