Getting Started with Android Data Binding

Hello friends, i am back with a new post about Android Data Binding.

Q. What is data binding?
Ans: Data binding is android’s API which connect UI and data (XML and your model).

Q. Why to use data binding?
Ans : It reduces the boilerplate code & give thunder lightning to your development speed.


Now the main question how to get started with data binding, how to use it and much more.
In this post we learn basics about data binding.
1. How to configure your project.
2. How to connect XML and JAVA or XML file.

Configure the project:

Add Kotlin plugin build.gradle (app)

apply plugin: 'kotlin-kapt'

Enable data binding in build.gradle (app)

dataBinding {
        enabled = true
    }

Here we go now sync your project & your project is ready to take benefits of data binding.

Configure your XML to use data binding.

Add <layout> tag before your parent layout, your XML must look like this

<?xml version="1.0" encoding="utf-8"?>
<layout>
<androidx.constraintlayout.widget.ConstraintLayout
        xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools"
        xmlns:app="http://schemas.android.com/apk/res-auto"
        android:layout_width="match_parent"
        android:layout_height="match_parent"
        android:id="@+id/constMain"
        tools:context=".activity.DashboardActivity">

</androidx.constraintlayout.widget.ConstraintLayout>
</layout>

Now connect your XML to Your Java Or Kotlin File to use your view directly, get rid of findViewById.

Your activity should look something like this:

 lateinit var binding : ActivityDashboardBinding

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = DataBindingUtil.setContentView(this,R.layout.activity_dashboard)
    }

Note: The Class ActivityDashboardBinding will be automatically created by Data binding, the class name will be given based on your XML file name,
like: my XML file name activity_dashboard so the binding class will be ActivityDashboardBinding. if you still confuse comment below.

now the binding variable contains reference to you XML binding, you can access any view inside your XML by simple binding.’your-view-id’ 😉

Like my example i can use like binding.constMain

More about data binding in next post hope you enjoy.

Comment if you want more tutorials on Android Data binding.

Leave a Reply