AMP Analytics -->

Teknoloji Rehberi

17 Haziran 2025 Salı

Kotlin'de Data Binding ve View Binding Kullanımı

 

Kotlin'de Data Binding ve View Binding Kullanımı

Kotlin'de bindinview ifadesi muhtemelen View Binding veya Data Binding'i kastediyor. İkisi de farklı amaçlar için kullanılan ve birbirinden farklı teknolojiler.

View Binding Kullanımı

View Binding, layout dosyalarındaki view'lara doğrudan ve güvenli erişim sağlar.

1. Gradle'da etkinleştirme

build.gradle (Module: app) dosyasında:   android kısmı sonrasındaki süslü parantezin içinde dependency lerin hemen üstüne yapıştırılır.

gradle
Copy
Download
android {
    viewBinding {
        enabled = true
    }
}

2. Kullanım örneği

kotlin
Copy
Download
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityMainBinding.inflate(layoutInflater)
        setContentView(binding.root)
        
        // View'lara erişim
        binding.textView.text = "Merhaba Dünya"
        binding.button.setOnClickListener {
            // Buton tıklama işlemi
        }
    }
}

Data Binding Kullanımı

Data Binding, verileri doğrudan XML'de kullanmaya olanak tanır.

1. Gradle'da etkinleştirme

build.gradle (Module: app) dosyasında:  build futures içine yapıştırılır.

gradle
Copy
Download
android {
    dataBinding {
        enabled = true
    }
}

2. Layout dosyasını düzenleme

activity_main.xml başına:

xml
Copy
Download
Run
<layout xmlns:android="http://schemas.android.com/apk/res/android">
    <data>
        <variable 
            name="user"
            type="com.example.User" />
    </data>
    
    <LinearLayout>
        <!-- View'lar burada -->
        <TextView android:text="@{user.name}" />
    </LinearLayout>
</layout>

3. Kullanım örneği

kotlin
Copy
Download
class MainActivity : AppCompatActivity() {
    private lateinit var binding: ActivityMainBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = DataBindingUtil.setContentView(this, R.layout.activity_main)
        
        val user = User("Ahmet")
        binding.user = user
        
        // View'lara erişim
        binding.button.setOnClickListener {
            // Buton tıklama işlemi
        }
    }
}

Farklar

  • View Binding sadece view'lara erişimi kolaylaştırır

  • Data Binding ise view'lara veri bağlamaya ve XML içinde ifadeler kullanmaya olanak tanır

Hangisini kullanacağınız ihtiyacınıza bağlı. Sadece view'lara erişmek istiyorsanız View Binding yeterli olacaktır. XML içinde veri işlemleri yapacaksanız Data Binding kullanmalısınız.

Hiç yorum yok:

Yorum Gönder

Popular Posts