Mercan Birer
Etiya
Published in
Oct 21, 2022

Jetpack Compose ile Room Database

Selamlar,

Veritabanında lokalde tutulması istenen veriler için Android’in içerisinde barındırdığı kütüphanelerden birisi olarak yer alan Room’dan bahsedeceğim. SQLite veritabanını temel alır.

  • İlk olarak build.gradle dosyasına ilgili kütüphaneleri ekliyoruz.
implementation "androidx.room:room-ktx:latest_version"
kapt "androidx.room:room-compiler:latest_version"

id 'kotlin-kapt' ve id 'kotlin-parcelize' plugin olarak eklemeyi unutmayalım.

  • Şimdi database’e kaydedeceğimiz verileri içeren modelimizi oluşturalım.

Insert, Delete ve Update işlemlerini yapacağımız UserDao adında interface oluşturuyoruz ve @Dao annotation ekliyoruz.

  • Database versiyonu ve data erişim için @Database annotation ile Database adında abstract class oluşturup içerisine RoomDatabase() ekleyerek locale kaydedeceğiz.
  • Hilt annotation olan @Module yani nesneleri oluşturduğumuz sınıflarımızın içerisine Dao içerisinden oluşturğumuz fonksiyonu ekliyoruz.
  • Repository class ile Dao class’ını @Inject ediyoruz ekleme ve silme fonksiyonlarımızı oluşturuyoruz.
  • UserViewModel oluşturuyoruz.
  • Şimdi girdiğimiz isim ve soy isimleri ekleyerek UI ile işlem yapıyoruz.
  • Kaydedilen verileri android studio içerisinde App Inspection yaparak görebilirsiniz.
Çıktı

Github: https://github.com/mercanbirer/RoomDB

Umarım faydalı olur, iyi çalışmalar.