Android Data Binding Nedir? Nasıl Kullanılır?

Esra ÖZ
2 min readJul 2, 2022

--

Herkese merhabalar,

Bugün sizlere bir Jetpack kütüphanesi olan, Google IO 2015 ile hayatımıza giren Data Binding Kütüphanesinden bahsedeceğim. Hazırsanız başlayalım :)

DataBinding Türkçe karşılığından da anlayacağımız üzere veri bağlama işlemidir ve view nesnelerine erişim sağlamamıza yardımcı olur.
FindViewById ile bütün componentler için tek tek yaptığımız erişim işini, Data Binding sayesinde uygulama başlangıcında
Android’in View hiyerarşisini bir kere taramasıyla gerçekleştirebiliyoruz. Peki bu Data Binding nasıl kullanılır?

Data Binding Nasıl Kullanılır?

İlk olarak Data Binding kütüphanesini kullanabilmek için build.gradle(app) dosyasına aşağıdaki kod parçacığını ekliyoruz ve sync now işlemini gerçekleştiriyoruz.

Daha sonra XML dosyamızı açıyoruz ve Data Binding ile viewlara erişmek için kullanacağımız xml dosyasına <layout> taglerini ekliyoruz.
Namespaceleri bu tag’in içine kopyalıyoruz.

<data> tagleri arasında bu XML dosyasına bağlanacak olan verileri ve <variable> taginin içerisine hangi verinin bağlanacağı belirtiyoruz.

Ardından data class’ımızı oluşturmaya gidiyoruz. Product isminde bir data class oluşturduk ve string tipinde değişkenler tanımladık.

XML’de TextView’a text olarak android:text="@string" yerine ‘@={product.productName + “ “ + product.productPrice}’ yazarak NameClass’ının hangi değişkeni kullanacağını belirtiyoruz.

Sıra geldi MainActivity’de neler yapacağımıza.

MainActivity

ActivityMainBinding’ i compiler otomatik olarak oluşturur. Bunu yaparken activity_main dosyasında Data Binding işlemi gerçekleştirileceği için ActivityMain ismini direkt alır ve sonuna Binding kelimesini ekler.

Normalde tasarım dosyamızı setContentView ile ilişkilendiriyorduk. Burada Data Binding kullanımı için DataBindingUtil class’ından setContentView fonksiyonunu activity_main ile ilişkilendiriyoruz.

Daha sonra Product sınıfından nesne üretilir ve binding işlemini yapacak nesne ile XML dosyasına neyin bağlanılacağı bildirilir. Yani XML dosyasına ben sana Product sınıfından name ve price’ı olan bir değişken bağlıyorum diyoruz.

Data Binding kullanımı bu şekildeydi. Peki neden Data Binding kullanırız?

Neden Data Binding?

1- Kullanımı kolay
2- Daha az ortak kod (findViewById ve daha fazlasını ortadan kaldırır)
3- MVVM mimarisine uygun
4- Kaynaklar ve UI öğeleri arasında verileri senkronize eder

Son olarak projenin tamamına ait github linkini aşağıya bırakıyorum. Esra kaçar :)

https://github.com/yesraoz/DataBindingExample

--

--