Junior — Middle
How can local data storage be organized in an Android application using the Room library?
sobes.tech AI
Answer from AI
To organize local data storage using the Room library in Android, you need to perform several steps:
- Define entities — classes that describe database tables.
- Create DAO (Data Access Object) — interfaces with methods for data access.
- Create a database class that inherits from
RoomDatabase, where you declare the DAO. - Initialize the database using
Room.databaseBuilder.
Example:
@Entity
data class User(
@PrimaryKey val id: Int,
val name: String
)
@Dao
interface UserDao {
@Query("SELECT * FROM User")
fun getAll(): List<User>
@Insert
fun insert(user: User)
}
@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
// Database initialization
val db = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java, "database-name"
).build()
val userDao = db.userDao()