0Pricing
Android Academy · Ders

Varlıklar ve DAO'lar

Tabloları ve veri erişim nesnelerini tanımlayın.

Varlıklar ve DAO'lar, CoddyKit'te ücretsiz bir Android Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Android Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Android Academy kursu toplamda 4 dersten oluşur.

Room Nedir

Room, SQLite üzerinde bir soyutlama katmanı sağlayan kalıcı veri kitaplığıdır. Derleme zamanında denetlenen sorgularla veritabanı satırları üzerinde Kotlin nesneleri olarak çalışmanızı sağlar.

Room'un Üç Yapı Taşı

  • Entity — veri sınıfı olarak temsil edilen bir tablo.
  • DAO — Veri Erişim Nesnesi; sorguları tanımlar.
  • Database — varlıkları ve DAO'ları bir araya getirir (sonraki ders).

Bir Entity Tanımlama

Bir veri sınıfına @Entity ek açıklamasını uygulayın. Her özellik bir sütuna dönüşür.

import androidx.room.Entity
import androidx.room.PrimaryKey

@Entity(tableName = "users")
data class User(
    @PrimaryKey val id: Int,
    val name: String,
    val email: String
)

Birincil Anahtarlar

Her varlık için bir @PrimaryKey gerekir. Room'un kimlikleri otomatik oluşturmasını sağlamak için autoGenerate kullanın.

@Entity
data class Note(
    @PrimaryKey(autoGenerate = true)
    val id: Int = 0,
    val text: String
)

Sütunları Özelleştirme

Bir sütunu yeniden adlandırmak veya tür yakınlığını ayarlamak için @ColumnInfo kullanın.

import androidx.room.ColumnInfo

@Entity
data class User(
    @PrimaryKey val id: Int,
    @ColumnInfo(name = "full_name")
    val name: String
)

DAO Nedir

Bir DAO, @Dao ile ek açıklama uygulanmış bir arabirimdir. Uygulamanızın verileri okumak ve yazmak için kullandığı yöntemleri bildirir. Room uygulamayı sizin için oluşturur.

Ekleme, Güncelleme, Silme

Room, temel işlemler için kullanışlı ek açıklamalar sağlar.

@Dao
interface UserDao {
    @Insert
    suspend fun insert(user: User)

    @Update
    suspend fun update(user: User)

    @Delete
    suspend fun delete(user: User)
}

Çakışma Stratejileri

Zaten var olan bir satırı eklerken onConflict ile bir strateji seçin.

@Insert(onConflict = OnConflictStrategy.REPLACE)
suspend fun upsert(user: User)

@Query ile Özel Sorgular

@Query ek açıklaması SQL yazmanızı sağlar. Room bunu şemanıza göre derleme zamanında denetler.

@Query("SELECT * FROM users WHERE id = :id")
suspend fun getById(id: Int): User?

suspend İşlevleri Neden Kullanılır

Veritabanı G/Ç işlemleri ana iş parçacığında çalıştırılmamalıdır. DAO yöntemlerini suspend olarak işaretlemek, bir eş yordamdan çağrıldıklarında Room'un bunları ana iş parçacığı dışında çalıştırmasını ve kullanıcı arayüzündeki takılmaların önlenmesini sağlar.

Derleme Zamanı Güvenliği

Room'un önemli bir yararı şudur: Bir @Query içinde sütun adını yanlış yazarsanız derleme başarısız olur. Hataları çalışma zamanında değil, erkenden yakalarsınız.

Hızlı Kontrol

Varlıklar ve DAO'lar konusundaki anlayışınızı test edin.

Özet

Şunları öğrendiniz:

  • @Entity, bir tabloyu @PrimaryKey içeren veri sınıfı olarak tanımlar.
  • @Dao, sorgu, ekleme, güncelleme ve silme yöntemlerini bildirir.
  • @Query SQL'i derleme zamanında denetlenir.
  • DAO yöntemleri, ana iş parçacığı dışındaki G/Ç işlemleri için suspend olmalıdır.

Sıkça Sorulan Sorular

“Varlıklar ve DAO'lar” dersi ücretsiz mi?

Evet — “Varlıklar ve DAO'lar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Android Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Android Academy kursu toplamda 4 dersten oluşur.

“Varlıklar ve DAO'lar” dersinde ne öğreneceğim?

Tabloları ve veri erişim nesnelerini tanımlayın. Android Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.

Android Academy öğrenmeye başlamak için deneyim gerekli mi?

Önceden deneyim gerekmez. CoddyKit'te Android Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.

“Varlıklar ve DAO'lar” dersi ne kadar sürer?

Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.

Bu Android Academy dersinde kod yazıp çalıştırabilir miyim?

Evet. Her Android Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.

Bu kursun tüm dersleri

  1. Varlıklar ve DAO'lar
  2. Room Veritabanı Sınıfı
  3. Sorgular ve İlişkiler
  4. Flow ile Verileri Gözlemleme
← Android Academy Sayfasına Dön