إنشاء جداول بيانات في قاعدة بيانات

تتيح مكتبة Room لاستدامة البيانات استخدام عروض قاعدة بيانات SQLite، ما يسمح لك بتضمين طلب بحث في فئة. تشير Room إلى هذه الفئات المستندة إلى طلبات البحث باسم العروض، ويمكنك استخدامها ككائنات بيانات في كائن الوصول إلى البيانات (DAO).

إنشاء عرض

لإنشاء عرض، أضِف الشرح التوضيحي @DatabaseView إلى فئة. اضبط قيمة الشرح التوضيحي على طلب البحث الذي تمثله الفئة.

تعرض مقتطف التعليمات البرمجية التالي مثالاً على عرض:

@DatabaseView(
    """
    SELECT User.id, User.name, User.departmentId, Department.name AS departmentName
    FROM User INNER JOIN Department ON User.departmentId = Department.id
    """
)
data class UserDetail(
    val id: Long,
    val name: String?,
    val departmentId: Long,
    val departmentName: String?
)

ربط عرض بقاعدة بياناتك

لتضمين هذا العرض في قاعدة بياناتك، أضِف السمة views إلى الشرح التوضيحي @Database لتطبيقك:

@Database(
    entities = [User::class, Department::class],
    views = [UserDetail::class],
    version = 1
)
abstract class AppDatabase : RoomDatabase() {
    abstract fun userDao(): UserDao
}