Çoğu uygulamalar verilerle çalışmaktadır.Yakın zamana kadar,Android Developerlar bir sürü kod yazmak zorundaydı çünkü hiç bir sınıf platformu binding için desteklemiyor durumdaydı.
Developerlar için verileri veritabanından çekmeye ihtiyaç duyuyarar yada kullanıcı girişi ve kullanıcıya değerleri sunmaya gerek duyarlar.Bu durum developerlar için oldukça zahmetli ve developerlar tarafından entelektüel olmayan bir yöntem.İşte bunlara çözüm olarak gelen data binding kütüphanesinin kullanımı ile olmuştur.

Temel Data Binding

Google 2015 te yeni bir data binding kütüphanesi piyasaya sunumuştur.Bu kütüphane aşagıdaki üç adımıda çözüm bulmaktadır.

  • Bir layouttan binding(bağlama) oluşturmuştur.
  • Veriyi geri alma
  • Bağlanmış görüntüleri görüntüleme

Kod yazımındaki  azalma akabinde  performansı geliştirmiştir.Databinding kütüphanesi layout dosyasını analiz eder.Grade’a data binding ile ilgili kodu ekleyerek classlarda binding metotlarını classlarda kullanabilir hale gelmektedir.

Data Binding Uygulama

Şimdi bir uygulama geliştirelim.İlk yapmamız gereken bizim kütüphanemizin yüklenmesi için işlem yapcağız.Android studio nun Gradle.Scripts kısmında  build.gradle kısmını yani ikinci dosyayı  açtık.Bu dosyaya aşağıdaki kodu ekledik.

Data Binding’i aktif etmek içinde aynı dosyaya aşağıdaki kodu ekliyoruz.

Son olarak   build.gradle dosyasının görünümü bu şekilde olmaktadır.

 

Creating Model Class

Şimdi User POJO sınıfı oluşturacağım.Değer olarak iki tane field da sahip olacak bunlar ise name ve email dir.Fieldların getter ve setter mettodlarını oluşturuyoruuz. Bu pojo sınıfımıza ise BaseObservable olarak extends alırız.Bu BaseObservable bir arayüzdür.Bunun sayesinde field’larımızı kolay bir şekilde değiştirip güncelleye biliriz.Bu uygulamada ise email field üzerindeki değişiklikleri izleyeceğiz.@Bindable annotation olarak email değirini getter’ına ekliyoruz.Setter’ında  ise notifyPropertyChanged(BR.email).BR mail için otomatik oluşturduğumuzu ilgilenneceğimiz alan için belirlemek içindir.

 

Creating Layout

Data Binding’i binding yapan işlemlerden en önemlisi xml dosyamız üzerinde işlem yapmamızdır.Bu sayede bizim uygulamamızın eş zamanlı olarak çalışmasını sağlayacağız.Bu yapdıda xml’ler normal yapılardan biraz daha farklı olmaktadır.Bizim değeri çektiğimiz kök eleman layout <layout> içinde belirlenir.Sonra Model <variable> başvurarak  <data> içinden element elde edilir.Veriyi bağlamak içinde @ ardında { } içinde   veri çağırılır. Örnek olarak TextView içerisindeki text bu şekilde senkron bir şekilde değer olmaktadır.

User nesnesinin içerisindeki değer olarak field çağırılır.Bu değer her değiştirğinde senkron bir şekilde ekranda kullanıcıya gösterilecektir.EdilText değerini doldurmak için benser bir sekilde email değeri alınıyor.

Button onClick için değeri çekmektedir.

Button tıklandıktan sonra email değerini çekerek Toast Mesaj olarak ekranda kullanıcıya sunacaktır.

MainActivty

Bu işlemden sonra MainActivty sınıfımızda android’in sağlamış olduğun ActivityMainBinding nesnemizi yaratıryoruz.

Oluşturduktan sonra User nesnemizi setliyoruz.Bu modeli binding.setUser() metoduna bağlıyoruz.Benzer şekilde setActivty() metodunu bağlıyoruz.

 

Facebook Twitter Email Tumblr Digg

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir