सेव की गई स्थिति

प्लग किए जा सकने वाले ऐसे कॉम्पोनेंट लिखें जो किसी प्रोसेस के खत्म होने पर यूज़र इंटरफ़ेस (यूआई) स्थिति को सेव करते हैं. साथ ही, प्रोसेस के रीस्टार्ट होने पर उसे पहले जैसा कर सकते हैं.
नया अपडेट स्टेबल रिलीज़ रिलीज़ कैंडिडेट बीटा रिलीज़ ऐल्फ़ा रिलीज़
7 अगस्त, 2024 1.2.1 - - 1.3.0-ऐल्फ़ा01

डिपेंडेंसी तय करना

सेव की गई स्थिति पर डिपेंडेंसी जोड़ने के लिए, आपको अपने मौजूदा खाते में Google Maven रिपॉज़िटरी जोड़ना होगा प्रोजेक्ट. Google की Maven रिपॉज़िटरी पढ़ें हमारा वीडियो देखें.

उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको build.gradle फ़ाइल में ज़रूरत है आपका ऐप्लिकेशन या मॉड्यूल:

ग्रूवी

dependencies {
    // Java language implementation
    implementation "androidx.savedstate:savedstate:1.2.1"

    // Kotlin
    implementation "androidx.savedstate:savedstate-ktx:1.2.1"
}

Kotlin

dependencies {
    // Java language implementation
    implementation("androidx.savedstate:savedstate:1.2.1")

    // Kotlin
    implementation("androidx.savedstate:savedstate-ktx:1.2.1")
}

डिपेंडेंसी के बारे में ज़्यादा जानकारी के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.

सुझाव

आपके सुझाव, शिकायत या राय से Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको नई समस्याओं का पता चलता है या आपको इस लाइब्रेरी को बेहतर बनाने के लिए आइडिया मिल सकते हैं. कृपया, इस मौजूदा समस्याएं इस लाइब्रेरी में जोड़ें. किसी मौजूदा समस्या के लिए अपना वोट दें. इसके लिए ये तरीके अपनाएं: स्टार बटन पर क्लिक करके ऐसा किया जा सकता है.

नई समस्या जोड़ें

समस्या को ट्रैक करने वाले टूल से जुड़ा दस्तावेज़ देखें हमारा वीडियो देखें.

वर्शन 1.3

वर्शन 1.3.0-alpha01

7 अगस्त, 2024

androidx.savedstate:savedstate:1.3.0-alpha01 और androidx.savedstate:savedstate-ktx:1.3.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.3.0-alpha01 में ये कमिट मौजूद हैं.

एपीआई में बदलाव

  • savedstate-ktx kotlin एक्सटेंशन को अब बेस सेव किए गए मॉड्यूल में ले जाया गया है. (I1cc18, b/274803094)

ध्यान दें

  • compileSdk को 35 (5dc41be) में अपडेट करें

वर्शन 1.2.1

वर्शन 1.2.1

22 मार्च, 2023

androidx.savedstate:savedstate:1.2.1 और androidx.savedstate:savedstate-ktx:1.2.1 रिलीज़ हुई हैं. वर्शन 1.2.1 में ये कमियां शामिल हैं.

डिपेंडेंसी से जुड़े अपडेट

वर्शन 1.2.0

वर्शन 1.2.0

29 जून, 2022

androidx.savedstate:savedstate:1.2.0 और androidx.savedstate:savedstate-ktx:1.2.0 रिलीज़ हुई हैं. वर्शन 1.2.0 में ये कमियां शामिल हैं.

