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
}