Android

Android Room ile Veritabanı İşlemleri

SQLite, Room ve Firebase Realtime Database dahil olmak üzere Android’de kullanılabilecek birkaç veritabanı vardır.

Android Room Nedir?

Android Room, Android platformunda SQLite veritabanını kullanmak için tasarlanmış bir veritabanı yapılandırma aracıdır. Room, SQLite veritabanını daha kolay ve güvenli kullanmanıza olanak tanır ve veritabanı işlemlerini daha yapısal bir şekilde yapmanıza yardımcı olur.

Room, veritabanındaki verileri Java objelerine dönüştürür ve veritabanı işlemlerini bu objeler üzerinden yapmanıza olanak tanır. Bu, veritabanı işlemlerinin daha okunabilir ve anlaşılabilir olmasını sağlar ve hataların önlenmesine yardımcı olur. Room ayrıca, veritabanının farklı versiyonları arasındaki değişiklikleri yönetmeyi kolaylaştırır ve veritabanının güncellenmesini daha kolay hale getirir.

Room, veritabanının yanı sıra LiveData ve RxJava gibi fonksiyonlarla da birlikte çalışabilir ve veritabanındaki verilerin asenkron olarak okunmasını ve güncellenmesini sağlar.

Kısacası, Android Room, Android platformunda veritabanı kullanmak isteyen geliştiriciler için kullanımı kolay ve güvenli bir veritabanı yapılandırma aracıdır.

Android Room Projeye Nasıl Eklenir?

Android Room, bir Android projesine eklemek için aşağıdaki adımları takip etmeniz gerekir.

Adım 1: Gradle dosyanıza Room kütüphanesini eklemek için proje dizinine gidin ve app/build.gradle dosyasına gidin. Aşağıdaki satırları dependencies bloğunun içine ekleyin:

Adım 2: Veritabanı için bir model sınıfı oluşturun. Model sınıfı, veritabanındaki bir tablonun Java objesi olarak tanımlanmasını sağlar. Örneğin, aşağıdaki gibi bir kullanıcı model sınıfı oluşturabilirsiniz:

Ogrenci.java

Adım 3: Veritabanındaki verileri erişmek için bir DAO (Data Access Object) sınıfı oluşturun. DAO sınıfı, veritabanındaki verileri okuma, yazma, güncelleme ve silme işlemlerini tanımlar. Örneğin, aşağıdaki gibi bir öğrenci DAO sınıfı oluşturabilirsiniz:

OgrenciDAO.java

Adım 4: Veritabanını tanımlayın. Veritabanı, RoomDatabase sınıfından türetilen bir sınıf olarak tanımlanır. Veritabanı sınıfı, DAO sınıfını ve veritabanı versiyonunu tanımlar. Örneğin, aşağıdaki gibi bir veritabanı sınıfı oluşturabilirsiniz:

AppDatabase.java

Adım 5: Veritabanını kullanmak için bir veritabanı nesnesi oluşturun. Veritabanı nesnesi, veritabanı sınıfından türetilen bir nesne olarak oluşturulur ve veritabanının kullanılması için gerekli olan context ve veritabanı adı gibi parametrelerle birlikte verilir. Örneğin, aşağıdaki gibi bir veritabanı nesnesi oluşturabilirsiniz:

Bu noktadan sonra, veritabanı işlemleri için db.ogrenciDao() metodunu kullanabilirsiniz. Örneğin, bir kullanıcı eklemek için aşağıdaki gibi bir kod yazabilirsiniz:

Yine aynı şekilde veritabanında bulunan tüm kayıtları almak için ogrenciDao içindeki getAll() olarak oluşturduğumuz metodu kullanabilirsiniz:

MainActivity içindeki test etmek için OnCreate metodu içinde aşağıdaki gibi Executors ile Thread açarak test edebilirsiniz.

MainActivity.java

XML Layout ile Android Room Kullanma

activity_main.xml

MainActivity.java

Android Room Parametre Kullanarak Sorgulama

Ayrıca Room yapısını kullanarak Android platformunda verilerinizi sorgulayabilirsiniz. Aşağıdaki örnekte öğrenciler belirli bir yaş aralığına göre sınırlandırılmıştır.

OgrenciDoa.java

Android Room Annotation Listesi

Android Room veritabanı sınıflarını tanımlamak ve veritabanına erişmek için kullanabileceğiniz bir dizi annotation bulunmaktadır. Bunların bazıları şunlardır:

  1. @Entity: Veritabanında saklanacak veri nesnesi tanımlanır.
  2. @PrimaryKey: Bir veri nesnesinin birincil anahtarı tanımlanır.
  3. @ColumnInfo: Veri nesnesinin bir sütununu etiketlemek için kullanılır.
  4. @Ignore: Veri nesnesinin serilize edilmeyecek olan bir alanı belirtmek için kullanılır.
  5. @Dao: Veritabanındaki verileri okuma, ekleme, güncelleme ve silme işlemlerini yapmak için kullanılan arayüzdür.
  6. @Query: Veritabanındaki verileri sorgulamak için SQL sorguları yazmak için kullanılır.
  7. @Insert: Veritabanına veri eklemek için kullanılır.
  8. @Update: Veritabanındaki veriyi güncellemek için kullanılır.
  9. @Delete: Veritabanındaki veriyi silmek için kullanılır.
  10. @Transaction: Veritabanı işlemlerinin bir bütün olarak işlenmesini sağlamak için kullanılır.

Yorum Yap

Yorum yapmak için tıklayın