1.1.0 के बाद के अहम बदलाव

  • SavedStateRegistryController अब performAttach() के ज़रिए SavedStateRegistry को जोड़ने की अनुमति देता है.
  • अब getSavedStateProvider() के ज़रिए, SavedStateRegistry से पहले रजिस्टर किए गए SavedStateProvider को वापस पाया जा सकता है.
  • SavedState लाइब्रेरी को Kotlin में फिर से लिखा गया है.
    • SavedStateRegistryOwner के लिए, यह Kotlin में लिखी क्लास के लिए सोर्स के साथ काम न करने वाला बदलाव है - अब आपको पिछले getSavedStateRegistry() फ़ंक्शन को लागू करने के बजाय savedStateRegistry प्रॉपर्टी को बदलना होगा.
    • ViewTreeSavedStateRegistryOwner के लिए, यह Kotlin में लिखी क्लास के लिए सोर्स के साथ काम न करने वाला बदलाव है - अब आपको androidx.savedstate.setViewTreeSavedStateRegistryOwner और androidx.savedstate.findViewTreeSavedStateRegistryOwner के View पर Kotlin एक्सटेंशन तरीकों को सीधे इंपोर्ट करके इस्तेमाल करना होगा. ऐसा करके, पहले से सेट किसी मालिक को सेट किया जा सकता है और ढूंढा जा सकता है. यह findViewTreeSavedStateRegistryOwner के savedstate-ktx एपीआई की जगह लेगा.

व्यवहार में होने वाले बदलाव

  • अगर सेव करने के लिए कोई राज्य नहीं है, तो SavedStateRegistry अब खाली बंडल को सेव नहीं करता है.

वर्शन 1.2.0-rc01

11 मई, 2022

androidx.savedstate:savedstate:1.2.0-rc01 और androidx.savedstate:savedstate-ktx:1.2.0-rc01 रिलीज़ हुई हैं. वर्शन 1.2.0-rc01 में ये कमिट शामिल हैं.

दस्तावेज़ों में हुए बदलाव

  • मालिक की ज़िम्मेदारियों और अनुबंधों को साफ़ करने के लिए, SavedStateRegistryOwner Kdocs को अपडेट कर दिया गया है. साथ ही, यह भी बताया गया है कि इंटरफ़ेस को कैसे लागू करना चाहिए या SavedStateRegistryController पर इन तरीकों का इस्तेमाल कब करना चाहिए. (Iefc95, b/228887344)

वर्शन 1.2.0-beta01

20 अप्रैल, 2022

androidx.savedstate:savedstate:1.2.0-beta01 और androidx.savedstate:savedstate-ktx:1.2.0-beta01 रिलीज़ हुई हैं. वर्शन 1.2.0-beta01 में ये कमिट मौजूद हैं.

एपीआई में बदलाव

  • SavedStateRegistry और ViewTreeSavedStateRegistryOwner क्लास को Kotlin में फिर से लिखा गया है. ViewTreeSavedStateRegistryOwner के लिए, यह Kotlin में लिखी क्लास के लिए सोर्स के साथ काम न करने वाला बदलाव है - अब आपको androidx.savedstate.setViewTreeSavedStateRegistryOwner और androidx.savedstate.findViewTreeSavedStateRegistryOwner के View पर Kotlin एक्सटेंशन तरीकों को सीधे इंपोर्ट करके इस्तेमाल करना होगा. ऐसा करके, पहले से सेट किसी मालिक को सेट किया जा सकता है और ढूंढा जा सकता है. यह findViewTreeSavedStateRegistryOwner के savedstate-ktx एपीआई की जगह लेगा. यह बाइनरी और Java प्रोग्रामिंग भाषा में लिखे गए तरीकों के साथ काम करता है. (b/220191285)

वर्शन 1.2.0-alpha02

6 अप्रैल, 2022

androidx.savedstate:savedstate:1.2.0-alpha02 और androidx.savedstate:savedstate-ktx:1.2.0-alpha02 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha02 में ये कमियां हैं.

नई सुविधाएं

  • अब getSavedStateProvider() के ज़रिए, SavedStateRegistry से पहले रजिस्टर किए गए SavedStateProvider को वापस पाया जा सकता है. (I7ea47, b/215406268)

