dependencies {
def lifecycle_version = "2.4.0"
implementation "androidx.lifecycle:lifecycle-runtime:$lifecycle_version"
implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
}
public class UserViewModel extends ViewModel {
private MutableLiveData<User> userLiveData;
public LiveData<User> getUserLiveData() {
if (userLiveData == null) {
userLiveData = new MutableLiveData<>();
}
return userLiveData;
}
private void loadUser() {
User user = new User("John Doe", 25);
userLiveData.setValue(user);
}
}
public class MainActivity extends AppCompatActivity {
private UserViewModel userViewModel;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
userViewModel = new ViewModelProvider(this).get(UserViewModel.class);
userViewModel.getUserLiveData().observe(this, user -> {
updateUI(user);
});
}
private void updateUI(User user) {
}
}