How to integrate ViewModel with other Android components?

Integrating ViewModel with other Android components is essential for managing UI-related data in a lifecycle-conscious way. It allows data to survive configuration changes such as screen rotations. In this guide, we will illustrate how to integrate ViewModel with components like Activities and Fragments.

Example: Integrating ViewModel with Activity

<?php // Create a ViewModel class MyViewModel extends ViewModel { private MutableLiveData<String> myData; public LiveData<String> getMyData() { if (myData == null) { myData = new MutableLiveData<>(); loadData(); } return myData; } private void loadData() { // Load data logic here myData.setValue("Hello, ViewModel!"); } } // Inside an Activity public class MainActivity extends AppCompatActivity { private MyViewModel viewModel; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); viewModel = new ViewModelProvider(this).get(MyViewModel.class); observeViewModel(); } private void observeViewModel() { viewModel.getMyData().observe(this, new Observer<String>() { @Override public void onChanged(String data) { // Update UI with data TextView textView = findViewById(R.id.textView); textView.setText(data); } }); } } ?>

ViewModel Android components LiveData Activity integration Fragment integration