This set of multiple-choice questions focuses on the role of the ViewModel in Android architecture, particularly in conjunction with Jetpack Compose. It explores key concepts such as state management, lifecycle handling, separation of concerns, and the use of functions like viewModel() and observeAsState() for integrating ViewModel data into Composable functions. By understanding these concepts, developers can effectively manage UI-related data, maintain consistency across configuration changes, and ensure clean separation between UI logic and data handling in their Android applications.
1.
Which function is used to create or access a ViewModel instance in a Composable?
2.
Why is it recommended to initialize a ViewModel in a top-level Composable?
3.
What is the key benefit of using ViewModel with a Compose UI?
4.
Which of the following statements is true about the viewModel() function?
5.
When should you use the MutableLiveData class in a ViewModel?
6.
When using a ViewModel with Compose, where is the best place to initialize the ViewModel?
7.
Which architecture component is still relevant in modern Android app development with Compose?
8.
How is a MutableState in Compose different from MutableLiveData?
9.
Which of the following is a key principle of modern Android architecture recommended by Google?
10.
Why is it important to use viewModelScope when performing background tasks?
11.
What role does the MutableState object play in a ViewModel with Compose?
12.
How does a ViewModel instance behave when an activity is recreated?
13.
What is the purpose of the observeAsState() function?
14.
Which statement about MutableLiveData is correct?
15.
In a ViewModel, what triggers the recomposition of the UI?
16.
Which of the following is true about the viewModel() function?
17.
Which of the following best describes 'separation of concerns' in Android architecture?
18.
What is the primary benefit of using LiveData with ViewModel in a non-Compose Android app?
19.
What is the primary purpose of the ViewModel component in Android architecture?
20.
What role does the 'separation of concerns' concept play in Android app architecture?
21.
What is a common use case for the viewModelScope in a ViewModel?
22.
Which Compose library function converts a LiveData object into a State object?
23.
What dependency must be added to use the Compose viewModel() function?
24.
How does the ViewModel help with activity lifecycle management?