Data Binding Android Kotlin in hindi

 आज हम देखने वाले है के  kotlin में databinding क्या होता है और वो क्यों use करना चाहिए, तो kotlin इस लिए उसे करना चाहिए क्यू की जब हम setContentView उसे करते है तब वो बार बार refresh होता है उससे app का performance कम हो जाता है और biniding से अयसा नहीं होता इस लिए databinding use करते हैं, तो चलिए हम एक blank android kotlin project से स्टार्ट करते है, जिससे हमें practically पता चलेगा के उसे कैसे युस करते है. 

तो सब से पेहले एक नई प्रोजेक्ट क्रिएट करते हैं. उसमे हम blank activity लेंगे और next पैर क्लिक करेंगे, उसके बाद हम language  में kotlin  लेंगे,

और main activity नाम का पेज create हो जाएगा.


class MainActivity : AppCompatActivity() {

    override fun onCreate(savedInstanceState: Bundle?) {

        super.onCreate(savedInstanceState)

        setContentView(R.layout.activity_main)

    }

}



सब से पेहले हमें module level gradle फाइल में buildFeatures Add करना होता है 


    android {

        buildFeatures{

             dataBinding = true

        }

    }



फिर xml फाइल में changes करिए जेसे आप को (constraintlayout,linearlayout etc.) layout tag में रखना होगा  निचे उदहारण दिया हुआ है. 


activity_main.xml

activityxml




फिर MainActivity में databinding करनी है सब से पेहले databinding को declare करना होता है 


 private lateinit var binding:ActivityMainBinding


फिर उसे onCreate में assign करना होता है 

 binding=DataBindingUtil.setContentView(this,R.layout.activity_main)


अब इससे आप का layout सिर्फ एक बार load होगा और बार बार refresh नहीं होगा उससे आप का program fast चलेगा.


अब हमें findViewById(R.id.et_name) की ज़रूरत नहीं है.

अब सिर्फ binding.ID (ID यानि et_name) वो जो नाम होगा वो भी अलग आएगा जेसे अगेर आप ने layout में et_name लिखा है तो वो etName इस तरह आएगा निचे उसका उदाहरन है 

 

edittext


इस उदाहरन में हम ने जब edittext का text जब change हो रहा है तब उसे textView में add कर दिया हैं.


databind दो तरह से लिखा जाता हैं 

१.

binding.tvName.text= binding.etName.text

२.

  binding.apply {

                    tvName.text=etName.text

                }

पेहले वाले में वो binding डॉट के साथ है और दुसरे में वो binding.apply के अंदर है.

MainActivity.kt

databinding


तो यह था डाटा binding अगर आप को कोई चीज़ नहीं समझी तो आप comment में पुच सकते हो. 

और अय्से ही topic के लिए हमें फॉलो ज़रूर करियेगा आगे हम MVVM structure in kotlin भी देखने वाले है 




एक टिप्पणी भेजें

0 टिप्पणियाँ