Junior — Middle
Έχετε πρακτική εμπειρία στη χρήση της βιβλιοθήκης Room για εργασία με τοπική βάση δεδομένων στο Android;
sobes.tech AI
Απάντηση από AI
Ναι, η βιβλιοθήκη Room είναι ένα βολικό ORM για εργασία με τοπική βάση δεδομένων SQLite στο Android. Απλοποιεί τη δημιουργία, ανάγνωση, ενημέρωση και διαγραφή δεδομένων, διασφαλίζοντας ταυτόχρονα την ασφάλεια τύπων και την ενσωμάτωση με LiveData και Coroutines.
Παράδειγμα χρήσης του Room:
@Entity(όνομαΠίνακα = "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(οnτήτων = [User::class], έκδοση = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}
// Αρχικοποίηση βάσης δεδομένων
val db = Room.databaseBuilder(
context.applicationContext,
AppDatabase::class.java, "app-database"
).build()
// Χρήση
val users = db.userDao().getAllUsers()
Το Room δημιουργεί αυτόματα τον κώδικα για πρόσβαση στη βάση δεδομένων, μειώνοντας τον αριθμό του επαναλαμβανόμενου κώδικα και των σφαλμάτων.