Welcome to the Room Database Quiz! This quiz will test your knowledge of implementing SQLite-based database storage using the Room persistence library in Android applications. The questions cover various aspects, including setting up a Room database, working with entities, DAOs, repositories, and integrating these with a ViewModel and Jetpack Compose UI. Whether you’re revisiting concepts or testing your understanding, this quiz is designed to help reinforce your learning and ensure you’re ready to build robust data-driven Android apps.
1.
Which annotation is used to define a class as an entity in Room?
2.
Which component is typically responsible for managing the UI state in the Room-based project?
3.
Why is it important to avoid performing database operations on the main thread?
4.
What does the '@Insert' annotation in a DAO do?
5.
Which function is used to prevent blocking the main thread during database operations?
6.
Why is 'LiveData' used in Room database queries?
7.
Why might 'autoGenerate = true' be used with the '@PrimaryKey' annotation?
8.
How is a Room database instance created in the RoomDemo project?
9.
Which library is required for handling asynchronous Room database queries?
10.
What is the role of a Repository class when working with Room databases?
11.
What is the purpose of using 'MutableLiveData' in a repository?
12.
What does the 'fallbackToDestructiveMigration()' method do in Room?
13.
Which component in Room is responsible for defining SQL queries?
14.
What should be done to use the Database Inspector with a running Room database app?
15.
How can changes to database records be automatically reflected in the UI?
16.
What is the purpose of the 'MainViewModelFactory' class?