Junior — Middle
Aveți experiență practică în utilizarea bibliotecii Room pentru lucrul cu baza de date locală pe Android?
sobes.tech AI
Răspuns de la AI
Da, biblioteca Room este un ORM convenabil pentru lucrul cu baza de date SQLite locală în Android. Simplifică crearea, citirea, actualizarea și ștergerea datelor, asigurând în același timp siguranța tipurilor și integrarea cu LiveData și Coroutines.
Exemplu de utilizare a Room:
@Entity(numeTabel = "users")
data class User(
@PrimaryKey val id: Int,
val name: String,
val age: Int
)
@Dao
interface UserDao {
@Query("SELECT * FROM users")
fun getAllUsers(): List<User>
@Insert(onConflict = OnConflictStrategy.REPLACE)
fun insertUser(user: User)
}
@Database(entities = [User::class], versiune = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
// Inițializarea bazei de date
val db = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java, "app-database"
).build()
// Utilizare
val users = db.userDao().getAllUsers()
Room generează automat codul pentru accesul la bază de date, ceea ce reduce cantitatea de cod repetitiv și erori.