Junior — Middle
Можеш ли да изброиш основните части и компоненти на библиотеката Room за работа с бази данни?
sobes.tech AI
Отговор от AI
Основните части на библиотеката Room за работа с бази данни в Android:
- Entity — класове, които описват таблиците на базата данни. Всяко поле на класа съответства на колона.
- DAO (Data Access Object) — интерфейси с методи за достъп до данните (вмъкване, актуализиране, изтриване, заявки). Room генерира реализацията на тези методи.
- Database — абстрактен клас, който наследява от RoomDatabase и обединява всички DAO. Чрез него се създава и достъпва базата.
Пример:
@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
}