Sobes.tech
Junior — Middle

შეგიძლიათ ახსნათ, რა ნიშნავს Embedded ანოტაცია Room-ის ბიბლიოთეკაში?

sobes.tech AI

პასუხი AI-სგან

Room ბიბლიოთეკაში @Embedded ანოტაცია გამოიყენება ერთ ობიექტის ველების ჩასმაში სხვა მონაცემთა ბაზის ერთობაში, როგორც მისი სვეტების ნაწილი. ეს თავიდან აცილებს შიგნიდან ობიექტისთვის ცალკე ცხრილის შექმნას და მისი ველები პირდაპირ ინახება მშობელი ერთობის ცხრილში.

მაგალითად, თუ გაქვთ კლასი Address ველებით street და city, და გსურთ მისი ჩართვა User ერთობაში, მაშინ @Embedded-ის გამოყენებით ველები street და city დაემატება სვეტებად User ცხრილში.

data class Address(
    val street: String,
    val city: String
)

@Entity
data class User(
    @PrimaryKey val id: Int,
    val name: String,
    @Embedded val address: Address
)

შედეგად, User ცხრილი შეიცავს სვეტებს: id, name, street, city. ეს სასარგებლოა მონაცემების ნორმალიზაციისა და შეკითხვების გამარტივებისთვის.