एपीआई में बदलाव

  • SavedStateRegistryOwner, SavedStateRegistryController, और Recreator क्लास को Kotlin में फिर से लिखा गया है. SavedStateRegistryOwner के लिए, यह Kotlin में लिखी क्लास के लिए सोर्स के साथ काम न करने वाला बदलाव है - अब आपको पिछले getSavedStateRegistry() फ़ंक्शन को लागू करने के बजाय savedStateRegistry प्रॉपर्टी को बदलना होगा. यह Java प्रोग्रामिंग भाषा में लिखे गए तरीकों के साथ बाइनरी और सोर्स के साथ काम करता है. (b/220191285)

वर्शन 1.2.0-alpha01

26 जनवरी, 2022

androidx.savedstate:savedstate:1.2.0-alpha01 और androidx.savedstate:savedstate-ktx:1.2.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.2.0-alpha01 में ये कमियां हैं.

नई सुविधाएं

  • SavedStateRegistryController अब इसकी अनुमति देता है SavedStateRegistry के शुरुआती अटैचमेंट को इसके माध्यम से भेजा गया: performAttach(). (Ice4bf)

व्यवहार में होने वाले बदलाव

  • अगर सेव करने के लिए कोई राज्य नहीं है, तो SavedStateRegistry अब खाली बंडल को सेव नहीं करता है. (aosp/1896865, b/203457956)

वर्शन 1.1.0

वर्शन 1.1.0

10 फ़रवरी, 2021

androidx.savedstate:savedstate:1.1.0 और androidx.savedstate:savedstate-ktx:1.1.0 रिलीज़ हुई हैं. वर्शन 1.1.0 में ये कमियां शामिल हैं.

1.0.0 के बाद से हुए बड़े बदलाव

  • ViewTreeSavedStateRegistryOwner API: नए ViewTreeSavedStateRegistryOwner.get(View) API की मदद से, View इंस्टेंस के तौर पर दिए गए SavedStateRegistry को वापस लाया जा सकता है. इसे सही तरीके से भरने के लिए आपको गतिविधि 1.2.0, फ़्रैगमेंट 1.3.0, और AppCompat 1.3.0-alpha01 या इसके बाद के वर्शन पर अपग्रेड करना होगा.
  • savedstate-ktx आर्टफ़ैक्ट: ViewTreeSavedStateRegistryOwner के साथ काम करने के लिए, नए savedstate-ktx आर्टफ़ैक्ट को findViewTreeSavedStateRegistryOwner() Kotlin एक्सटेंशन के साथ जोड़ा गया है.

वर्शन 1.1.0-rc01

16 दिसंबर, 2020

androidx.savedstate:savedstate:1.1.0-rc01 और androidx.savedstate:savedstate-ktx:1.1.0-rc01 रिलीज़ हुई हैं. 1.1.0-beta01 के बाद से कोई बदलाव नहीं किया गया है. वर्शन 1.1.0-rc01 में ये कमिट शामिल हैं.

वर्शन 1.1.0-beta01

1 अक्टूबर, 2020

androidx.savedstate:savedstate:1.1.0-beta01 और androidx.savedstate:savedstate-ktx:1.1.0-beta01 रिलीज़ हुई हैं. 1.1.0-alpha01 के बाद से कोई बदलाव नहीं किया गया है. वर्शन 1.1.0-beta01 में ये कमिट हैं.

वर्शन 1.1.0-alpha01

20 मई, 2020

androidx.savedstate:savedstate:1.1.0-alpha01 और androidx.savedstate:savedstate-ktx:1.1.0-alpha01 रिलीज़ हुई हैं. वर्शन 1.1.0-alpha01 में ये कमियां हैं.

नई सुविधाएं

  • नए ViewTreeSavedStateRegistryOwner.get(View) एपीआई की मदद से, View इंस्टेंस दिए गए, मौजूदा SavedStateRegistry को वापस पाया जा सकता है. इसे सही तरीके से भरने के लिए आपको गतिविधि 1.2.0-alpha05, फ़्रैगमेंट 1.3.0-alpha05, और AppCompat 1.3.0-alpha01 पर अपग्रेड करना होगा. (aosp/1298679)
  • ViewTreeSavedStateRegistryOwner के साथ काम करने के लिए, नए savedstate-ktx आर्टफ़ैक्ट को findViewTreeSavedStateRegistryOwner() Kotlin एक्सटेंशन के साथ जोड़ा गया है. (aosp/1299434)

