Android View Binding ve Data Binding Nedir?

Ferhat ÖZÇELİK
3 min readJan 1, 2023

--

View Binding Nedir?

View Binding, Android Studio 3.6'da tanıtılan bir özelliktir ve Android uygulamalarında UI bileşenleri ile etkileşim kurmak için kullanılır. View Binding, belirli bir layout dosyası içindeki tüm görünümleri bir nesneye bağlar. Bu nesne, görünümlere erişmek için kullanılabilir ve findViewById() yöntemlerinin kullanımına gerek kalmadan kullanılabilir.

View Binding, kullanımı kolay, hızlı ve hatasız bir yol sunar. Bu özellik, findViewById() yöntemi kullanarak UI elemanlarına erişmeyi sağlayan geleneksel yöntemlerden daha performanslıdır. Ayrıca, View Binding sayesinde layout dosyalarındaki değişikliklerin kodunuzdaki değişikliklere otomatik olarak yansıtılması kolaylaşır.

View Binding kullanmak için, öncelikle projenizin gradle dosyasında viewBinding özelliğini true olarak ayarlamanız gerekir. Daha sonra, View Binding nesnesine erişmek için inflate yöntemi kullanarak layout dosyanızı şişirirsiniz.

Örneğin:

Bu işlem, layout dosyanızı şişirerek bir nesne döndürür. Bu nesne, layout dosyanızdaki tüm görünümlere erişmenizi sağlar. Örneğin, binding.button şeklinde bir erişim ile, button adlı buton görünümüne erişebilirsiniz.

Data Binding Nedir?

Android Data Binding, Android uygulamalarında UI bileşenleri ile etkileşim kurmak için kullanılan bir özelliktir. Bu özellik, View Binding’in bir türü olarak düşünülebilir ancak daha gelişmiş özelliklere sahiptir.

Android Data Binding, veri kaynakları ile UI elemanlarını bağlamak için kullanılır. Bu özellik, UI bileşenlerindeki verileri doğrudan bir veri kaynağına bağlayarak, findViewById() yöntemlerinin kullanımına gerek kalmadan kullanılabilir. Bu, daha verimli bir kod yazma deneyimi sunar ve kodun okunabilirliğini artırır.

Data Binding, kullanımı kolay ve hızlı bir yol sunar. Bu özellik, UI elemanlarına erişmek için findViewById() yöntemi kullanmaktan daha performanslıdır. Ayrıca, Data Binding sayesinde layout dosyalarındaki değişikliklerin kodunuzdaki değişikliklere otomatik olarak yansıtılması kolaylaşır.

Data Binding kullanmak için, projenizin gradle dosyasında dataBinding özelliğini true olarak ayarlamanız gerekir. Daha sonra, verileri tanımlayan bir sınıf oluşturursunuz ve bu sınıfı layout dosyanıza bağlarsınız. Bu sınıfın özellikleri, UI elemanlarına bağlandığında otomatik olarak güncellenir.

Örneğin, bir TextView elemanının metnini bir veri kaynağındaki bir değişkene bağlamak istediğinizde, aşağıdaki gibi bir kod kullanabilirsiniz:

Bu kod, myViewModel sınıfındaki myData adlı değişkenin değerini TextView elemanına bağlar. Bu sayede, myData değeri değiştirildiğinde TextView elemanı otomatik olarak güncellenir.

Data Binding, Android uygulamalarında verileri ve UI bileşenlerini birleştirmek için kullanılan güçlü bir araçtır. Bu özellik, UI bileşenleri ve veriler arasındaki bağlantıyı güçlendirir ve kod yazma sürecini daha verimli hale getirir.

View Binding ve Data Binding Arasındaki Farklar Nelerdir?

View Binding ve Data Binding, Android uygulamalarında UI bileşenleri ile etkileşim kurmak için kullanılan iki farklı özelliktir. İşlevsel olarak benzer olsalar da, aralarında bazı farklılıklar vardır.

  1. Kullanım: View Binding, UI bileşenlerine erişmek için kullanılan daha basit bir yöntemdir. Bir layout dosyasındaki tüm görünümleri bir nesneye bağlar. Diğer yandan, Data Binding, UI bileşenleri ile veri kaynakları arasındaki bağlantıyı kurmak için kullanılır. Bu nedenle, daha gelişmiş bir özelliktir.
  2. Performans: View Binding, findViewById() yöntemlerini kullanmaktan daha performanslı bir yöntemdir. Bunun nedeni, findViewById() yönteminin zaman alıcı bir işlem olmasıdır. Data Binding ise, View Binding’in aksine, daha fazla kod karmaşıklığına neden olabilir ve performansı düşürebilir.
  3. Esneklik: Data Binding, UI bileşenlerindeki verileri doğrudan bir veri kaynağına bağlama özelliği sunar. Bu, kodun daha okunaklı ve esnek olmasını sağlar. Diğer yandan, View Binding, sadece UI bileşenlerine erişmek için kullanılır ve veri kaynağı bağlama özelliği sunmaz.
  4. Veri türleri: Data Binding, farklı veri türleri arasındaki dönüşümleri yapmak için kullanılabilir. Bu, bir UI bileşeni için gerekli olan veri türünü doğrudan belirleyebilir ve bu veri türüne göre uygun bir veri kaynağı sağlayabilirsiniz. View Binding ise, yalnızca UI bileşenlerine erişmek için kullanılır ve veri türleri arasındaki dönüşümleri yapmak için bir özellik sunmaz.
  5. Kapsam: Data Binding, yalnızca Android Studio 1.3 ve sonraki sürümlerde kullanılabilirken, View Binding, Android Studio 3.6 ve sonraki sürümlerde kullanılabilir.

Sonuç olarak, View Binding, UI bileşenlerine erişmek için kullanılan basit bir yöntemdir. Diğer yandan, Data Binding, UI bileşenleri ile veri kaynakları arasındaki bağlantıyı kurmak için kullanılır ve daha gelişmiş bir özelliktir. Hangi yöntemin kullanılacağı, projenin gereksinimlerine ve geliştiricinin tercihine bağlıdır.

Proje Repo: https://github.com/ferhatozcelik/Data-And-View-Binding

Originally published at Ferhat ÖZÇELİK.

--

--

No responses yet