Room Database
Explore how to use the Room database in Android apps to create entities, build DAOs, and enable offline support with efficient data caching. Learn to define database tables, handle embedded objects, and implement data access methods to manage blog data in Kotlin.
We'll cover the following...
Dependencies
To use the Room database, we need to add it to our dependencies list:
Because the Room database heavily relies on custom annotations, we also added the Kotlin annotation processor (kapt) dependency.
Entities
Now, we need to tell Room what entities we want to save to the database. Let’s open the Blog class and add the @Entity annotation (1). In doing so, we tell Room to create a table for the blog entity.
To define a primary key, we can simply use @PrimaryKey annotation on the id field (2). While the Room library can automatically persist all Kotlin primitives, it can’t persist custom objects, like Author. To save the Author object, we have two options:
- Create a table for