LiveData and MutableLiveData android kotlin in Hindi

 live data

इस topic में हम देखने वाले है के live data क्या होता है kotlin में और वो क्यू use होता है.

live data view को automatic बदल देता है जेसे आप एक बार live data की मदत से text view का text सेट करदो और बाद में जब भी वो text की वाल्यु बदलेगी backend से तो वो text की वैल्यू भी automatic बदल जाएगी, जैसा की आप की वैल्यू बदली तो वह आप का ui भी बदल देगा , आप को बार बार text की वैल्यू सेट नहीं करना होगी.

live data कहा use कर सकते है तो वह तीन जगाह इस्तेमाल कर सकते है जेसे

1. Activity

2. Fragment

3. service


यह तीन जगह live data का इस्तेमाल कर सकते है 

live data observer जो है वह सिर्फ एक्टिव live साइकिल में ही अपडेट होता है.


तो चलिए एक example देखते है और सीखते है. जो हमने लास्ट topic में लिया था उसे ही आगे करेगे,

तो यह देखने से पेहले view model factory वाला topic ज़रुर देखिएगा

उसकी लिंक यह है https://www.antechs.in/2021/04/view-model-factory-android-kotlin-in.html

सब से पेहले हमें dependancy add करना होगी और databind true करना होगी.

वह हम gradle फाइल में से करेगे

    buildFeatures{

        dataBinding true

    }



    def lifecycle_version = "2.3.1"

    // ViewModel

    implementation "androidx.lifecycle:lifecycle-viewmodel-ktx:$lifecycle_version"

    // LiveData

    implementation "androidx.lifecycle:lifecycle-livedata-ktx:$lifecycle_version"


आप निचे दी गयी फोटो में भी देख सकते हो के हमने कैसे dependancy और data binding enable किया है.

dependency


अभी हमें viewmodel class में बदलाव करने होगे जेसे पाहिले हमने var countVM=0 डायरेक्ट एक variable बना कर उसे वैल्यू assign कर दिए थे पर अब हमें MutableLiveData का इस्तेमाल करना है 

और उससे पेहले हम एक चीज़ और देखेगे के  LiveData और MutableLiveData क्या होता है

LiveData के object को  सिर्फ रीड करने के लिए होता है उसे हम एडिट नहीं कर सकते है..

और MutableLiveData के object को रीड अपडेट  भी कर सकते है.


हम एक variable बनायेगे MutableLiveData का और एक LiveData का और दोनों को Int टाइप का रखेगे  और MutableLiveData को init के टाइम countStart वैल्यू सेट करेगे जो की हमने लास्ट टोपिक में view model factory से लाए थे.

हमें वैल्यू को अपडेट करना है इस लिए हमने MutableLiveData use किया है.

और वो वैल्यू हमने get() = countVM के ज़रिये LiveData को दे दिए बाद में वो जेसे वैल्यू change होगे MutableLiveData की वो LiveData की भी वैल्यू automatic बड़ल जाएगी आप पूरा model view का  कोड निचे दी गयी फोटो में देख सकते हो

ViewModel:

viewmodel

ViewModelFactory:

viewmodelfactory

.xml:
xml



और भी दूसरी फोटो है जिसमे view model factory और xml की फोटो भी है 

अभी हम आ जाते है MainActivity पैर यहाँ अब हमें live data वाला variable हमें viewmodel में से मिलेगा और उसकी वैल्यू के लिए observer इस्तेमाल करना होता है 

वो आप निचे दी गयी फोटो में देख सकते है 

MainActivity :

mainactivity




और बाद में उसे अपडेट करने के लिए आप को बस अपडेट फंक्शन कॉल करना होगा जो हमने view model में दिया है.

 और वहां  से आप की वैल्यू एक से बढ़ेगी और ui automatic बदल जाएगा, सेट text का इस्तेमाल किये बगैर आप निचे दी गयी फोटो में देख सकते हो ...





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

0 टिप्पणियाँ