वर्शन 1.0.0

वर्शन 1.0.0

5 सितंबर, 2019

androidx.savedstate:savedstate:1.0.0 रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.

SaveState 1.0.0 की मुख्य सुविधाएं

androidx.savedstate ने, ठीक से काम करने वाला वर्शन रिलीज़ किया. यह एपीआई का एक सेट है, जिसकी मदद से डेवलपर रीस्टोर / SaveInstanceState प्रोसेस में कॉम्पोनेंट को प्लग इन कर सकते हैं. एपीआई का मुख्य एंट्री पॉइंट SavedStateRegistry है. यह consumeRestoredStateForKey का इस्तेमाल करके, पहले से सेव की गई स्थितियों को वापस लाने का तरीका है. साथ ही, सिस्टम के अनुरोध करने पर सेव की गई स्थिति देने के लिए, registerSavedStateProvider में कॉलबैक को रजिस्टर करता है.

वर्शन 1.0.0-rc01

2 जुलाई, 2019

androidx.savedstate:savedstate:1.0.0-rc01 रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.

गड़बड़ियां ठीक की गईं

  • गलत प्रोगार्ड नियम को ठीक कर दिया गया (b/132655499)

वर्शन 1.0.0-beta01

7 मई, 2019

androidx.savedstate:savedstate:1.0.0-beta01 रिलीज़ हो गया है. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.

वर्शन 1.0.0-alpha02

13 मार्च, 2019

androidx.savedstate:savedstate:1.0.0-alpha02 रिलीज़ हो गया है. androidx.savedstate:savedstate, androidx.savedstate:savedstate-bundle और androidx.savedstate:savedstate-common आर्टफ़ैक्ट को एक आर्टफ़ैक्ट में मिलाता है. ऐसा इसलिए, क्योंकि इसे सेव किए गए स्टेट इन्फ़्रास्ट्रक्चर को आसान बनाने और SavedStateRegistry से जेनरिक हटाने का फ़ैसला लिया गया था. इसलिए, अलग-अलग मॉड्यूल की ज़रूरत नहीं होती.

इस वर्शन में शामिल कमिट की पूरी सूची यहां देखी जा सकती है.

नई सुविधाएं

  • SavedStateRegistry.runOnNextRecreaction(Class<? extends AutoRecreated> clazz ) को जोड़ा गया. दी गई क्लास इंस्टैंशिएट हो जाएगी और मालिकाना हक वाले कॉम्पोनेंट के रीस्टार्ट होने पर, AutoRecreated.onRecreated तरीका चलेगा.

एपीआई में किए गए बदलाव

  • SavedStateRegistry<T> से जेनरिक हटाए गए
  • AbstrackSavedStateRegistry और BundlableSavedStateRegistry को हटा दिया गया है. इसके बजाय, आसान SavedStateRegistry का इस्तेमाल करें
  • BundleSavedStateRegistryOwner का नाम बदलकर SavedStateRegistryOwner किया गया

वर्शन 1.0.0-alpha01

17 दिसंबर, 2018

यह SavedState की पहली रिलीज़ है.

नई सुविधाएं

androidx.savedstate, ऐल्फ़ा एपीआई का एक नया सेट है. इसकी मदद से डेवलपर, वापस लाने / SaveInstanceState प्रोसेस के लिए कॉम्पोनेंट को प्लग इन कर सकते हैं. एपीआई का मुख्य एंट्री पॉइंट SavedStateRegistry<T> है. इसकी मदद से, consumeRestoredStateForKey के ज़रिए पहले से सेव की गई स्थिति को वापस लाया जा सकता है. साथ ही, सिस्टम के अनुरोध करने पर, सेव की गई स्टेट की जानकारी देने के लिए कॉलबैक को registerSavedStateProvider में रजिस्टर किया जा सकता है.