Android Realm Kullanımı

realm_android

Realm Nedir?

Realm Veritabanı SQLite  gibi veritabanı yönetimine bir alternatiftir.  Kısaca açık kaynak kodlu bir veritanı yönetim sistemidir.
Java, Javascript, .Net, Objective-C ve Swift’de mevcut ve hem iOS hem de Android için tasarlanmıştır.
Sıfır-kopya tasarımı sayesinde, Realm Database bir ORM’den çok daha hızlıdır ve genellikle ham SQLite’den daha hızlıdır. Resimlerde de yapılan testlerde hızı gözle görülür derecededir.

Realm Get

realm
Query

 

realm inserts
Realm Insert

 

Örnek projeyi açmaya çalışırken hata alabilirsiniz ben Android Studio 3.1.3 de projeyi oluşturdum. Android Studio’nuz güncel olmalıdır.

Realm Kullanabilmek için bazı ön şartlar var bunlara dikkat etmelisiniz.

  • Android Studio sürüm 1.5.1 veya üstü
  • JDK sürüm 7.0 veya üstü
  • Android SDK’nın yeni bir sürümü
  • Android API Seviye 9 veya üstü (Android 2.3 ve üstü)

Not: Realm, Android’in dışında Java’yı desteklemez. Artık Eclipse’i bir IDE olarak desteklemiyoruz; lütfen Android Studio’ya geçin.

Gerekli detaylara Realm’ın anlatımından da bakabilirsiniz.
https://realm.io/docs/java/latest

Örnek olarak hazırlamış olduğum Ad Soyad ve Yaş bilgisini listview’e ekleme ve daha sonra listedeki herhangibir elemanı üzerine tıklayınca silme işlemi, uzun basılı tutunca da seçilen elemanı düzenleyip güncelleme işlemi yapan basit bir örnek oluşturdum. Dilerseniz bu örneği indirip kodları inceleyebilirsiniz. Kodlar açıklamalarla belirtilmiştir. İleriki zamanlarda daha detaylı olarak fırsat buldukça yazacağım.

build.gradle(Project) dependencies ‘ın altına ekliyoruz.

build.gradle (Module:app) application’ın hemen altına yapıştırıyoruz

Şimdi Application sınıfımızı oluşturacağız.

Android Manifest.xml dosyasında application’in içerisine aşağıdaki kodu ekliyoruz. url bölümünü kendi uygulamanıza göre düznelemeyi unutmayın.

Kendi uygulamamda oluşturduğum InfoModel java classı üzerinden anlatıyorum sizler de kendi class’ınızı oluşturduğunuzda gerekli değişimleri yapabilirsiniz. Class oluşturduktan sonra RealmObject extends ediyoruz. Daha sonra gerekli olan değişkenleri yazıyoruz. Biz burada int id olarak tanımladığımız “id” değişkenini main activty de göndereceğimiz primery key olarak da bildiğimiz her realm objesinin id sini veriyoruz. toString olarak tanımladığım ise yazılan her objeyi textview de görüntülemek için kullandım. Daha sonra değişkenlerimizin get set değerlerini tanımlıyoruz ki bunlara değer set edebilelim.

 

Şimdi geldik en önemli bölüme. Mainactivity.java da yapacak olduğumuz bağlantılar  neler olacak şimdi tek tek açıklayalım. İlk olarak Realm’i global olarak tanımlayalım.

oncreate in içerisinde de atamasını yapalım.

eğer kaydedilen verileri silmek istiyorsanız aşağıdaki kodu kullanabilirsiniz.

Şimdi datayı kaydetmeyi öğrenelim. Realm ile data nasıl kaydedilir?
Uygulama üzerinden anlatıyorum siz bu bölümü istediğiniz yerde çağırabilirsiniz. Kaydet butonunun onclick methodunu yazdık. Butona tıklanınca yapılacaklar altta açıklamalı olarak belirttim.

Verileri şuan realm veritabanına ekledik. eklediğimiz verileri şimdi görüntülemek için listview ekledik ve yazdırdık.

Veritabanından eleman silmek için mainactivity içerisinde delete methodu oluşturduk.

Realm veritabanında eğer bir değişiklik yapmışsak bunu anlık güncellemek için aşağıdaki methodu kullanabilirsiniz. Örnek uygulamayı indirirseniz daha basit olarak anlayabilirsiniz.

şimdi de geriye kalan güncelleme gibi kısımları ekliyorum açıklamalar içerisinde mevcut bazı methodları da ekledim ki arayarak da bulabilirsiniz.

https://github.com/unalzafer/Realm

realm-ornek
realm-ornek

 

İlk yorum yapan olun

Bir yanıt bırakın

E-posta hesabınız yayımlanmayacak.


*


This site uses Akismet to reduce spam. Learn how your comment data is processed.