गतिविधि
नया अपडेट | रिलीज़ किया गया जांचा और परखा हुआ वर्शन | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
13 नवंबर, 2024 | 1.9.3 | - | 1.10.0-beta01 | - |
डिपेंडेंसी का एलान करना
गतिविधि पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट में Google Maven रिपॉज़िटरी जोड़नी होगी. ज़्यादा जानकारी के लिए, Google की Maven रिपॉज़िटरी पढ़ें.
अपने ऐप्लिकेशन या मॉड्यूल के लिए, build.gradle
फ़ाइल में उन आर्टफ़ैक्ट की डिपेंडेंसी जोड़ें जिनकी आपको ज़रूरत है:
ग्रूवी
dependencies { def activity_version = "1.9.2" // Java language implementation implementation "androidx.activity:activity:$activity_version" // Kotlin implementation "androidx.activity:activity-ktx:$activity_version" }
Kotlin
dependencies { val activity_version = "1.9.2" // Java language implementation implementation("androidx.activity:activity:$activity_version") // Kotlin implementation("androidx.activity:activity-ktx:$activity_version") }
डिपेंडेंसी के बारे में ज़्यादा जानने के लिए, बिल्ड डिपेंडेंसी जोड़ना लेख पढ़ें.
सुझाव
आपके सुझाव, शिकायत या राय से हमें Jetpack को बेहतर बनाने में मदद मिलती है. अगर आपको कोई नई समस्या मिलती है या इस लाइब्रेरी को बेहतर बनाने के लिए आपके पास कोई सुझाव है, तो हमें बताएं. नई लाइब्रेरी बनाने से पहले, कृपया इस लाइब्रेरी में मौजूद मौजूदा समस्याओं पर एक नज़र डालें. किसी मौजूदा समस्या पर अपना वोट जोड़ने के लिए, स्टार बटन पर क्लिक करें.
ज़्यादा जानकारी के लिए, समस्या ट्रैकर का दस्तावेज़ देखें.
वर्शन 1.10
वर्शन 1.10.0-beta01
13 नवंबर, 2024
androidx.activity:activity:1.10.0-beta01
, androidx.activity:activity-compose:1.10.0-beta01
, और androidx.activity:activity-ktx:1.10.0-beta01
को पिछले अल्फा वर्शन के बाद से बिना किसी बदलाव के रिलीज़ किया गया है. वर्शन 1.10.0-beta01 में ये कमिट शामिल हैं.
वर्शन 1.10.0-alpha03
30 अक्टूबर, 2024
androidx.activity:activity:1.10.0-alpha03
, androidx.activity:activity-compose:1.10.0-alpha03
, और androidx.activity:activity-ktx:1.10.0-alpha03
रिलीज़ हो गए हैं. वर्शन 1.10.0-alpha03 में ये कमिट शामिल हैं.
एपीआई में हुए बदलाव
- एक नया
LocalActivity
कंपोज़िशन लोकल जोड़ा गया है, जो मौजूदा दायरे के लिएActivity
उपलब्ध कराता है. इससे डेवलपर कोLocalContext
सेActivity
पाने की ज़रूरत नहीं पड़ती. इसमें एक नया लिंट नियम भी है, जो यह जांच करता है किLocalContext
कोActivity
में गलत तरीके से कब कास्ट किया जा रहा है. (I7746a, b/283009666)
गड़बड़ियां ठीक की गईं
- गतिविधि
1.9.3
से: हैंडलर बंद होने के बाद,PredictiveBackHandler
अपना कॉलबैक ट्रिगर नहीं करेगा. इससे, नेविगेशन कंपोज़ सेNavHost
कोIndexOutOfBoundsException
के तौर पर इस्तेमाल करने से जुड़ी समस्या ठीक हो जाएगी. (I3f75e, b/365027664, b/340202286)
डिपेंडेंसी अपडेट
- Activity Compose अब Compose Runtime 1.7.0 (I7746a, b/283009666) पर निर्भर करता है
वर्शन 1.10.0-alpha02
4 सितंबर, 2024
androidx.activity:activity:1.10.0-alpha02
, androidx.activity:activity-compose:1.10.0-alpha02
, और androidx.activity:activity-ktx:1.10.0-alpha02
रिलीज़ हो गए हैं. वर्शन 1.10.0-alpha02 में ये कमिट शामिल हैं.
व्यवहार में बदलाव
- अगर सिस्टम फ़ोटो पिकर उपलब्ध नहीं है, तो फ़ोटो पिकर को ट्रिगर करने वाले
PickVisualMedia
औरPickMultipleVisualMedia
गतिविधि के नतीजे के समझौते, अब सीधे Google Play services को नहीं भेजते. हालांकि, वे OEM और सिस्टम ऐप्लिकेशन को फ़ॉलबैक के तौर पर फ़ोटो पिकर का बेहतर अनुभव देने के लिए, सार्वजनिकACTION_SYSTEM_FALLBACK_PICK_IMAGES
कार्रवाई और उससे जुड़ी अन्य सुविधाओं का इस्तेमाल करते हैं. जिन डिवाइसों पर Google Play services का नया वर्शन है उन पर इस बदलाव का कोई असर नहीं पड़ेगा. (I3513d)
गड़बड़ियां ठीक की गईं
- नए प्लैटफ़ॉर्म के एपीआई को मैन्युअल तरीके से ऐक्सेस करने की सुविधा हटा दी गई है. ऐसा इसलिए किया गया है, क्योंकि AGP 7.3 या इसके बाद के वर्शन (उदाहरण के लिए, R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर, एपीआई मॉडलिंग की मदद से यह अपने-आप हो जाता है. साथ ही, AGP 8.1 या इसके बाद के वर्शन (उदाहरण के लिए, D8 वर्शन 8.1) का इस्तेमाल करने पर, सभी बिल्ड के लिए यह अपने-आप हो जाता है. जिन क्लाइंट ने AGP का इस्तेमाल नहीं किया है उन्हें D8 के 8.1 या उसके बाद के वर्शन पर अपडेट करने का सुझाव दिया जाता है. ज़्यादा जानकारी के लिए यह लेख देखें. (I9496c, b/345472586)
- गतिविधि
1.9.2
से: एक समस्या को ठीक किया गया है. इसमें, Activity ComposePredictiveBackHandler
API उस फ़्रेम पर सिस्टम के 'वापस जाएं' जेस्चर को मैनेज करता रहता था जिस पर इसे बंद किया गया था. इसकी वजह से, Navigation Compose जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी 'वापस जाएं' को मैनेज कर सकती थीं. इस वजह से,IndexOutOfBoundsException
दिखता था. (Ie3301, b/340202286) - गतिविधि
1.9.1
से:PredictiveBackHandler
से जुड़ी एक समस्या को ठीक किया गया. इसमें, सिस्टम को वापस लाने के बाद,OnBackPressedDispatcher
सेonBackPressed
करने की कोशिश करने पर, वह काम नहीं होता था. (I5f1f8)
वर्शन 1.10.0-alpha01
26 जून, 2024
androidx.activity:activity:1.10.0-alpha01
, androidx.activity:activity-compose:1.10.0-alpha01
, और androidx.activity:activity-ktx:1.10.0-alpha01
रिलीज़ हो गए हैं. यह वर्शन, संगठन की किसी अंदरूनी शाखा में डेवलप किया गया है.
नई सुविधाएं
- Android V में जोड़ी गई
PhotoPicker
की नई सुविधाओं के लिए सहायता जोड़ी गई है. इनमें, क्रम में इमेज चुनने और यह चुनने की सुविधा शामिल है कि शुरुआत में कौनसा टैब (एल्बम या इमेज) दिखे.
वर्शन 1.9
वर्शन 1.9.3
16 अक्टूबर, 2024
androidx.activity:activity:1.9.3
, androidx.activity:activity-compose:1.9.3
, और androidx.activity:activity-ktx:1.9.3
रिलीज़ हो गए हैं. वर्शन 1.9.3 में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- हैंडलर बंद होने के बाद,
PredictiveBackHandler
अपना कॉलबैक ट्रिगर नहीं करेगा. इससे, नेविगेशन कंपोज़ सेNavHost
कोIndexOutOfBoundsException
के तौर पर इस्तेमाल करने से जुड़ी समस्या ठीक हो जाएगी. (I3f75e, b/340202286)
वर्शन 1.9.2
4 सितंबर, 2024
androidx.activity:activity:1.9.2
, androidx.activity:activity-compose:1.9.2
, और androidx.activity:activity-ktx:1.9.2
रिलीज़ हो गए हैं. वर्शन 1.9.2 में ये lthcocommits शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक समस्या को ठीक किया गया है. इसमें, Activity Compose
PredictiveBackHandler
API उस फ़्रेम पर सिस्टम के बैक जेस्चर को मैनेज करता रहता था जिस पर इसे बंद किया गया था. इसकी वजह से, Navigation Compose जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी बैक को मैनेज कर सकती थीं. इस वजह से,IndexOutOfBoundsException
का मैसेज दिखता था. (Ie3301, b/340202286)
वर्शन 1.9.1
24 जुलाई, 2024
androidx.activity:activity:1.9.1
, androidx.activity:activity-compose:1.9.1
, और androidx.activity:activity-ktx:1.9.1
रिलीज़ हो गए हैं. वर्शन 1.9.1 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
PredictiveBackHandler
से जुड़ी एक समस्या को ठीक किया गया है. इसमें सिस्टम को वापस ले जाने के बाद,OnBackPressedDispatcher
सेonBackPressed
करने की कोशिश करने पर, वह काम नहीं करता था. (I5f1f8)
वर्शन 1.9.0
17 अप्रैल, 2024
androidx.activity:activity:1.9.0
, androidx.activity:activity-compose:1.9.0
, और androidx.activity:activity-ktx:1.9.0
रिलीज़ हो गए हैं. वर्शन 1.9.0 में ये कमिट शामिल हैं.
1.8.0 के बाद किए गए ज़रूरी बदलाव
ComponentActivity
अबOnUserLeaveHintProvider
को लागू करता है, ताकि कॉम्पोनेंटonUserLeaveHint
इवेंट के लिए कॉलबैक कर सकें.OnBackPressedCallback
,BackHandler
, औरPredictiveBackHandler
एपीआई, अब बैक बटन को हैंडल करते समयonBackPressedDispatcher.onBackPressed()
को कॉल करने पर चेतावनी देते हैं. ऐसा इसलिए, क्योंकि इससे प्रिडिक्टिव बैक ऐनिमेशन हमेशा बंद हो जाएगा. ज़्यादा जानकारी के लिए, सबसे सही तरीके बताने वाली गाइड देखें.- बाकी बचे Activity API को Kotlin में फिर से लिखा गया है. साथ ही,
activity-ktx
में पहले से उपलब्ध सभी एक्सटेंशन कोactivity
में ले जाया गया है.activity-ktx
अब पूरी तरह से खाली है.ActivityResultLauncher
को Kotlin में बदलने के दौरान,getContract
तरीका अब एक ऐब्स्ट्रैक्ट Kotlin प्रॉपर्टी है. यह बदलाव, बाइनरी के साथ काम करता है. हालांकि, अगरActivityResultLauncher
को Kotlin में लागू किया गया है, तो यह सोर्स को तोड़ सकता है.
वर्शन 1.9.0-rc01
3 अप्रैल, 2024
androidx.activity:activity:1.9.0-rc01
, androidx.activity:activity-compose:1.9.0-rc01
, और androidx.activity:activity-ktx:1.9.0-rc01
रिलीज़ हो गए हैं. वर्शन 1.9.0-rc01 में ये कमिट शामिल हैं.
डिपेंडेंसी अपडेट करना
- अब गतिविधि, Profile Installer 1.3.1 पर निर्भर करती है.
वर्शन 1.9.0-beta01
20 मार्च, 2024
androidx.activity:activity:1.9.0-beta01
, androidx.activity:activity-compose:1.9.0-beta01
, और androidx.activity:activity-ktx:1.9.0-beta01
रिलीज़ हो गए हैं. वर्शन 1.9.0-beta01 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
- ऐक्टिविटी
1.9.0-alpha02
में, ऐक्टिविटी शुरू होने की परफ़ॉर्मेंस में आई गिरावट को ठीक किया गया. यह गिरावट, ऐक्टिविटी बनाने के दौरानOnBackPressedDispatcher
को कॉल करने की वजह से आई थी. (Ie75e3)
वर्शन 1.9.0-alpha03
7 फ़रवरी, 2024
androidx.activity:activity:1.9.0-alpha03
, androidx.activity:activity-compose:1.9.0-alpha03
, और androidx.activity:activity-ktx:1.9.0-alpha03
रिलीज़ हो गए हैं. 1.9.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
लिंट से जुड़ी चेतावनी
OnBackPressedCallback
,BackHandler
, औरPredictiveBackHandler
एपीआई, अब बैक बटन को हैंडल करते समयonBackPressedDispatcher.onBackPressed()
को कॉल करने पर चेतावनी देते हैं. ऐसा इसलिए, क्योंकि इससे प्रिडिक्टिव बैक ऐनिमेशन हमेशा बंद हो जाएगा. ज़्यादा जानकारी के लिए, सबसे सही तरीके बताने वाली गाइड देखें. (1e4222, 2c950d, b/287505200)
गड़बड़ियां ठीक की गईं
- अगर सिस्टम से बैक इवेंट भेजा जाता है, जो पहले से चल रहे अनुमानित बैक जेस्चर के दौरान शुरू होता है, तो चल रहे अनुमानित बैक जेस्चर को रद्द कर दिया जाता है. साथ ही, नया बैक इवेंट, अनुमानित बैक जेस्चर शुरू करने के लिए काम करता है. (I3482e)
- बैकग्राउंड थ्रेड से पहली बार
ComponentActivity
सेonBackPressedDispatcher
को ऐक्सेस करते समय क्रैश होने की समस्या को ठीक किया गया. अब किसी भी थ्रेड परonBackPressedDispatcher
को ऐक्सेस करना सुरक्षित है. (I79955)
वर्शन 1.9.0-alpha02
24 जनवरी, 2024
androidx.activity:activity:1.9.0-alpha02
, androidx.activity:activity-compose:1.9.0-alpha02
, और androidx.activity:activity-ktx:1.9.0-alpha02
रिलीज़ हो गए हैं. 1.9.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
Kotlin कन्वर्ज़न
ActivityResultRegistry
को Kotlin में फिर से लिखा गया है. इससे यह पक्का होता है किregister
को दिए गए कॉन्ट्रैक्ट में मौजूद, सामान्य वैल्यू के लिए शून्य होने की वैल्यू, आपको वापस किए गएActivityResultLauncher
में सही तरीके से भेजी जाएगी. (I121f0)ActivityResult
को Kotlin में फिर से लिखा गया है.ActivityResult
Kotlin एक्सटेंशन,resultCode
औरdata
फ़ील्ड में डेस्ट्रक्चर करने की सुविधा देते हैं. इन्हेंactivity-ktx
सेactivity
में ले जाया गया है. (I0565a)ComponentActivity
औरtrackPipAnimationHintView
के लिए,by viewModels()
के Kotlin एक्सटेंशन कोactivity-ktx
सेactivity
में ले जाया गया है.activity-ktx
आर्टफ़ैक्ट अब पूरी तरह से खाली है. (I0a444)
गड़बड़ियां ठीक की गईं
enableEdgeToEdge
एपीआई अब किसी भी डिसप्ले कटआउट के आस-पास ड्रॉ करता है. (a3644b, b/311173461)- गतिविधि
1.8.2
से: फ़ोटो पिकर ऐक्टिविटी कॉन्ट्रैक्ट केACTION_SYSTEM_FALLBACK_PICK_IMAGES
में पास की गई अतिरिक्त वैल्यू को ठीक किया गया. इससे,"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
बटन के साथ अतिरिक्त वैल्यू का इस्तेमाल करने के बजाय,EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
बटन को सही तरीके से पास किया जा सकेगा. अगर आप OEM हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा फ़ीचर के साथ काम करने के लिए, सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू करें. इससे, ज़्यादा से ज़्यादा डिवाइसों के साथ काम करने की सुविधा मिलती है. (I96a00)
वर्शन 1.9.0-alpha01
29 नवंबर, 2023
androidx.activity:activity:1.9.0-alpha01
, androidx.activity:activity-compose:1.9.0-alpha01
, और androidx.activity:activity-ktx:1.9.0-alpha01
रिलीज़ हो गए हैं. 1.9.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अबOnUserLeaveHintProvider
को लागू करता है, ताकि कॉम्पोनेंटonUserLeaveHint
इवेंट के लिए कॉलबैक कर सकें. (I54892)
एपीआई में हुए बदलाव
ComponentActivity
को Kotlin में फिर से लिखा गया है. (I14f31)ActivityResultCaller
को Kotlin में फिर से लिखा गया है. (Ib02e4)ActivityResultLauncher
को Kotlin में फिर से लिखा गया है. इस कन्वर्ज़न के तहत,getContract
तरीका अब एक एब्स्ट्रैक्ट Kotlin प्रॉपर्टी है. यह बदलाव, बाइनरी के साथ काम करता है. हालांकि, अगरActivityResultLauncher
को Kotlin में लागू किया गया है, तो यह सोर्स को तोड़ सकता है. (Id4615)PickVisualMediaRequest
के लिए, अब एपीआई लेवल 19 ज़रूरी है. यह वही लेवल है जोPickVisualMedia
गतिविधि के नतीजे के लिए कॉन्ट्रैक्ट के लिए ज़रूरी है. (Id6e21)
डिपेंडेंसी अपडेट
- गतिविधि अब कोर
1.13.0-alpha01
पर निर्भर करती है. (I14f31)
वर्शन 1.8
वर्शन 1.8.2
13 दिसंबर, 2023
androidx.activity:activity:1.8.2
, androidx.activity:activity-compose:1.8.2
, और androidx.activity:activity-ktx:1.8.2
रिलीज़ हो गए हैं. 1.8.2 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- फ़ोटो पिकर गतिविधि के कानूनी समझौते के
ACTION_SYSTEM_FALLBACK_PICK_IMAGES
में पास की गई अतिरिक्त जानकारी को ठीक किया गया है. इससे,"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
कुंजी के साथ अतिरिक्त जानकारी का इस्तेमाल करने के बजाय,EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
कुंजी को सही तरीके से पास किया जा सकेगा. अगर आप OEM हैं और आपने सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू किया है, तो हमारा सुझाव है कि आप दोनों एक्सट्रा फ़ीचर के साथ काम करने के लिए, सिस्टम फ़ॉलबैक फ़ोटो पिकर लागू करें. इससे, ज़्यादा से ज़्यादा डिवाइसों के साथ काम करने की सुविधा मिलती है. (I96a00)
वर्शन 1.8.1
15 नवंबर, 2023
androidx.activity:activity:1.8.1
, androidx.activity:activity-compose:1.8.1
, और androidx.activity:activity-ktx:1.8.1
रिलीज़ हो गए हैं. 1.8.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
OnBackPressedDispatcher
अब सहीOnBackPressedCallback
पर भेजना जारी रखता है. ऐसा तब भी होता है, जब बैक जेस्चर को मैनेज करते समय कोई नयाOnBackPressedCallback
जोड़ा जाता है. (Id0ff6)
वर्शन 1.8.0
4 अक्टूबर, 2023
androidx.activity:activity:1.8.0
, androidx.activity:activity-compose:1.8.0
, और androidx.activity:activity-ktx:1.8.0
रिलीज़ हो गए हैं. 1.8.0 वर्शन में ये बदलाव शामिल हैं.
1.7.0 के बाद किए गए अहम बदलाव
- पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर -
OnBackPressedCallback
अब, पीछे जाने पर झलक दिखाने वाले हाथ के जेस्चर के शुरू होने, पूरे जेस्चर की प्रोग्रेस, और जेस्चर रद्द होने को मैनेज करने के लिए, नए 'पीछे जाने पर झलक दिखाने वाला हाथ का जेस्चर' कॉलबैक ऑफ़र करता है. साथ ही,handleOnBackPressed()
कॉलबैक में, पीछे जाने पर जेस्चर शुरू होने पर मिलने वाले कॉलबैक को भी शामिल किया गया है. यहPredictiveBackHandler
Composable के साथ भी आता है, ताकि Activity Compose में, अनुमानित बैक जेस्चर इवेंट को मैनेज किया जा सके. यह BackEventCompat ऑब्जेक्ट का एक फ़्लो उपलब्ध कराता है. आपको दिए गए निलंबित किए गए lamba फ़ंक्शन में, इन ऑब्जेक्ट को इकट्ठा करना होगा:
PredictiveBackHandler { progress: Flow<BackEventCompat> ->
// code for gesture back started
try {
progress.collect { backEvent ->
// code for progress
}
// code for completion
} catch (e: CancellationException) {
// code for cancellation
}
}
ComponentActivity.onBackPressed()
को अब बंद कर दिया गया है. इसके बजाय, बैक हैंडलिंग के लिए एपीआई का इस्तेमाल किया जा सकता है. डेवलपर को अब इस तरीके को ओवरराइड करने के बजाय, OnBackPressedDispatcher
का इस्तेमाल करना चाहिए.
- EdgeToEdge -
ComponentActivity.enableEdgeToEdge()
को जोड़ा गया है, ताकि आसानी से किनारे से किनारे तक दिखने वाले डिसप्ले को पुराने सिस्टम के साथ काम करने वाले तरीके से सेट अप किया जा सके.
वर्शन 1.8.0-rc01
20 सितंबर, 2023
androidx.activity:activity:1.8.0-rc01
, androidx.activity:activity-compose:1.8.0-rc01
, और androidx.activity:activity-ktx:1.8.0-rc01
रिलीज़ हो गए हैं. 1.8.0-rc01 वर्शन में ये कमिट शामिल हैं.
वर्शन 1.8.0-beta01
6 सितंबर, 2023
androidx.activity:activity:1.8.0-beta01
, androidx.activity:activity-compose:1.8.0-beta01
, और androidx.activity:activity-ktx:1.8.0-beta01
रिलीज़ हो गए हैं. 1.8.0-beta01 वर्शन में ये बदलाव शामिल हैं.
दस्तावेज़ में सुधार
BackEventCompat
के दस्तावेज़ को बेहतर बनाया गया है. (aosp/2722254)
वर्शन 1.8.0-alpha07
23 अगस्त, 2023
androidx.activity:activity:1.8.0-alpha07
, androidx.activity:activity-compose:1.8.0-alpha07
, और androidx.activity:activity-ktx:1.8.0-alpha07
रिलीज़ हो गए हैं. 1.8.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
गतिविधि कंपोज़ करने की सुविधा में,
PredictiveBackHandler
Composable जोड़ा गया है. इससे, अनुमानित बैक जेस्चर इवेंट को मैनेज किया जा सकता है. यहBackEventCompat
ऑब्जेक्ट काFlow
दिखाता है. आपको इन ऑब्जेक्ट को, दिए गए निलंबित किए गए lamba में इकट्ठा करना होगा:PredictiveBackHandler { progress: Flow<BackEventCompat> -> // code for gesture back started try { progress.collect { backEvent -> // code for progress } // code for completion } catch (e: CancellationException) { // code for cancellation } }
साथ ही, यह लिंट नियम की मदद से, कंपाइल के समय चेतावनी भी देता है. इससे यह पक्का होता है कि
Flow
,collect()
को कॉल करता है. (Id2773, b/294884345)ComponentActivity
में मौजूदonBackPressedDispatcher
को अब धीरे-धीरे शुरू किया जाता है, ताकि यह सिर्फ़ ज़रूरत पड़ने पर बनाया जाए. (I0bf8e)
गड़बड़ियां ठीक की गईं
ComponentActivity
कोonBackPressed()
कॉलबैक मिलने और गतिविधि पहले से हीDESTROYED
होने पर, Android 13 पर अब एनपीई नहीं दिखेगा. (Idb055, b/291869278)- एक्सपेरिमेंट के तौर पर उपलब्ध
isAtLeastU()
API (Ie9117, b/289269026) के इस्तेमाल को हटा दिया गया
वर्शन 1.8.0-alpha06
21 जून, 2023
androidx.activity:activity:1.8.0-alpha06
, androidx.activity:activity-compose:1.8.0-alpha06
, और androidx.activity:activity-ktx:1.8.0-alpha06
रिलीज़ हो गए हैं. 1.8.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
OnBackPressedDispatcher
अब, अनुमानित बैक जेस्चर के दौरान हटाए गए सभी कॉलबैक को सही तरीके से रद्द कर देता है. (I3f90f)
एपीआई में हुए बदलाव
enableEdgeToEdge
एपीआई कोSystemBarStyle.auto
पास करते समय, अबdetectDarkMode
लैम्डा पैरामीटर को बदला जा सकता है. इससे, रात मोड का पता लगाने के लिए कस्टम लॉजिक दिया जा सकता है. (aosp/2546393, b/278263793)
वर्शन 1.8.0-alpha05
7 जून, 2023
androidx.activity:activity:1.8.0-alpha05
, androidx.activity:activity-compose:1.8.0-alpha05
, और androidx.activity:activity-ktx:1.8.0-alpha05
रिलीज़ हो गए हैं. यह वर्शन, संगठन की किसी अंदरूनी शाखा में डेवलप किया गया है.
एपीआई में हुए बदलाव
- Activity अब
BackEventCompat
क्लास उपलब्ध कराती है, जोBackEvent
के पुराने सिस्टम के साथ काम करने वाले वर्शन के तौर पर काम करती है. यह फ़्रेमवर्कBackEvent
क्लास से अलग होती है. - बड़े बदलाव:
OnBackPressedCallback
केhandleOnBackStarted
औरhandleOnBackProgressed
तरीकों को अब फ़्रेमवर्कandroid.window.BackEvent
क्लास के बजायandroidx.activity.BackEventCompat
इंस्टेंस मिलता है.OnBackPressedDispatcher
पर मौजूद,@VisibleForTesting
के बराबर के एपीआई भी अपडेट कर दिए गए हैं. OnBackPressedDispatcher
के कंस्ट्रक्टर में अब एक वैकल्पिकConsumer<Boolean>
इंस्टेंस होता है. इससे डिस्पैचर के मालिकों को कॉलबैक मिलता है. ऐसा तब होता है, जब चालू किए गए कॉलबैक की संख्या शून्य से किसी दूसरी संख्या पर या किसी दूसरी संख्या से शून्य पर बदलती है.
गड़बड़ियां ठीक की गईं
- ऐक्टिविटी
1.7.2
से:report
को कॉल करने से पहले, किसी स्क्रीन से नेविगेट करने परReportDrawn
के क्रैश होने की समस्या को ठीक करें. (Ic46f1, b/260506820)
वर्शन 1.8.0-alpha04
10 मई, 2023
androidx.activity:activity:1.8.0-alpha04
, androidx.activity:activity-compose:1.8.0-alpha04
, और androidx.activity:activity-ktx:1.8.0-alpha04
रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से रिलीज़ किया गया था.
गड़बड़ियां ठीक की गईं
- Activity 1.7.1 से: -
ActivityScenario
के साथComponentActivity
का इस्तेमाल करने पर,ReportFullyDrawExecuter
अब लीक नहीं होता. (Id2ff2, b/277434271)
वर्शन 1.8.0-alpha03
12 अप्रैल, 2023
androidx.activity:activity:1.8.0-alpha03
, androidx.activity:activity-compose:1.8.0-alpha03
, और androidx.activity:activity-ktx:1.8.0-alpha03
रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से रिलीज़ किया गया था.
नई सुविधाएं
- एज-टू-एज डिसप्ले को आसानी से सेट अप करने के लिए,
ComponentActivity.setUpEdgeToEdge()
जोड़ा गया है. यह सुविधा, पुराने सिस्टम के साथ काम करती है.
एपीआई में हुए बदलाव
ComponentActivity.onBackPressed()
को अब बंद कर दिया गया है. इसके बजाय, बैक हैंडलिंग के लिए एपीआई का इस्तेमाल किया जा सकता है. डेवलपर को अब इस तरीके को ओवरराइड करने के बजाय,OnBackPressedDispatcher
का इस्तेमाल करना चाहिए. (Ibce2f, b/271596918)ComponentDialog
औरComponentActivity
में अब सार्वजनिक एपीआईinitViewTreeOwners()
शामिल है. इसका इस्तेमाल, कॉन्टेंट व्यू सेट करने से पहले, व्यू ट्री के सभी मालिकों को शुरू करने के लिए किया जाता है. (Ibdce0, b/261314581)
गड़बड़ियां ठीक की गईं
- एक समस्या को ठीक किया गया है. इस समस्या की वजह से, फ़्रैगमेंट, मेन्यूहोस्ट को गलत तरीके से अमान्य कर रहे थे. इस वजह से, गतिविधि में मौजूद अन्य मेन्यू का व्यवहार अनचाहा हो रहा था. (I9404e, b/244336571)
अन्य बदलाव
ActivityResultRegister
अब Java के बजाय KotlinRandom
का इस्तेमाल करता है. (I4d98f, b/272096025)
वर्शन 1.8.0-alpha02
8 मार्च, 2023
androidx.activity:activity:1.8.0-alpha02
, androidx.activity:activity-compose:1.8.0-alpha02
, और androidx.activity:activity-ktx:1.8.0-alpha02
रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से डेवलप किया गया है.
डिपेंडेंसी अपडेट करना
- गतिविधि
1.7.0-rc01
से: गतिविधि अबLifecycle 2.6.0
पर निर्भर करती है.
वर्शन 1.8.0-alpha01
8 फ़रवरी, 2023
androidx.activity:activity:1.8.0-alpha01
, androidx.activity:activity-compose:1.8.0-alpha01
, और androidx.activity:activity-ktx:1.8.0-alpha01
रिलीज़ हो गए हैं. इसे किसी इंटरनल शाखा से बनाया गया था.
नई सुविधाएं
OnBackPressedCallback
क्लास में अब, बैक जेस्चर शुरू होने, जेस्चर के दौरान होने वाली प्रोग्रेस, और बैक जेस्चर रद्द होने की जानकारी देने वाले नए कॉलबैक शामिल हैं. साथ ही, बैक जेस्चर होने पर मिलने वाले पिछलेhandleOnBackPressed()
कॉलबैक को भी शामिल किया गया है.
वर्शन 1.7
वर्शन 1.7.2
24 मई, 2023
androidx.activity:activity:1.7.2
, androidx.activity:activity-compose:1.7.2
, और androidx.activity:activity-ktx:1.7.2
रिलीज़ हो गए हैं. 1.7.2 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
report
को कॉल करने से पहले किसी स्क्रीन से बाहर निकलने पर,ReportDrawn
के क्रैश होने की समस्या को ठीक करें. (Ic46f1, b/260506820)
वर्शन 1.7.1
19 अप्रैल, 2023
androidx.activity:activity:1.7.1
, androidx.activity:activity-compose:1.7.1
, और androidx.activity:activity-ktx:1.7.1
रिलीज़ हो गए हैं. 1.7.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityScenario
के साथComponentActivity
का इस्तेमाल करने पर,ReportFullyDrawExecuter
अब लीक नहीं होता. (Id2ff2, b/277434271)
वर्शन 1.7.0
22 मार्च, 2023
androidx.activity:activity:1.7.0
, androidx.activity:activity-compose:1.7.0
, और androidx.activity:activity-ktx:1.7.0
रिलीज़ हो गए हैं. 1.7.0 वर्शन में ये बदलाव शामिल हैं.
1.6.0 के बाद किए गए अहम बदलाव
PickVisualMedia
औरPickMultipleVisualMedia
में मौजूद फ़ोटो पिकर गतिविधि के अनुबंधों को अपडेट किया गया है, ताकिMediaStore.ACTION_PICK_IMAGES
के उपलब्ध न होने पर, एक और फ़ॉलबैक शामिल किया जा सके. इससे OEM और Google Play services जैसे सिस्टम ऐप्लिकेशन, फ़ॉलबैक ऐक्शन लागू करके, Android डिवाइसों और एपीआई लेवल की एक बड़ी रेंज पर फ़ोटो पिकर का बेहतर अनुभव दे पाएंगे. अगर यह फ़ॉलबैक उपलब्ध होगा, तो फ़ोटो पिकर इसका इस्तेमाल करेगा. इसके बाद, यहIntent.ACTION_OPEN_DOCUMENT
का इस्तेमाल करेगा.Intent.ACTION_OPEN_DOCUMENT
, एपीआई 19 और उसके बाद के वर्शन वाले सभी डिवाइसों पर काम करता है.ComponentDialog
अबSavedStateRegistryOwner
लागू करता है और उसके पास अपनेSavedStateRegistry
का ऐक्सेस होता है. साथ ही, वह अपनेViewTree
के लिएSavedStateRegistryOwner
सेट करता है. अबComponentDialog
में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यहViewTree
एपीआई की ज़रूरी शर्तों के ज़रिए, विंडो से जुड़ेLifecycleOwner
औरSavedStateRegistryOwner
, दोनों को पूरा करता है.IntentSenderRequest.Builder.setFlags()
की मदद से, अबIntent
से एक से ज़्यादा फ़्लैग सेट किए जा सकते हैं.
Kotlin कन्वर्ज़न
कई गतिविधि क्लास को Kotlin में बदल दिया गया है. बदली गई सभी कक्षाएं, अब भी पिछले वर्शन के साथ बाइनरी के तौर पर काम करती हैं. यहां दी गई क्लास में, Kotlin में लिखी गई क्लास के लिए सोर्स के साथ काम न करने वाले बदलाव किए गए हैं: ActivityResultRegistryOwner
, OnBackPressedDispatcherOwner
.
नीचे दी गई टेबल में, गतिविधि के नए वर्शन के लिए सोर्स कन्वर्ज़न की जानकारी दी गई है:
गतिविधि 1.5 | गतिविधि 1.6 |
---|---|
override fun getActivityResultRegistry() = activityResultRegistry |
override val activityResultRegistry = activityResultRegistry |
override fun getOnBackPressedDispatcher() = onBackPressedDispatcher |
override val onBackPressedDispatcher = onBackPressedDispatcher |
इन क्लास को भी Kotlin में बदल दिया गया है. हालांकि, ये सोर्स के साथ काम करती रहेंगी: ContextAware
, ContextAwareHelper
, OnContextAvailableListener
, IntentSenderRequest
, और OnBackPressedDispatcher
FullyDrawnReporter API
ComponentActivity
अब एक FullyDrawnReporter
इंस्टेंस उपलब्ध कराता है. इससे कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट कर सकते हैं. ComponentActivity
आपकी ओर से reportFullyDrawn()
को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों को पूरा करते हैं. साथ ही, इन्हें onDraw
कॉल के हिस्से के तौर पर कॉल करने की ज़रूरत नहीं होती.
इन एपीआई को चालू करने का सुझाव दिया जाता है:
- स्टार्टअप पूरा होने पर, Android Runtime को सिग्नल भेजना. इससे यह पक्का होता है कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलाया गया सारा कोड शामिल हो और बैकग्राउंड कंपाइलेशन के लिए प्राथमिकता दी गई हो.
- जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार माना जाना चाहिए, तब मैक्रोबेंचमार्क और Play की ज़रूरी जानकारी देने वाली सुविधा को सिग्नल भेजना, ताकि परफ़ॉर्मेंस को ट्रैक किया जा सके.
अलग-अलग कॉम्पोज़ेबल से FullyDrawnReporter
का इस्तेमाल आसानी से करने के लिए, तीन Activity Compose API जोड़े गए हैं:
ReportDrawn
से पता चलता है कि आपका कॉम्पोज़ेबल, इंटरैक्शन के लिए तुरंत तैयार है.ReportDrawnWhen
एक प्रीडिकेट (यानी,list.count > 0
) का इस्तेमाल करें. इससे यह पता चलता है कि आपका कॉम्पोज़ेबल इंटरैक्शन के लिए कब तैयार है.ReportDrawnAfter
, निलंबित करने का एक तरीका अपनाता है. यह तरीका पूरा होने पर, यह पता चलता है कि आप इंटरैक्शन के लिए तैयार हैं.
डिपेंडेंसी से जुड़े अपडेट
- ऐक्टिविटी अब लाइफ़साइकल
2.6.1
पर निर्भर करती है. (8fc31d) - अब गतिविधि, ProfileInstaller
1.3.0
पर निर्भर करती है. (83d3b1)
वर्शन 1.7.0-rc01
8 मार्च, 2023
androidx.activity:activity:1.7.0-rc01
, androidx.activity:activity-compose:1.7.0-rc01
, और androidx.activity:activity-ktx:1.7.0-rc01
रिलीज़ हो गए हैं. 1.7.0-rc01 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी अपडेट करना
- अब गतिविधि
Lifecycle 2.6.0
पर निर्भर करती है.
वर्शन 1.7.0-beta02
22 फ़रवरी, 2023
androidx.activity:activity:1.7.0-beta02
, androidx.activity:activity-compose:1.7.0-beta02
, और androidx.activity:activity-ktx:1.7.0-beta02
रिलीज़ हो गए हैं. 1.7.0-beta02 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
MediaStore.ACTION_PICK_IMAGES
के उपलब्ध न होने पर,PickVisualMedia
औरPickMultipleVisualMedia
कॉन्ट्रैक्ट में फ़ॉलबैक के तौर पर इस्तेमाल की जाने वाली कार्रवाई और एक्सट्रा, अब सार्वजनिक कॉन्स्टेंट हैं. ये कॉन्स्टेंट, OEM और सिस्टम ऐप्लिकेशन को एपीआई की स्थिरता देते हैं, ताकि वे फ़ोटो पिकर का बेहतर अनुभव दे सकें. फ़ॉलबैक मोड को अब भी सिर्फ़ सिस्टम ऐप्लिकेशन के लिए लागू किया गया है. (Icd320)
वर्शन 1.7.0-beta01
8 फ़रवरी, 2023
androidx.activity:activity:1.7.0-beta01
, androidx.activity:activity-compose:1.7.0-beta01
, और androidx.activity:activity-ktx:1.7.0-beta01
रिलीज़ हो गए हैं. 1.7.0-beta01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
IntentSenderRequest.Builder.setFlags()
की मदद से, अबIntent
से एक से ज़्यादा फ़्लैग सेट किए जा सकते हैं. (Iac04c)
गड़बड़ियां ठीक की गईं
- फ़्रेमवर्क फ़ोटो पिकर उपलब्ध न होने पर,
PickVisualMedia
के लिए फ़ॉलबैक की सुविधा अब डिवाइस की सिस्टम इमेज में इंस्टॉल किए गए ऐप्लिकेशन तक ही सीमित है. (If8ae6)
Kotlin कन्वर्ज़न
ActivityResultRegistryOwner
अब Kotlin में लिखा गया है. Kotlin में लिखी गई क्लास के लिए, यह सोर्स के साथ काम न करने वाला बदलाव है. अब आपको पिछलेgetActivityResultRegistry()
फ़ंक्शन को लागू करने के बजाय,activityResultRegistry
प्रॉपर्टी को बदलना होगा. (I0b00e)OnBackPressedDispatcherOwner
अब Kotlin में लिखा गया है. Kotlin में लिखी गई क्लास के लिए, यह सोर्स के साथ काम न करने वाला बदलाव है. अब आपको पिछलेgetOnBackPressedDispatcher
फ़ंक्शन को लागू करने के बजाय,onBackPressedDispatcher
प्रॉपर्टी को बदलना होगा. (Ia277d)ContextAware
,ContextAwareHelper
,OnContextAvailableListener
,IntentSenderRequest
, औरOnBackPressedDispatcher
को अब Kotlin में लिखा गया है. (I1a73e, Iada92, aosp/2410754, I18ac7, b/257291701)
वर्शन 1.7.0-alpha04
25 जनवरी, 2023
androidx.activity:activity:1.7.0-alpha04
, androidx.activity:activity-compose:1.7.0-alpha04
, और androidx.activity:activity-ktx:1.7.0-alpha04
रिलीज़ हो गए हैं. 1.7.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
PickVisualMedia
औरPickMultipleVisualMedia
गतिविधि के नतीजे से जुड़े कानूनी समझौते, अब Google Play services के फ़ोटो पिकर का इस्तेमाल करेंगे.हालांकि, ऐसा सिर्फ़ उन मामलों में होगा जहां Android सिस्टम का फ़ोटो पिकर उपलब्ध हो. उदाहरण के लिए,MediaStore.ACTION_PICK_IMAGES
) उपलब्ध नहीं है.isPhotoPickerAvailable()
API को बंद कर दिया गया है. यह सिर्फ़ Android सिस्टम में मौजूद फ़ोटो पिकर का पता लगाता था. हमारा सुझाव है कि नएisPhotoPickerAvailable(Context)
एपीआई का इस्तेमाल करें. यह एपीआई तब दिखेगा, जब कोई भी फ़ोटो पिकर उपलब्ध होगा. (I55be6)
वर्शन 1.7.0-alpha03
11 जनवरी, 2023
androidx.activity:activity:1.7.0-alpha03
, androidx.activity:activity-compose:1.7.0-alpha03
, और androidx.activity:activity-ktx:1.7.0-alpha03
रिलीज़ हो गए हैं. 1.7.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentDialog
अबSavedStateRegistryOwner
लागू करता है और उसके पास अपनेSavedStateRegistry
का ऐक्सेस होता है. साथ ही, वह अपने ViewTree के लिएSavedStateRegistryOwner
सेट करता है. अबComponentDialog
में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यह ViewTree APIs की ज़रूरी शर्तों के ज़रिए, विंडो से जुड़ेLifecycleOwner
औरSavedStateRegistryOwner
, दोनों को पूरा करता है. (Idca17, I73468 b/261162296)
एपीआई में हुए बदलाव
ReportDrawn
कॉम्पोज़ेबल जोड़ा गया है, जो गतिविधि को तुरंत कॉल करने के लिए तैयार के तौर पर मार्क करता हैreportFullyDrawn
. (Ic5b14, b/259687964)
Kotlin कन्वर्ज़न
ActvitiyResultCallback
औरOnBackPressedCallback
, दोनों क्लास को Kotlin में बदल दिया गया है. हालांकि, सोर्स और बाइनरी के साथ काम करने की सुविधा बरकरार रखी गई है. (Ifc5e5, Ide1b0, b/257291701)
वर्शन 1.7.0-alpha02
24 अक्टूबर, 2022
androidx.activity:activity:1.7.0-alpha02
, androidx.activity:activity-compose:1.7.0-alpha02
, और androidx.activity:activity-ktx:1.7.0-alpha02
रिलीज़ हो गए हैं. 1.7.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- ऐक्टिविटी
1.6.1
से:maxItems
की डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों परPickMultipleVisualMedia
ऐक्टिविटी के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया. (Ie2776, b/249182130)
वर्शन 1.7.0-alpha01
5 अक्टूबर, 2022
androidx.activity:activity:1.7.0-alpha01
, androidx.activity:activity-compose:1.7.0-alpha01
, और androidx.activity:activity-ktx:1.7.0-alpha01
रिलीज़ हो गए हैं. 1.7.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
FullyDrawnReporter API
ComponentActivity
अब एक FullyDrawnReporter
इंस्टेंस उपलब्ध कराता है. इससे कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट कर सकते हैं. ComponentActivity
आपकी ओर से reportFullyDrawn()
को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों को पूरा करते हैं. साथ ही, इन्हें onDraw
कॉल के हिस्से के तौर पर कॉल करने की ज़रूरत नहीं होती.
इन एपीआई को चालू करने का सुझाव दिया जाता है:
- स्टार्टअप पूरा होने पर, Android Runtime को सिग्नल भेजना. इससे यह पक्का होता है कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलाया गया सारा कोड शामिल हो और बैकग्राउंड कंपाइलेशन के लिए प्राथमिकता दी गई हो.
- जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार माना जाना चाहिए, तब मैक्रोबेंचमार्क और Play की ज़रूरी जानकारी देने वाली सुविधा को सिग्नल भेजना, ताकि परफ़ॉर्मेंस को ट्रैक किया जा सके.
अलग-अलग कॉम्पोज़ेबल से FullyDrawnReporter
का इस्तेमाल आसानी से करने के लिए, दो Activity Compose API जोड़े गए हैं:
ReportDrawnWhen
एक प्रीडिकेट (यानी,list.count > 0
) का इस्तेमाल करें. इससे यह पता चलता है कि आपका कॉम्पोज़ेबल इंटरैक्शन के लिए कब तैयार है.ReportDrawnAfter
, निलंबित करने का एक तरीका अपनाता है. यह तरीका पूरा होने पर, यह पता चलता है कि आप इंटरैक्शन के लिए तैयार हैं.
वर्शन 1.6.1
वर्शन 1.6.1
24 अक्टूबर, 2022
androidx.activity:activity:1.6.1
, androidx.activity:activity-compose:1.6.1
, और androidx.activity:activity-ktx:1.6.1
रिलीज़ हो गए हैं. 1.6.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
maxItems
की डिफ़ॉल्ट वैल्यू का इस्तेमाल करने पर, Android R डिवाइसों परPickMultipleVisualMedia
गतिविधि के नतीजे का अनुबंध लॉन्च न होने की समस्या को ठीक किया गया. (Ie2776, b/249182130)
वर्शन 1.6.0
वर्शन 1.6.0
21 सितंबर, 2022
androidx.activity:activity:1.6.0
, androidx.activity:activity-compose:1.6.0
, और androidx.activity:activity-ktx:1.6.0
रिलीज़ हो गए हैं. 1.6.0 वर्शन में ये बदलाव शामिल हैं.
1.5.0 के बाद किए गए अहम बदलाव
- पुराने सिस्टम के साथ काम करने वाला कानूनी समझौता उपलब्ध कराने के लिए,
ActivityResultContracts.PickVisualMedia
औरActivityResultContracts.PickMultipleVisualMedia
जोड़े गए हैं. फ़ोटो पिकर उपलब्ध होने पर,MediaStore.ACTION_PICK_IMAGES
का इस्तेमाल किया जाता है और उपलब्ध न होने परIntent.ACTION_OPEN_DOCUMENT
का इस्तेमाल किया जाता है. - Android 13 में
OnBackInvokedCallback
कोComponentActivity
औरComponentDialog
की ओर से दिए गएOnBackPressedDispatchers
में इंटिग्रेट किया गया. इससे यह पक्का होता है किOnBackPressedDispatcher
पर बनाए गए सभी एपीआई, 'वापस जाने के अनुमानित जेस्चर' की सुविधा चालू होने पर काम करते हैं.
वर्शन 1.6.0-rc02
7 सितंबर, 2022
androidx.activity:activity:1.6.0-rc02
, androidx.activity:activity-compose:1.6.0-rc02
, और androidx.activity:activity-ktx:1.6.0-rc02
रिलीज़ हो गए हैं. 1.6.0-rc02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
OnBackPressedDispatcher
अबOnBackInvokedCallback
कोPRIORITY_OVERLAY
के बजायPRIORITY_DEFAULT
के साथ रजिस्टर करता है. (I3901f)ComponentActivity
को एक्सटेंड करने वाली क्लास के लिए, अब हमेशा दोनोंonMultiWindowModeChanged()
कॉलबैक डिस्पैच किए जाएंगे. (Ic4d85)- जब
launch
कॉल से कोईException
मिलता है और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया है, तोActivityResultRegistry
,ActivityResultCallback
को कोई नतीजा नहीं दिखाएगा. (Ia7ff7, b/238350794) ComponentActivity
अब आपकी गतिविधि में सुपर फ़ंक्शन को कॉल किए बिना, मेन्यू कॉल को सही तरीके से डिस्पैच करेगा. (Ie33c5, b/238057118)
डिपेंडेंसी अपडेट
Activity
लाइब्रेरी अब लाइफ़साइकल2.5.1
पर निर्भर करती है. (If6697)
वर्शन 1.6.0-rc01
24 अगस्त, 2022
androidx.activity:activity:1.6.0-rc01
, androidx.activity:activity-compose:1.6.0-rc01
, और androidx.activity:activity-ktx:1.6.0-rc01
रिलीज़ हो गए हैं. 1.6.0-rc01 वर्शन में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
- SDK टूल के 33 से पहले के वर्शन का इस्तेमाल करने पर,
OnBackPressedDispatcher
को शुरू करने से अबClassVerificationError
नहीं दिखेंगे. (Ic32e1) ComponentActivity
केonPictureInPictureModeChanged()
कॉलबैक को बदलने वाली क्लास के लिए, अब हमेशा कॉलबैक डिस्पैच किए जाएंगे. (Ib7fdb)
वर्शन 1.6.0-beta01
10 अगस्त, 2022
androidx.activity:activity:1.6.0-beta01
, androidx.activity:activity-compose:1.6.0-beta01
, और androidx.activity:activity-ktx:1.6.0-beta01
रिलीज़ हो गए हैं. 1.6.0-beta01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ComponentActivity
पर, इस्तेमाल नहीं किए जाने वालेstartActivityForResult
औरstartIntentSenderForResult
तरीकों को@NonNull
के साथ मार्क किया गया है. ऐसा इसलिए किया गया है, क्योंकिnull
को पास करने पर हमेशा क्रैश होता है. (Id2a25, b/231476082)
गड़बड़ियां ठीक की गईं
- गतिविधि
1.5.1
से: जबlaunch
कॉल किसी भी तरह काException
दिखाता है और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया था, तोActivityResultRegistry
अबActivityResultCallback
को नतीजा नहीं दिखाएगा. (Ia7ff7, b/238350794) - गतिविधि
1.5.1
से:ComponentActivity
अब सुपर फ़ंक्शन को कॉल किए बिना,onPrepareOptionMenu()
,onCreateOptionsMenu()
, औरonOptionsItemSelected()
ओवरराइड में मेन्यू कॉल को सही तरीके से डिस्पैच करेगा. (Ie33c5, b/238057118)
डिपेंडेंसी अपडेट
- गतिविधि
1.5.1
से:Activity
लाइब्रेरी अबLifecycle
वर्शन2.5.1
पर निर्भर करती है. (If6697)
वर्शन 1.6.0-alpha05
15 जून, 2022
androidx.activity:activity:1.6.0-alpha05
, androidx.activity:activity-compose:1.6.0-alpha05
, और androidx.activity:activity-ktx:1.6.0-alpha05
रिलीज़ हो गए हैं. वर्शन 1.6.0-alpha05 को रिलीज़ से पहले की निजी शाखा में डेवलप किया गया था. इसमें कोई सार्वजनिक कमिट नहीं है.
एपीआई में हुए बदलाव
- Tiramisu Beta 3 SDK के साथ अलाइन करने के लिए,
minCompileSdk
अब 33 है
गड़बड़ियां ठीक की गईं
PickVisualMedia
ActivityResultContract
के लिए SDK टूल के एक्सटेंशन की जांच करते समय, पुराने डिवाइसों पर क्रैश होने की समस्या को ठीक किया गया है. इससे, यह अब Android 10 और उससे पहले के वर्शन परACTION_OPEN_DOCUMENT
के साथ काम करेगा.
वर्शन 1.6.0-alpha04
18 मई, 2022
androidx.activity:activity:1.6.0-alpha04
और androidx.activity:activity-ktx:1.6.0-alpha04
रिलीज़ हो गए हैं.
गड़बड़ियां ठीक की गईं
PickVisualMediaRequest
में एक गड़बड़ी को ठीक किया गया है. इसमें, बिल्डर या टॉप लेवल Kotlin फ़ंक्शन की मदद से अनुरोध करने पर, स्टैक ओवरफ़्लो होता था.- Android 13 के डेवलपर बीटा 2 में मौजूद
OnBackInvokedCallback
कोComponentDialog
केOnBackPressedDispatcher
के साथ इंटिग्रेट किया. इससे यह पक्का होता है किOnBackPressedDispatcher
पर बनाए गए सभी एपीआई, 'वापस जाने के अनुमानित जेस्चर' को चालू करने पर काम करते हैं.
वर्शन 1.6.0-alpha03
27 अप्रैल, 2022
androidx.activity:activity:1.6.0-alpha03
, androidx.activity:activity-compose:1.6.0-alpha03
, और androidx.activity:activity-ktx:1.6.0-alpha03
रिलीज़ हो गए हैं.
- ध्यान दें: यह वर्शन सिर्फ़ Android 13 Developer Beta 1 SDK के साथ काम करेगा.
नई सुविधाएं
- पुराने सिस्टम के साथ काम करने वाला कानूनी समझौता उपलब्ध कराने के लिए,
ActivityResultContracts.PickVisualMedia
औरActivityResultContracts.PickMultipleVisualMedia
जोड़े गए हैं. फ़ोटो पिकर उपलब्ध होने पर,MediaStore.ACTION_PICK_IMAGES
का इस्तेमाल किया जाता है और उपलब्ध न होने परIntent.ACTION_OPEN_DOCUMENT
का इस्तेमाल किया जाता है. - Android 13 के डेवलपर बीटा वर्शन 1 में मौजूद
OnBackInvokedCallback
को,ComponentActivity
की ओर से उपलब्ध कराए गएOnBackPressedDispatcher
में इंटिग्रेट किया गया. इससे यह पक्का होता है किOnBackPressedDispatcher
पर बनाए गए सभी एपीआई, 'वापस जाने के अनुमानित जेस्चर' को चालू करने पर काम करते हैं.
वर्शन 1.6.0-alpha01
23 मार्च, 2022
androidx.activity:activity:1.6.0-alpha01
, androidx.activity:activity-compose:1.6.0-alpha01
, और androidx.activity:activity-ktx:1.6.0-alpha01
रिलीज़ हो गए हैं.
- ध्यान दें: यह वर्शन सिर्फ़ Android 13 के डेवलपर प्रीव्यू 2 SDK टूल के साथ काम करेगा.
नई सुविधाएं
- Android 13 के डेवलपर प्रीव्यू 2 में किए गए बदलावों को
ComponentActivity
में इंटिग्रेट किया गया है.
संस्करण 1.5.1
संस्करण 1.5.1
27 जुलाई, 2022
androidx.activity:activity:1.5.1
, androidx.activity:activity-compose:1.5.1
, और androidx.activity:activity-ktx:1.5.1
रिलीज़ हो गए हैं. 1.5.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
जब
launch()
कॉल से कोईException
मिलता है और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया है, तोActivityResultRegistry
,ActivityResultCallback
को कोई नतीजा नहीं दिखाएगा. (Ia7ff7, b/238350794)ComponentActivity
अब सुपर फ़ंक्शन को कॉल किए बिना,onPrepareOptionMenu()
,onCreateOptionsMenu()
, औरonOptionsItemSelected()
ओवरराइड के लिए मेन्यू कॉल को सही तरीके से डिस्पैच करेगा. (Ie33c5, b/238057118)
डिपेंडेंसी अपडेट करना
Activity
लाइब्रेरी अब लाइफ़साइकल2.5.1
पर निर्भर करती है. (If6697)
वर्शन 1.5.0
वर्शन 1.5.0
29 जून, 2022
androidx.activity:activity:1.5.0
, androidx.activity:activity-compose:1.5.0
, और androidx.activity:activity-ktx:1.5.0
रिलीज़ हो गए हैं. 1.5.0 वर्शन में ये बदलाव शामिल हैं.
1.4.0 के बाद किए गए ज़रूरी बदलाव
- ComponentDialog -
ComponentDialog
,Dialog
का सबक्लास है. इसमें एकOnBackPressedDispatcher
शामिल होता है, जिसे सिस्टम के 'वापस जाएं' बटन को दबाने और डायलॉग दिखने पर कॉल किया जाएगा. अहम बात यह है कि यह सबक्लासViewTreeOnBackPressedDispatcherOwner
भी सेट करता है. इससे व्यू को सही डिस्पैचर को वापस पाने का सामान्य तरीका मिलता है, भले ही वहComponentActivity
याComponentDialog
में मौजूद हो. - कॉलबैक इंटरफ़ेस -
ComponentActivity
अब मॉड्यूलर कॉलबैक इंटरफ़ेस का एक सेट लागू करता है. इसका इस्तेमाल,Activity
कॉलबैक के बजाय किया जा सकता है. इन इंटरफ़ेस में ये शामिल हैं:OnNewIntentProvider
,OnConfigurationChangedProvider
,OnTrimMemoryProvider
,OnPictureInPictureModeChangedProvider
,OnMultiWindowModeChangedProvider
- CreationExtras इंटिग्रेशन -
ComponentActivity
अब लाइफ़साइकल2.5.0
केCreationExtras
की मदद से, स्टेटलेसViewModelProvider.Factory
उपलब्ध करा सकता है.
दूसरे बदलाव
ActivityResultContracts.CreateDocument
के लिए, बिना पैरामीटर वाले कंस्ट्रक्टर को बंद कर दिया गया है और उसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कोई खास एमआईएम टाइप (उदाहरण के लिए, "image/png") होना चाहिए, जैसा किIntent.ACTION_CREATE_DOCUMENT
के लिए ज़रूरी है.
वर्शन 1.5.0-rc01
11 मई, 2022
androidx.activity:activity:1.5.0-rc01
, androidx.activity:activity-compose:1.5.0-rc01
, और androidx.activity:activity-ktx:1.5.0-rc01
को 1.5.0-beta01 से बिना किसी बदलाव के रिलीज़ किया गया है. 1.5.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.5.0-beta01
20 अप्रैल, 2022
androidx.activity:activity:1.5.0-beta01
, androidx.activity:activity-compose:1.5.0-beta01
, और androidx.activity:activity-ktx:1.5.0-beta01
रिलीज़ हो गए हैं. 1.5.0-beta01 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- ऐक्टिविटी अब लाइफ़साइकल
2.4.0-beta01
पर निर्भर करती है.
वर्शन 1.5.0-alpha05
6 अप्रैल, 2022
androidx.activity:activity:1.5.0-alpha05
, androidx.activity:activity-compose:1.5.0-alpha05
, और androidx.activity:activity-ktx:1.5.0-alpha05
रिलीज़ हो गए हैं. 1.5.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ComponentActivity
काonPanelClosed()
अब सुपरonPanelClosed()
को भी कॉल करता है. इससे, उस समस्या को ठीक किया जाता है जहांonContextMenuClosed
मेथड को कॉल नहीं किया जाता. (Ib6f77)
वर्शन 1.5.0-alpha04
23 मार्च, 2022
androidx.activity:activity:1.5.0-alpha04
, androidx.activity:activity-compose:1.5.0-alpha04
, और androidx.activity:activity-ktx:1.5.0-alpha04
रिलीज़ हो गए हैं. 1.5.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
SavedStateViewFactory
अबCreationExtras
का इस्तेमाल कर सकता है, भले ही उसेSavedStateRegistryOwner
से शुरू किया गया हो. अगर अतिरिक्त आर्ग्युमेंट दिए जाते हैं, तो शुरू किए गए आर्ग्युमेंट को अनदेखा कर दिया जाता है. (I6c43b, b/224844583)
वर्शन 1.5.0-alpha03
23 फ़रवरी, 2022
androidx.activity:activity:1.5.0-alpha03
, androidx.activity:activity-compose:1.5.0-alpha03
, और androidx.activity:activity-ktx:1.5.0-alpha03
रिलीज़ हो गए हैं. 1.5.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- अब
CreationExtras
को गतिविधिby viewModels()
फ़ंक्शन (I6a3e6, b/217600303) में पास किया जा सकता है
वर्शन 1.5.0-alpha02
9 फ़रवरी, 2022
androidx.activity:activity:1.5.0-alpha02
, androidx.activity:activity-compose:1.5.0-alpha02
, और androidx.activity:activity-ktx:1.5.0-alpha02
रिलीज़ हो गए हैं. 1.5.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अबOnPictureInPictureModeChangedProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को पिक्चर में पिक्चर मोड में बदलाव से जुड़े इवेंट मिल सकें. (I9f567)ComponentActivity
अबOnMultiWindowModeChangedProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को मल्टी-विंडो मोड में बदलाव के इवेंट मिल सकें. (I62d91)
वर्शन 1.5.0-alpha01
26 जनवरी, 2022
androidx.activity:activity:1.5.0-alpha01
, androidx.activity:activity-compose:1.5.0-alpha01
, और androidx.activity:activity-ktx:1.5.0-alpha01
रिलीज़ हो गए हैं. 1.5.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अब ViewModel CreationExtras के साथ इंटिग्रेट हो गया है. इसे लाइफ़साइकल2.5.0-alpha01
के हिस्से के तौर पर लॉन्च किया गया था. (Ie7e00, b/207012584)ComponentDialog
जोड़ा गया, जोDialog
का एक सबक्लास है. इसमें एकOnBackPressedDispatcher
शामिल है, जिसे डायलॉग दिखने पर, सिस्टम के 'वापस जाएं' बटन को दबाने पर कॉल किया जाएगा. अहम बात यह है कि यह सबक्लास,ViewTreeOnBackPressedDispatcherOwner
को भी सेट करता है. इससे व्यू को सही डिस्पैचर को वापस पाने का सामान्य तरीका मिलता है, चाहे वहComponentActivity
में मौजूद हो याComponentDialog
में. (I8a1bc)ComponentActivity
अब नयाOnNewIntentProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (If1f8b)ComponentActivity
अब नयाOnConfigurationChangedProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (If623b)ComponentActivity
अब नयाOnTrimMemoryProvider
इंटरफ़ेस लागू करता है, ताकि किसी भी कॉम्पोनेंट को ये इवेंट मिल सकें. (Ia9295)
एपीआई में हुए बदलाव
ActivityResultContracts.CreateDocument
के लिए, बिना पैरामीटर वाले कंस्ट्रक्टर का इस्तेमाल बंद कर दिया गया है.साथ ही, इसे एक नए कंस्ट्रक्टर से बदल दिया गया है. यह कंस्ट्रक्टर, कॉन्क्रीट MIME टाइप (उदाहरण के लिए,"image/png"
) कोIntent.ACTION_CREATE_DOCUMENT
के मुताबिक सेट किया गया है. (I2bec6)- किसी व्यू से जुड़े
OnBackPressedDispatcherOwner
को अबContext
को कास्ट करने के बजाय,ViewTreeOnBackPressedDispatcherOwner
की मदद से वापस पाया जा सकता है. (I74685)
गड़बड़ियां ठीक की गईं
registerForActivityResult()
कॉलबैक से पहली बारViewModel
को ऐक्सेस करते समय क्रैश होने की समस्या को ठीक किया गया. साथ ही,ComponentActivity
केinit
के हिस्से के तौर पर जोड़े गएLifecycleObserver
के कॉलबैक को ऐक्सेस करते समय क्रैश होने की समस्या को भी ठीक किया गया. (Ife83f)
वर्शन 1.4.0
वर्शन 1.4.0
27 अक्टूबर, 2021
androidx.activity:activity:1.4.0
, androidx.activity:activity-compose:1.4.0
, और androidx.activity:activity-ktx:1.4.0
रिलीज़ हो गए हैं. 1.4.0 वर्शन में ये बदलाव शामिल हैं.
1.3.0 के बाद किए गए अहम बदलाव
- AndroidX
ComponentActivity
अबMenuHost
इंटरफ़ेस लागू करता है. इससे, किसी भी कॉम्पोनेंट को गतिविधि मेंMenuProvider
इंस्टेंस जोड़कर,ActionBar
में मेन्यू आइटम जोड़ने की अनुमति मिलती है. हरMenuProvider
कोLifecycle
के साथ जोड़ा जा सकता है. यहLifecycle
की स्थिति के आधार पर, मेन्यू आइटम के दिखने की सेटिंग को अपने-आप कंट्रोल करेगा. साथ ही,Lifecycle
के खत्म होने परMenuProvider
को हटाने की प्रोसेस को मैनेज करेगा. ActivityResultContract
क्लास को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि Kotlin में कस्टम कॉन्ट्रैक्ट लिखने वाले डेवलपर, अपनी इनपुट और आउटपुट क्लास के लिए, वैल्यू न होने की सही स्थिति तय कर सकें.ActivityResultContracts
क्लास और उसके कॉन्ट्रैक्ट को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि वैल्यू शून्य हो सकती है या नहीं.
वर्शन 1.4.0-rc01
13 अक्टूबर, 2021
androidx.activity:activity:1.4.0-rc01
, androidx.activity:activity-compose:1.4.0-rc01
, और androidx.activity:activity-ktx:1.4.0-rc01
रिलीज़ हो गए हैं. 1.4.0-rc01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- जब
launch
कॉल में कोईException
मिलता है, तोActivityResultRegistry
,ActivityResultCallback
को कोई नतीजा नहीं दिखाएगा. (If4f91, b/200845664)
वर्शन 1.4.0-beta01
29 सितंबर, 2021
androidx.activity:activity:1.4.0-beta01
, androidx.activity:activity-compose:1.4.0-beta01
, और androidx.activity:activity-ktx:1.4.0-beta01
रिलीज़ हो गए हैं. 1.4.0-beta01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
ActivityResultContracts.OpenMultipleDocuments
औरActivityResultContracts.GetMultipleContents
के टाइप को ठीक किया गया. इस वजह से, Java प्रोग्रामिंग भाषा के कोड का इस्तेमाल करते समय,List<? extends Uri>
के आउटपुट टाइप का इस्तेमाल किया गया. (If71de)ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
, औरActivityResultContracts.RequestMultiplePermissions
क्लास में मौजूद सार्वजनिक कॉन्स्टेंट, अब Kotlin का इस्तेमाल करते समय ऐक्सेस किए जा सकते हैं. इसके लिए, अब सार्वजनिकCompanion
ऑब्जेक्ट का इस्तेमाल किया जाता है. (aosp/1832555)
दस्तावेज़ से जुड़े अपडेट
- Activity Result APIs, जैसे कि
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
, औरonRequestPermissionsResult
के ज़रिए अब जिन एपीआई को मैनेज किया जाता है उनके बंद होने के मैसेज में ज़्यादा जानकारी जोड़ी गई है. (cce80f)
वर्शन 1.4.0-alpha02
15 सितंबर, 2021
androidx.activity:activity:1.4.0-alpha02
, androidx.activity:activity-compose:1.4.0-alpha02
, और androidx.activity:activity-ktx:1.4.0-alpha02
रिलीज़ हो गए हैं. 1.4.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
activity-compose
आर्टफ़ैक्ट में अबLaunchDuringComposition
लिंट गड़बड़ी है. इस वजह से, कंपोज़िशन के हिस्से के तौर परActivityResultLauncher
केlaunch
तरीके को कॉल नहीं किया जा सकता. ऐसा इसलिए, क्योंकि कंपोज़िशन में कोई साइड-इफ़ेक्ट नहीं होना चाहिए. साइड इफ़ेक्ट को मैनेज करने के लिए एपीआई का इस्तेमाल करें. (7c2bbe, b/191347220)
एपीआई में हुए बदलाव
ActivityResultContract
क्लास को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि Kotlin में कस्टम कॉन्ट्रैक्ट लिखने वाले डेवलपर, अपने इनपुट और आउटपुट क्लास के लिए, वैल्यू न होने की सही स्थिति तय कर सकें. (I8a8f5)ActivityResultContracts
क्लास और उसके कॉन्ट्रैक्ट को Kotlin में फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि वैल्यू के तौर पर शून्य का इस्तेमाल किया जा सकता है या नहीं. (I69802)
वर्शन 1.4.0-alpha01
1 सितंबर, 2021
androidx.activity:activity:1.4.0-alpha01
, androidx.activity:activity-compose:1.4.0-alpha01
, और androidx.activity:activity-ktx:1.4.0-alpha01
रिलीज़ हो गए हैं. 1.4.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- AndroidX
ComponentActivity
अबMenuHost
इंटरफ़ेस लागू करता है.. इससे, किसी भी कॉम्पोनेंट को गतिविधि मेंMenuProvider
इंस्टेंस जोड़कर,ActionBar
में मेन्यू आइटम जोड़ने की अनुमति मिलती है. हरMenuProvider
कोLifecycle
के साथ जोड़ा जा सकता है. यहLifecycle
की स्थिति के आधार पर, मेन्यू आइटम के दिखने की सेटिंग को अपने-आप कंट्रोल करेगा. साथ ही,Lifecycle
के खत्म होने परMenuProvider
को हटाने की प्रोसेस को मैनेज करेगा. (I3b608):
/**
* Using the addMenuProvider() API directly in your Activity
**/
class ExampleActivity : ComponentActivity(R.layout.activity_example) {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
// Add menu items without overriding methods in the Activity
addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
})
}
}
/**
* Using the addMenuProvider() API in a Fragment
**/
class ExampleFragment : Fragment(R.layout.fragment_example) {
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
// The usage of an interface lets you inject your own implementation
val menuHost: MenuHost = requireActivity()
// Add menu items without using the Fragment Menu APIs
// Note how we can tie the MenuProvider to the viewLifecycleOwner
// and an optional Lifecycle.State (here, RESUMED) to indicate when
// the menu should be visible
menuHost.addMenuProvider(object : MenuProvider {
override fun onCreateMenu(menu: Menu, menuInflater: MenuInflater) {
// Add menu items here
menuInflater.inflate(R.menu.example_menu, menu)
}
override fun onMenuItemSelected(menuItem: MenuItem): Boolean {
// Handle the menu selection
return true
}
}, viewLifecycleOwner, Lifecycle.State.RESUMED)
}
व्यवहार में बदलाव
ActivityResultRegistry
अबActivityResultLauncher
परlaunch()
को कॉल करने की कोशिश करने पर,IllegalStateException
दिखाएगा. ऐसा तब होगा, जबActivityResultLauncher
को रजिस्टर नहीं किया गया हो या उसे अनरजिस्टर कर दिया गया हो. (Ida75d, b/192567522)
बाहरी योगदान
वर्शन 1.3.1
वर्शन 1.3.1
4 अगस्त, 2021
androidx.activity:activity:1.3.1
, androidx.activity:activity-compose:1.3.1
, और androidx.activity:activity-ktx:1.3.1
रिलीज़ हो गए हैं. 1.3.1 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी से जुड़े अपडेट
- अब ऐक्टिविटी, Kotlin
1.5.21
पर निर्भर करती है. - गतिविधि लिखने की सुविधा अब Compose
1.0.1
पर निर्भर करती है.
वर्शन 1.3.0
वर्शन 1.3.0
28 जुलाई, 2021
androidx.activity:activity:1.3.0
, androidx.activity:activity-compose:1.3.0
, और androidx.activity:activity-ktx:1.3.0
रिलीज़ हो गए हैं. 1.3.0 वर्शन में ये बदलाव शामिल हैं.
1.2.0 के बाद किए गए अहम बदलाव
- Activity Compose आर्टफ़ैक्ट -
activity-compose
आर्टफ़ैक्ट, किसी गतिविधि में Jetpack Compose यूज़र इंटरफ़ेस को होस्ट करने के लिए,setContent
एक्सटेंशन का तरीका उपलब्ध कराता है. साथ ही, सिस्टम के 'वापस जाएं' बटन और Activity Result API को मैनेज करने के लिए,ComponentActivity
एपीआई के साथ इंटरैक्ट करने के लिए Compose के खास रैपर उपलब्ध कराता है. ज़्यादा जानकारी के लिए, दस्तावेज़ देखें. - CaptureVideo कॉन्ट्रैक्ट -
CaptureVideo
ActivityResultContract
, अब काम न करने वालेTakeVideo
कॉन्ट्रैक्ट की जगह लेता है. साथ ही, यह एक बूलियन दिखाता है, जो कई कैमरा ऐप्लिकेशन पर काम करता है. - 'पिक्चर में पिक्चर' मोड के हिंट व्यू को ट्रैक करना -
activity-ktx
के उपयोगकर्ता अबActivity
परtrackPipAnimationHintView
एक्सटेंशन के तरीके का इस्तेमाल करके,PictureInPictureParams
को अपने-आप फिर से बना सकते हैं. ऐसा तब होता है, जब व्यू की पोज़िशन, विंडो के हिसाब से बदलती है.
वर्शन 1.3.0-rc02
14 जुलाई, 2021
androidx.activity:activity:1.3.0-rc02
, androidx.activity:activity-compose:1.3.0-rc02
, और androidx.activity:activity-ktx:1.3.0-rc02
रिलीज़ हो गए हैं. 1.3.0-rc02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
कॉलबैक अब ठीक से सेव और वापस लाए जाते हैं, ताकि savedState में कॉलबैक डुप्लीकेट न हों. (I97816, b/191893160)
वर्शन 1.3.0-rc01
1 जुलाई, 2021
androidx.activity:activity:1.3.0-rc01
, androidx.activity:activity-compose:1.3.0-rc01
, और androidx.activity:activity-ktx:1.3.0-rc01
को 1.3.0-beta02
के बिना किसी बदलाव के रिलीज़ किया गया है. 1.3.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.3.0-beta02
16 जून, 2021
androidx.activity:activity:1.3.0-beta02
, androidx.activity:activity-compose:1.3.0-beta02
, और androidx.activity:activity-ktx:1.3.0-beta02
रिलीज़ हो गए हैं. 1.3.0-beta02 वर्शन में ये बदलाव शामिल हैं.
activity-compose
को Compose 1.0.0-beta09
पर निर्भर करने के लिए अपडेट किया गया. androidx.compose.ui:ui-test-junit4
अब activity-compose
पर कंपाइल टाइम डिपेंडेंसी है.
वर्शन 1.3.0-beta01
2 जून, 2021
androidx.activity:activity:1.3.0-beta01
, androidx.activity:activity-compose:1.3.0-beta01
, और androidx.activity:activity-ktx:1.3.0-beta01
रिलीज़ हो गए हैं. 1.3.0-beta01 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
- पहले इस्तेमाल किए जा रहे
@Composable registerForActivityResult()
तरीके को हटा दिया गया है. कृपयाrememberLauncherForActivityResult()
का इस्तेमाल करें. (Ic39d3)
वर्शन 1.3.0-alpha08
18 मई, 2021
androidx.activity:activity:1.3.0-alpha08
, androidx.activity:activity-compose:1.3.0-alpha08
, और androidx.activity:activity-ktx:1.3.0-alpha08
रिलीज़ हो गए हैं. 1.3.0-alpha08 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
CaptureVideo
ActivityResultContract
, आपकेActivityResultCallback
में एक बोलियन वैल्यू दिखाता है. इससे पता चलता है कि आपका वीडियो, दिए गए यूआरआई में सेव हो गया है या नहीं. यह अब काम न करने वालेTakeVideo
कॉन्ट्रैक्ट की जगह ले लेता है. ऐसा इसलिए है, क्योंकि कैमरा ऐप्लिकेशन बहुत कम ही थंबनेल बिटमैप दिखाते हैं. इससे नतीजा काम का नहीं होता. (Ie21f2, b/185938070) - जब भी व्यू में बदलाव होता है, तो PipParams के सोर्स रेक्ट के हिंट को अपडेट करने के लिए नया एपीआई
Activity#setPipAnimationHintView
जोड़ा गया है. (I9063d)
एपीआई में हुए बदलाव
rememberLauncherForActivityResult
फ़ंक्शन अब ऐसा लॉन्चर दिखाता है जोunregister()
फ़ंक्शन का इस्तेमाल नहीं करता. लॉन्चर को रजिस्टर और अनरजिस्टर करने की प्रोसेस,rememberLauncherForActivityResult
अपने-आप मैनेज करता है. (I2443e)
Compose के साथ काम करने वाले डिवाइस
androidx.activity:activity-compose:1.3.0-alpha08
सिर्फ़ Compose के वर्शन1.0.0-beta07
और उसके बाद के वर्शन के साथ काम करता है.
वर्शन 1.3.0-alpha07
21 अप्रैल, 2021
androidx.activity:activity:1.3.0-alpha07
, androidx.activity:activity-compose:1.3.0-alpha07
, और androidx.activity:activity-ktx:1.3.0-alpha07
रिलीज़ हो गए हैं. 1.3.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
rememberLauncherForActivityResult
अब एक हीActivityResultLauncher
इंस्टेंस का एक स्थिर रेफ़रंस दिखाता है. भले ही, फिर से कॉम्पोज़ करने की वजह से अनुबंध में बदलाव हो. (Id2d6d)1.3.0
से ज़्यादा के अस्थिर वर्शन का इस्तेमाल करने पर, अब आपको1.3.0
का इस्तेमाल करने के लिए कहने वाली गलत लिंट गड़बड़ी नहीं दिखेगी. (aosp/1670206, b/184847092)
वर्शन 1.3.0-alpha06
7 अप्रैल, 2021
androidx.activity:activity:1.3.0-alpha06
, androidx.activity:activity-compose:1.3.0-alpha06
, और androidx.activity:activity-ktx:1.3.0-alpha06
रिलीज़ हो गए हैं. 1.3.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
एपीआई में हुए बदलाव
registerForActivityResult()
एपीआई का नाम बदलकरrememberLauncherForActivityResult()
कर दिया गया है, ताकि यह बेहतर तरीके से पता चल सके कि दिखाया गयाActivityResultLauncher
एक मैनेज किया जाने वाला ऑब्जेक्ट है, जिसे आपकी ओर से याद रखा जाता है.unregister
को कॉल करने पर, अबActivityResultLauncher
की वैल्यू के तौर पर गड़बड़ी का मैसेज दिखेगा. (I2bb6d)LocalOnBackPressedDispatcherOwner.current
औरLocalActivityResultRegistryOwner.current
अब ऐसी वैल्यू दिखाते हैं जिसे शून्य पर सेट किया जा सकता है. इससे यह तय करने में मदद मिलती है कि यह वैल्यू मौजूदा कॉम्पोज़िशन में उपलब्ध है या नहीं. जिन एपीआई के लिए इन एपीआई की ज़रूरत होती है, जैसे किBackHandler
औरrememberLauncherForActivityResult()
, अब उनमें मालिक का पता न चलने पर, ज़्यादा जानकारी वाली गड़बड़ी दिखेगी.NavHost
अब तब भी काम करता है, जबOnBackPressedDispatcherOwner
नहीं मिलता. ऐसाNavHost
की झलक देखते समय होता है. (I7d8b4)
गड़बड़ियां ठीक की गईं
- अगर ऐक्टिविटी
STOPPED
है, फिरSTARTED
है, और LifecycleOwner के साथ अन्य कॉलबैक जोड़े गए हैं, तोBackHandler
अब बैक बटन को दबाने पर सही तरीके से काम करेगा. (I71de6, b/182284739) launch()
वाले तरीके के एक्सटेंशन को,Unit
इनपुट वाले कस्टमActivityResultContract
के साथ इस्तेमाल करने पर, अबNullPointerException
नहीं दिखेगा (I76282, b/183837954)
वर्शन 1.3.0-alpha05
24 मार्च, 2021
androidx.activity:activity:1.3.0-alpha05
, androidx.activity:activity-compose:1.3.0-alpha05
, और androidx.activity:activity-ktx:1.3.0-alpha05
रिलीज़ हो गए हैं. 1.3.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Activity 1.2.2 से:
InvalidFragmentVersionForActivityResult
लिंट जांच में एक समस्या को ठीक किया गया है. इसकी वजह से, Fragment 1.3.1 या उसके बाद के वर्शन का इस्तेमाल करने पर, गलत तरीके से सही के तौर पर मार्क किया जा रहा था. (I54da1, b/182388985) - Activity 1.2.2 से:
ComponentActivity
अब किसी ऐसेActivityResultContract
सेIntent
लॉन्च करते समयClassNotFoundException
से बचता है जिसे पहले किसी दूसरेIntent
में एक्सट्रा के तौर पर रखा गया था. (Ieff05, b/182906230)
डिपेंडेंसी से जुड़े अपडेट
- Activity 1.2.2 से: ऐक्टिविटी अब लाइफ़साइकल
2.3.1
पर निर्भर करती है.
वर्शन 1.3.0-alpha04
10 मार्च, 2021
androidx.activity:activity:1.3.0-alpha04
, androidx.activity:activity-compose:1.3.0-alpha04
, और androidx.activity:activity-ktx:1.3.0-alpha04
रिलीज़ हो गए हैं. 1.3.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि
1.2.1
से:RequestMultiplePermissions
अब सिर्फ़ उन अनुमतियों के बजाय, अनुरोध की गई सभी अनुमतियों के लिए नतीजे दिखाता है जिन्हें पहले अनुमति नहीं दी गई थी. (I50bc3, b/180884668) - गतिविधि
1.2.1
से:ActivityResultRegistry
अब यह पक्का करता है किlaunch()
अनुरोधों के जारी रहने पर, उन्हें नतीजे मिलते रहेंगे. भले ही, आपनेunregister()
के बाद, उसी कुंजी सेregister()
फिर से किया हो. (I9ef34, b/181267562) - Activity Compose अब रनटाइम क्लासपाथ में जांच के लिए ज़रूरी डिपेंडेंसी नहीं जोड़ता. (Ifd8b3)
BackHandler
से जुड़ी एक समस्या को ठीक किया गया है. इसमें, रीकंपोज़िशन के बाद भी, पहले से सेट किए गएonBack
लेम्ब्डा फ़ंक्शन का इस्तेमाल किया जा रहा था. (8eb5eb)
वर्शन 1.3.0-alpha03
24 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha03
, androidx.activity:activity-compose:1.3.0-alpha03
, और androidx.activity:activity-ktx:1.3.0-alpha03
रिलीज़ हो गए हैं. 1.3.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- अब कॉम्पोज़ेबल
registerForActivityResult
फ़ंक्शन है, जिससे कॉम्पोज़ेबल में मौजूद गतिविधियों के नतीजे मिलते हैं. (Ia7851, b/172690553)
एपीआई में हुए बदलाव
LocalOnBackPressedDispatcherOwner
में अबprovides
फ़ंक्शन हैं. इनका इस्तेमालCompositionLocalProvider
के साथ किया जा सकता है. इससेasProvidableCompositionLocal()
एपीआई की जगह ले ली जाएगी. (I45d24)
वर्शन 1.3.0-alpha02
10 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha02
, androidx.activity:activity-compose:1.3.0-alpha02
, और androidx.activity:activity-ktx:1.3.0-alpha02
रिलीज़ हो गए हैं. 1.3.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि लिखने की सुविधा
1.3.0-alpha01
में एक समस्या को ठीक किया गया है. इसकी वजह से, लिखने की सुविधा1.0.0-alpha12
का इस्तेमाल करते समयNoSuchMethodError: No static method setContent
अपवाद दिखता था. Compose का इस्तेमाल करने वाले सभी लोगों को1.3.0-alpha02
और उसके बाद के वर्शन का इस्तेमाल करना चाहिए. (b/179911234)
एपीआई में हुए बदलाव
BackHandler
एपीआई का इस्तेमाल करके, Composable को सिस्टम के 'वापस जाएं' बटन को इंटरसेप्ट करने की अनुमति दी जा सकती है. (I58ed5, b/172154006)
वर्शन 1.3.0-alpha01
10 फ़रवरी, 2021
androidx.activity:activity:1.3.0-alpha01
, androidx.activity:activity-compose:1.3.0-alpha01
, और androidx.activity:activity-ktx:1.3.0-alpha01
रिलीज़ हो गए हैं. 1.3.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- नया
activity-compose
आर्टफ़ैक्ट,androidx.activity
के खास एपीआई के लिए, Jetpack Compose के खास हेल्पर उपलब्ध कराता है.ComponentActivity.setContent
कोandroidx.compose.ui.platform.setContent
सेandroidx.activity.compose.setContent
में ले जाया गया है. (Icf416)
आम समस्याएं
- Activity Compose
1.3.0-alpha01
और उस पर निर्भर लाइब्रेरी, जैसे किandroidx.compose.ui:ui-test-junit4:1.0.0-alpha12
का इस्तेमाल करने पर,NoSuchMethodError: No static method setContent
अपवाद दिखेगा. (b/179911234)
वर्शन 1.2.4
वर्शन 1.2.4
21 जुलाई, 2021
androidx.activity:activity:1.2.4
और androidx.activity:activity-ktx:1.2.4
रिलीज़ हो गए हैं. 1.2.4 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- Activity
1.3.0-rc02
से: ActivityResultRegistry कॉलबैक अब सही तरीके से सेव और वापस लाए जाते हैं, ताकि savedState में कॉलबैक डुप्लीकेट न हों. (I97816, b/191893160)
वर्शन 1.2.3
वर्शन 1.2.3
5 मई, 2021
androidx.activity:activity:1.2.3
और androidx.activity:activity-ktx:1.2.3
रिलीज़ हो गए हैं. 1.2.3 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
launch()
वाले तरीके के एक्सटेंशन को,Unit
इनपुट वाले कस्टमActivityResultContract
के साथ इस्तेमाल करने पर, अबNullPointerException
नहीं दिखेगा (I76282, b/183837954)- फ़्रेगमेंट के नए वर्शन के स्नैपशॉट, ऐल्फ़ा, बीटा या आरसी बिल्ड का इस्तेमाल करते समय, आपको फ़्रेगमेंट
1.3.0
का इस्तेमाल करने के लिए कहने वाली गलत लिंट गड़बड़ी को ठीक किया गया है. (f4a57e, b/184847092)
वर्शन 1.2.2
वर्शन 1.2.2
24 मार्च, 2021
androidx.activity:activity:1.2.2
और androidx.activity:activity-ktx:1.2.2
रिलीज़ हो गए हैं. 1.2.2 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
InvalidFragmentVersionForActivityResult
लिंट जांच में एक समस्या को ठीक किया गया है. इसकी वजह से, Fragment 1.3.1 या इसके बाद के वर्शन का इस्तेमाल करने पर, गलत फ़ॉल्स पॉज़िटिव मिलता था. (I54da1, b/182388985)ComponentActivity
अब किसीActivityResultContract
सेIntent
लॉन्च करते समय,ClassNotFoundException
को हटा देता है. यहActivityResultContract
, पहले किसी दूसरेIntent
में एक्सट्रा के तौर पर होल्ड किया गया था. (Ieff05, b/182906230)
डिपेंडेंसी से जुड़े अपडेट
- ऐक्टिविटी अब लाइफ़साइकल
2.3.1
पर निर्भर करती है.
वर्शन 1.2.1
वर्शन 1.2.1
10 मार्च, 2021
androidx.activity:activity:1.2.1
और androidx.activity:activity-ktx:1.2.1
रिलीज़ हो गए हैं. 1.2.1 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
RequestMultiplePermissions
अब सिर्फ़ उन अनुमतियों के बजाय, अनुरोध की गई सभी अनुमतियों के नतीजे दिखाता है जिन्हें पहले अनुमति नहीं दी गई थी. (I50bc3, b/180884668)ActivityResultRegistry
अब यह पक्का करता है कि प्रोसेस में चल रहेlaunch()
अनुरोधों के नतीजे तब भी मिलेंगे, जब आपनेunregister()
के बाद, उसी कुंजी के साथ फिर सेregister()
किया हो. (I9ef34, b/181267562)
वर्शन 1.2.0
वर्शन 1.2.0
10 फ़रवरी, 2021
androidx.activity:activity:1.2.0
और androidx.activity:activity-ktx:1.2.0
रिलीज़ हो गए हैं. 1.2.0 वर्शन में ये बदलाव शामिल हैं.
1.1.0 के बाद किए गए मुख्य बदलाव
- Activity Result APIs:
ComponentActivity
अब एकActivityResultRegistry
उपलब्ध कराता है. इसकी मदद से,startActivityForResult()
+onActivityResult()
के साथ-साथrequestPermissions()
+onRequestPermissionsResult()
फ़्लो को भी मैनेज किया जा सकता है. इसके लिए, आपको अपनी गतिविधि या फ़्रैगमेंट में मौजूद तरीकों को बदलने की ज़रूरत नहीं है. साथ ही,ActivityResultContract
की मदद से टाइप सेफ़्टी को बेहतर बनाया जा सकता है. इसके अलावा, इन फ़्लो की जांच करने के लिए हुक भी उपलब्ध कराए जाते हैं. गतिविधि से नतीजा पाना सेक्शन में अपडेट देखें.
ContextAware
:ComponentActivity
अबContextAware
लागू करता है. इससे, एक या उससे ज़्यादाOnContextAvailableListener
इंस्टेंस जोड़े जा सकते हैं. इन इंस्टेंस को बेसActivity.onCreate()
से पहले कॉलबैक मिलेगा.- सस्पेंड करने वाले Kotlin एक्सटेंशन
withContextAvailable()
की मदद से, कॉन्टेक्स्ट उपलब्ध होने पर नतीजा दिखाने वाला ब्लॉक चलाया जा सकता है. FragmentManager
की स्थिति को वापस लाने के लिए,FragmentActivity
Fragment 1.3.0 में इस एपीआई का इस्तेमाल करता है.FragmentActivity
के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.AppCompatActivity
, AppCompat 1.3.0-alpha02 या इसके बाद के वर्शन में इस एपीआई का इस्तेमाल करता है.AppCompatActivity
के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे.
- सस्पेंड करने वाले Kotlin एक्सटेंशन
ViewTree
सहायता:ComponentActivity
अब Lifecycle2.3.0
और SavedState1.1.0
में जोड़े गएViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
, औरViewTreeSavedStateRegistryOwner
एपीआई के साथ काम करता है. इससे,ComponentActivity
में सीधे तौर पर जोड़े गए किसी भी व्यू के लिए, गतिविधि कोLifecycleOwner
,ViewModelStoreOwner
, औरSavedStateRegistryOwner
के तौर पर दिखाया जाएगा.
- reportFullyDrawn() बैकपोर्ट -
reportFullyDrawn()
केActivity
तरीके को सभी एपीआई लेवल पर काम करने के लिए,ComponentActivity
में बैकपोर्ट किया गया है. इससे एपीआई 19 पर क्रैश होने की समस्या ठीक हो गई है. साथ ही, सभी एपीआई लेवल के लिए इस तरीके के लिए ट्रैकिंग जोड़ी गई है.
वर्शन 1.2.0-rc01
16 दिसंबर, 2020
androidx.activity:activity:1.2.0-rc01
और androidx.activity:activity-ktx:1.2.0-rc01
रिलीज़ हो गए हैं. 1.2.0-rc01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
अब हमेशा उसी स्थिति को वापस लाता है जो सेव की गई थी. (Idd56b)ComponentActivity.reportFullyDrawn
(Ic7632) में ट्रेसिंग जोड़ना
बाहरी योगदान
ComponentActivity
अबreportFullyDrawn()
की जगह ले लेता है. इससे इसे सभी एपीआई लेवल पर कॉल किया जा सकता है. साथ ही, एपीआई 19 वाले डिवाइसों पर, सिस्टम की सही अनुमति के बिना इस तरीके को कॉल करने पर होने वाली क्रैश की समस्या को ठीक किया जाता है. धन्यवाद, साइमन शिलर! (b/163239764, #103)
वर्शन 1.2.0-beta02
2 दिसंबर, 2020
androidx.activity:activity:1.2.0-beta02
और androidx.activity:activity-ktx:1.2.0-beta02
रिलीज़ हो गए हैं. 1.2.0-beta02 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
- एक समस्या को ठीक किया गया है. इस समस्या की वजह से,
Lifecycle
के साथ रजिस्टर होने पर, Activity Result API, नतीजे दिखाने से पहले लाइफ़साइकल केSTARTED
होने का इंतज़ार नहीं करता था. (I109ea)
बाहरी योगदान
launch()
के दस्तावेज़ को अपडेट किया गया, ताकि साफ़ तौर पर बताया जा सके कि यहActivityNotFoundException
दिखा सकता है. धन्यवाद, माइकल ज़ीलिनस्की! (aosp/1493580)
वर्शन 1.2.0-beta01
1 अक्टूबर, 2020
androidx.activity:activity:1.2.0-beta01
और androidx.activity:activity-ktx:1.2.0-beta01
रिलीज़ हो गए हैं. 1.2.0-beta01 वर्शन में ये बदलाव शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
अब तब तक इंटिजर जनरेट करता है, जब तक उसे कोई ऐसा इंटिजर नहीं मिल जाता जिसे अनुरोध कोडregister()
के तौर पर इस्तेमाल करने के लिए असाइन नहीं किया गया है. इससे अनुरोध कोड बढ़ाने की वजह से, इंटिजर ओवरफ़्लो होने की संभावना को रोका जा सकता है. (b/168779518)ActivityResultLauncher
परunregister()
को कॉल करने पर,Lifecycle
ऑब्ज़र्वर सही तरीके से हटा दिए जाते हैं. (b/165608393)
व्यवहार में बदलाव
ActivityResultRegistry
अबLifecycleOwner
के साथregister()
को कॉल करने की कोशिश करते समय,IllegalStateException
दिखाता है. इसLifecycleOwner
काLifecycle
पहले से हीSTARTED
पर पहुंच चुका है. (b/165435866)
दस्तावेज़ अपडेट किए गए
ContextAware
दस्तावेज़,LifecycleOwner
से लिंक होता है, ताकिLifecycle
कॉलबैक को इवेंट बनाने और मिटाने के लिए सही जगह के तौर पर हाइलाइट किया जा सके. (aosp/1414152)
वर्शन 1.2.0-alpha08
19 अगस्त, 2020
androidx.activity:activity:1.2.0-alpha08
और androidx.activity:activity-ktx:1.2.0-alpha08
रिलीज़ हो गए हैं. 1.2.0-alpha08 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
अबContextAware
लागू करता है. इससे, एक या उससे ज़्यादाOnContextAvailableListener
इंस्टेंस जोड़े जा सकते हैं. इन्हें बेसActivity.onCreate()
से पहले कॉलबैक मिलेगा. (b/161390636)- सस्पेंड करने वाले Kotlin एक्सटेंशन
withContextAvailable()
की मदद से, कॉन्टेक्स्ट उपलब्ध होने पर नतीजा दिखाने वाला ब्लॉक चलाया जा सकता है. (I8290c) FragmentActivity
,FragmentManager
की स्थिति को पहले जैसा करने के लिए, Fragment 1.3.0-alpha08 में इस एपीआई का इस्तेमाल करता है.FragmentActivity
के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे. (I513da)AppCompatActivity
, AppCompat 1.3.0-alpha02 में इस एपीआई का इस्तेमाल करता है.AppCompatActivity
के सबक्लास में जोड़े गए सभी लिसनर, उस लिसनर के बाद चलेंगे. (I513da)
- सस्पेंड करने वाले Kotlin एक्सटेंशन
गड़बड़ियां ठीक की गईं
ActivityResultFragmentVersionDetector
Lint की जांच से जुड़ी एक समस्या को ठीक किया गया है. इसकी वजह से, Lint 27.1.0 या इसके बाद के वर्शन का इस्तेमाल करने पर, जांच नहीं हो पाती थी. (b/162155191)
वर्शन 1.2.0-alpha07
22 जुलाई, 2020
androidx.activity:activity:1.2.0-alpha07
और androidx.activity:activity-ktx:1.2.0-alpha07
रिलीज़ हो गए हैं. 1.2.0-alpha07 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- Activity Result API का इस्तेमाल करते समय, फ़्रैगमेंट
1.3.0-alpha07
का इस्तेमाल किया जा रहा है, इसकी पुष्टि करने के लिए एक नईInvalidFragmentVersionForActivityResult
लिंट जांच जोड़ी गई है. इससे, “अमान्य अनुरोध कोड” से जुड़ी समस्याओं की वजह से रनटाइम क्रैश से बचा जा सकता है. साथ ही, फ़्रैगमेंट के पुराने वर्शन का इस्तेमाल करने की वजह से, अनुमति के अनुरोध काम नहीं करने की समस्या से भी बचा जा सकता है. (b/152554847)
बाहरी योगदान
RequestPermission
गतिविधि के नतीजे के समझौते के लिए नतीजों को पार्स करते समय,ArrayIndexOutOfBoundsException
को ठीक किया गया. (I8f9e3, b/161057605)
वर्शन 1.2.0-alpha06
10 जून, 2020
androidx.activity:activity:1.2.0-alpha06
और androidx.activity:activity-ktx:1.2.0-alpha06
रिलीज़ हो गए हैं. 1.2.0-alpha06 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- अब Kotlin में
ActivityResult
क्लास को डिस्ट्रक्चर किया जा सकता है, ताकिrequestCode
औरintent
को सीधे ऐक्सेस किया जा सके. (b/157212935) ActivityResultLauncher
की मदद से, अब उसActivityResultContract
को वापस पाया जा सकता है जिसका इस्तेमाल लॉन्चर को रजिस्टर करने के लिए किया गया था. (b/156875743)
एपीआई में हुए बदलाव
- बड़े बदलाव:
ActivityResultRegistry
परinvoke()
तरीके का नाम बदलकरonLaunch()
कर दिया गया है. (b/157496491) - अगर कोई नतीजा नहीं मिलता है, तो
OpenMultipleDocuments
कॉन्ट्रैक्ट अब रजिस्टर किए गए कॉलबैक कोnull
के बजाय खाली सूची दिखाता है. (b/157348014)
वर्शन 1.2.0-alpha05
20 मई, 2020
androidx.activity:activity:1.2.0-alpha05
और androidx.activity:activity-ktx:1.2.0-alpha05
रिलीज़ हो गए हैं. 1.2.0-alpha05 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ComponentActivity
मेंView
का इस्तेमाल करते समय, लाइफ़साइकल2.3.0-alpha03
सेViewTreeViewModelStoreOwner
और SavedState1.1.0-alpha01
सेViewTreeSavedStateRegistryOwner
के लिए सहायता जोड़ी गई है. (aosp/1297993, aosp/1300264)
एपीआई में हुए बदलाव
TakePicture
कॉन्ट्रैक्ट अब थंबनेलBitmap
के बजायboolean
दिखाता है. इससे यह पता चलता है कि इमेज कोUri
में सेव करने के दौरान, कैमरा ऐप्लिकेशन ने इमेज को सेव किया है. (b/154302879)ActivityResultLauncher
परinvoke()
एक्सटेंशन हटा दिए गए हैं. इसके बजाय,launch()
का साफ़ तौर पर इस्तेमाल किया गया है, ताकि यह बेहतर तरीके से पता चल सके कि ये एसिंक्रोनस ऑपरेशन हैं.launch
के लिए Kotlin एक्सटेंशन,ActivityResultLauncher<Void>
औरActivityResultLauncher<Unit>
के लिएandroidx.activity.result
पैकेज में जोड़े गए हैं. इनकी मदद से,null
याUnit
को पास करने की ज़रूरत नहीं होती. ये एक्सटेंशन, पहले केinvoke()
एक्सटेंशन के व्यवहार को दिखाते हैं. (aosp/1304674, aosp/1304675)setFlagsMask()
औरsetFlagsValues()
के लिएIntentSenderRequest.Builder
के तरीकों को एक हीsetFlags()
तरीके में जोड़ दिया गया है. (aosp/1302111)
गड़बड़ियां ठीक की गईं
ActivityResultCallback
कोLifecycleOwner
के साथ रजिस्टर करते समय, उस समस्या को ठीक किया गया है जिसमें स्टेटसSTARTED
पर पहुंचने से पहले ही कॉलबैक ट्रिगर हो जाता था. (aosp/1309744)
व्यवहार में बदलाव
ActivityResultRegistry
अब अनुरोध कोड जनरेट करता है, जो0
के बजाय0xFFFF
से शुरू होता है. इससे किसी गतिविधि मेंstartActivityForResult()
याrequestPermissions()
का इस्तेमाल करते समय, ओवरलैप होने से रोका जा सकता है. (aosp/1302324)
वर्शन 1.2.0-alpha04
29 अप्रैल, 2020
androidx.activity:activity:1.2.0-alpha04
और androidx.activity:activity-ktx:1.2.0-alpha04
रिलीज़ हो गए हैं. 1.2.0-alpha04 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- एक ऐसा कॉन्ट्रैक्ट जोड़ा गया है जो ActivityResult API में startIntentSenderForResult को कॉल कर सकता है. (b/153007517)
एपीआई में हुए बदलाव
prepareCall()
तरीके का नाम बदलकरregisterForActivityResult()
कर दिया गया है. यह नाम, यहांComponentActivity
और फ़्रैगमेंट1.3.0-alpha04
, दोनों पर लागू होता है. (aosp/1278717)GetContents
,OpenDocuments
, औरRequestPermissions
कॉन्ट्रैक्ट का नाम बदलकर, क्रमशःGetMultipleContents
,OpenMultipleDocuments
, औरRequestMultiplePermissions
कर दिया गया है. (aosp/1280161)ComponentActivity
अबActivityResultRegisteryOwner
इंटरफ़ेस लागू करता है. (aosp/1290888)- -
ComponentActivity
परstartActivityForResult()
/onActivityResult()
औरonRequestPermissionsResult()
एपीआई का इस्तेमाल नहीं किया जा सकता. कृपया गतिविधि के नतीजे के एपीआई का इस्तेमाल करें. (b/154751887)
गड़बड़ियां ठीक की गईं
GetMultipleContents
औरOpenMultipleDocuments
अनुबंधों का इस्तेमाल करके, किसी एक आइटम को चुनने पर, अब वह आपके कॉलबैक में सही तरीके से दिखता है. (b/152941153)
वर्शन 1.2.0-alpha03
1 अप्रैल, 2020
androidx.activity:activity:1.2.0-alpha03
और androidx.activity:activity-ktx:1.2.0-alpha03
रिलीज़ हो गए हैं. 1.2.0-alpha03 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
ActivityResultContracts
की ओर से पहले से बनाए गए कॉन्ट्रैक्ट के सेट में,TakeVideo
,PickContact
,GetContent
,GetContents
,OpenDocument
,OpenDocuments
,OpenDocumentTree
, औरCreateDocument
कॉन्ट्रैक्ट जोड़े गए. (aosp/1262482, aosp/1266916, aosp/1268960)- गतिविधि के नतीजे के लिए उपलब्ध एपीआई, अब
ActivityOptionsCompat
के साथ नतीजे के लिए कोई गतिविधि शुरू करने की सुविधा देते हैं. हालांकि,ActivityOptionsCompat
का इस्तेमाल करना ज़रूरी नहीं है. (b/151860054)
एपीआई में हुए बदलाव
TakePicture
कॉन्ट्रैक्ट में अबUri
इनपुट दिया जाता है, ताकि यह तय किया जा सके कि इमेज को कहां सेव किया जाए. बिना किसी इनपुट वाले पिछले अनुबंध का नाम बदलकरTakePicturePreview
कर दिया गया है. (aosp/1262482)ActivityResultRegistry
परregisterActivityResultCallback()
के तरीके का नाम बदलकरregister()
कर दिया गया है. (aosp/1267621)ActivityResultLauncher
पर मौजूदdispose()
तरीके का नाम बदलकरunregister()
कर दिया गया है. साथ ही,ActivityResultRegistry
पर मौजूदunregisterResultCallback()
को हटा दिया गया है. (aosp/1267621)ActivityResultContact
केcreateIntent()
तरीके में अब इनपुट के साथ-साथContext
भी शामिल होता है, ताकि साफ़ तौर पर इंटेंट बनाए जा सकें. (aosp/1238800)ActivityResultContract
,startActivityForResult
को कॉल किए बिना नतीजा देने के लिए, अबgetSynchronousResult()
को बदल सकता है.RequestPermission
औरRequestPermissions
समझौतों में इसका इस्तेमाल, अनुरोध की गई अनुमतियां पहले से ही दी जा चुकी होने पर, 'अनुमति दी गई' स्टेटस को सही तरीके से डिलीवर करने के लिए किया जाता है. (b/151110799)- पहले उपलब्ध
Dial
समझौते को हटा दिया गया है, क्योंकिIntent
का इस्तेमालstartActivityForResult()
के साथ नहीं किया जा सकता. (aosp/1266916) - गतिविधि के नतीजे से जुड़े कई एपीआई, अब
final
के तौर पर मार्क किए गए हैं. इसमेंgetActivityResultRegistry()
,prepareCall()
के तरीके,invoke()
को छोड़करActivityResultRegistry
के सभी तरीके, और ऐसे कई डिफ़ॉल्ट समझौते शामिल हैं जो वैकल्पिक सुविधाओं के साथ काम नहीं करते. (b/152439361)
गड़बड़ियां ठीक की गईं
- कॉन्फ़िगरेशन में बदलाव के बाद, ऐसे कॉलबैक को नतीजे डिलीवर करने के दौरान
ActivityResultRegistry
में एकNullPointerException
ठीक किया गया है जिसे अब तक फिर से रजिस्टर नहीं किया गया है.ActivityResultRegistry
अब इन लंबित नतीजों को सेव रखता है और कॉलबैक को फिर से रजिस्टर करने पर उन्हें डिलीवर करता है. (b/152137004)
वर्शन 1.2.0-alpha02
18 मार्च, 2020
androidx.activity:activity:1.2.0-alpha02
और androidx.activity:activity-ktx:1.2.0-alpha02
रिलीज़ हो गए हैं. 1.2.0-alpha02 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- ActivityResultRegistry:
ComponentActivity
अब एकActivityResultRegistry
उपलब्ध कराता है. इसकी मदद से,startActivityForResult()
+onActivityResult()
के साथ-साथrequestPermissions()
+onRequestPermissionsResult()
फ़्लो को हैंडल किया जा सकता है. इसके लिए, आपको अपनी गतिविधि या फ़्रैगमेंट में मौजूद तरीकों को बदलने की ज़रूरत नहीं है. साथ ही,ActivityResultContract
की मदद से टाइप सेफ़्टी को बेहतर बनाया जा सकता है. इसके अलावा, इन फ़्लो की जांच करने के लिए हुक भी उपलब्ध कराए जाते हैं. गतिविधि से नतीजा पाना सेक्शन में अपडेट देखें. (b/125158199)
वर्शन 1.2.0-alpha01
4 मार्च, 2020
androidx.activity:activity:1.2.0-alpha01
और androidx.activity:activity-ktx:1.2.0-alpha01
रिलीज़ हो गए हैं. 1.2.0-alpha01 वर्शन में ये बदलाव शामिल हैं.
नई सुविधाएं
- लाइफ़साइकल
2.3.0-alpha01
में जोड़े गएViewTreeLifecycleOwner.get(View)
एपीआई के लिए सहायता जोड़ी गई है, ताकि यह सीधे तौर पर गतिविधि में जोड़े गए किसी भी व्यू के लिए, गतिविधि कोLifecycleOwner
के तौर पर दिखाए. (aosp/1182955)
गड़बड़ियां ठीक की गईं
- प्लैटफ़ॉर्म के पुराने वर्शन पर चलने के दौरान, गतिविधि
1.1.0
में हुई गिरावट को ठीक किया गया. इसकी वजह यह थी किandroid.app.FragmentManager
में मौजूद गड़बड़ी की वजह से,onBackPressed()
सेIllegalStateException
बन जाता था. (b/146290338)
वर्शन 1.1.0
वर्शन 1.1.0
22 जनवरी, 2020
androidx.activity:activity:1.1.0
रिलीज़ हो गया है. 1.1.0 वर्शन में ये बदलाव शामिल हैं.
1.0.0 के बाद किए गए अहम बदलाव
- लाइफ़साइकल ViewModel सेव की गई स्थिति का इंटिग्रेशन:
SavedStateViewModelFactory
अब डिफ़ॉल्ट फ़ैक्ट्री है. इसका इस्तेमालby viewModels()
,ViewModelProvider
कंस्ट्रक्टर याViewModelProviders.of()
के साथComponentActivity
या उसके सबक्लास के साथ किया जाता है.
वर्शन 1.1.0-rc03
4 दिसंबर, 2019
androidx.activity:activity:1.1.0-rc03
और androidx.activity:activity-ktx:1.1.0-rc03
रिलीज़ हो गए हैं. 1.1.0-rc03 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
- ऐक्टिविटी अब लाइफ़साइकल
2.2.0-rc03
और लाइफ़साइकल ViewModel सेव की गई स्थिति1.0.0-rc03
पर निर्भर करती है.
वर्शन 1.1.0-rc02
7 नवंबर, 2019
androidx.activity:activity:1.1.0-rc02
और androidx.activity:activity-ktx:1.1.0-rc02
रिलीज़ हो गए हैं. 1.1.0-rc02 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
- ऐक्टिविटी अब लाइफ़साइकल
2.2.0-rc02
पर निर्भर करती है.
वर्शन 1.1.0-rc01
23 अक्टूबर, 2019
androidx.activity:activity:1.1.0-rc01
और androidx.activity:activity-ktx:1.1.0-rc01
को 1.1.0-beta01
में किए गए बदलावों के साथ रिलीज़ किया गया है. 1.1.0-rc01 वर्शन में ये बदलाव शामिल हैं.
वर्शन 1.1.0-beta01
9 अक्टूबर, 2019
androidx.activity:activity:1.1.0-beta01
और androidx.activity:activity-ktx:1.1.0-beta01
रिलीज़ हो गए हैं. 1.1.0-beta01 वर्शन में ये बदलाव शामिल हैं.
डिपेंडेंसी में बदलाव
- ऐक्टिविटी अब SavedState 1.0.0 के स्टेबल वर्शन पर निर्भर करती है.
वर्शन 1.1.0-alpha03
5 सितंबर, 2019
androidx.activity:activity:1.1.0-alpha03
और androidx.activity:activity-ktx:1.1.0-alpha03
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
नई सुविधाएं
- ऐक्टिविटी अब Core 1.1.0 के स्टेबल वर्शन पर निर्भर करती है.
गड़बड़ियां ठीक की गईं
- ऐक्टिविटी अब लाइफ़साइकल
2.2.0-alpha04
पर निर्भर करती है.
वर्शन 1.1.0-alpha02
7 अगस्त, 2019
androidx.activity:activity:1.1.0-alpha02
और androidx.activity:activity-ktx:1.1.0-alpha02
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
नई सुविधाएं
SavedStateViewModelFactory
अब डिफ़ॉल्ट फ़ैक्ट्री है. इसका इस्तेमालby viewModels()
,ViewModelProvider
कंस्ट्रक्टर याViewModelProviders.of()
के साथComponentActivity
(b/135716331) का इस्तेमाल करते समय किया जाता है
वर्शन 1.1.0-alpha01
2 जुलाई, 2019
androidx.activity:activity:1.1.0-alpha01
और androidx.activity:activity-ktx:1.1.0-alpha01
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
नई सुविधाएं
activity
अब लाइफ़साइकल2.2.0-alpha02
पर निर्भर करता है. (aosp/1007817)activity-ktx
नेlifecycle-runtime-ktx
पर डिपेंडेंसी जोड़ी है. अब आपकोactivity-ktx
याactivity-ktx
पर डिपेंड करने वाली लाइब्रेरी (जैसे,fragment-ktx
) का इस्तेमाल करते समय, उसे अपनी डिपेंडेंसी में साफ़ तौर पर जोड़ने की ज़रूरत नहीं है. (aosp/987162)
वर्शन 1.0.0
वर्शन 1.0.0
5 सितंबर, 2019
androidx.activity:activity:1.0.0
और androidx.activity:activity-ktx:1.0.0
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
1.0.0 के मुख्य फ़ीचर
- ComponentActivity:
ComponentActivity
, फ़्रैगमेंट1.1.0
मेंFragmentActivity
के लिए नई बेस क्लास के तौर पर काम करती है. साथ ही, AppCompat1.1.0
मेंAppCompatActivity
के लिए भी काम करती है. - activity-ktx:
activity-ktx
मॉड्यूल में, ViewModels को ऐक्सेस करने के लिएby viewModels
Kotlin प्रॉपर्टी एक्सटेंशन शामिल होता है. फ़्रैगमेंट1.1.0
सेfragment-ktx
शामिल करने पर, यह मॉड्यूल अपने-आप शामिल हो जाता है. - OnBackPressedDispatcher:
onBackPressed()
को बदलने के लिए, अब किसी भीLifecycleOwner
(जैसे, फ़्रैगमेंट) सेOnBackPressedCallback
को रजिस्टर किया जा सकता है. इससे, सिस्टम के बैक बटन इवेंट को इंटरसेप्ट किया जा सकता है.activity-ktx
में, रिसीप्टर वर्शनaddCallback
वाला एक लैम्ब्डा जोड़ा गया है. ज़्यादा जानकारी के लिए, पसंदीदा तरीके से वापस जाने के लिए नेविगेशन का दस्तावेज़ उपलब्ध कराना लेख पढ़ें. - onRetainCustomNonConfigurationInstance बंद होने की जानकारी:
onRetainCustomNonConfigurationInstance()
और उससे जुड़ेgetLastCustomNonConfigurationInstance()
एपीआई बंद कर दिए गए हैं. हमारा सुझाव है कि कॉन्फ़िगरेशन के अलावा अन्य स्टेटस को सेव करने के लिए, ViewModels का इस्तेमाल करें. ऐसा इसलिए, क्योंकि ये किसी भीViewModelStoreOwner
के लिए, कॉम्पोज़ करने लायक समाधान उपलब्ध कराते हैं. इससे, बनाए गए ऑब्जेक्ट का मालिकाना हक साफ़ तौर पर पता चलता है. साथ ही, ऐक्टिविटी के खत्म होने पर रिसॉर्स को हटाने के लिए,onCleared()
कॉलबैक मिलता है.
वर्शन 1.0.0-rc01
2 जुलाई, 2019
androidx.activity:activity:1.0.0-rc01
और androidx.activity:activity-ktx:1.0.0-rc01
को 1.0.0-beta01
में किए गए बदलावों के साथ रिलीज़ किया गया है. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
वर्शन 1.0.0-beta01
5 जून, 2019
androidx.activity::activity:1.0.0-beta01
और androidx.activity:activity-ktx:1.0.0-beta01
को 1.0.0-alpha08
में किए गए बदलावों के साथ रिलीज़ किया गया है. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
वर्शन 1.0.0-alpha08
7 मई, 2019
androidx.activity:activity:1.0.0-alpha08
और androidx.activity:activity-ktx:1.0.0-alpha08
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
एपीआई में हुए बदलाव
- अहम बदलाव:
ComponentActivity
पर पहले से काम न करने वालेaddOnBackPressedCallback
औरremoveOnBackPressedCallback
तरीके हटा दिए गए हैं. aosp/953857 OnBackPressedCallback
केsetEnabled()
औरisEnabled()
तरीके अब फ़ाइनल हैं. b/131416833OnBackPressedCallback
के लिए,remove()
का तरीका अब फ़ाइनल हो गया है. aosp/952720OnBackPressedDispatcher
में अब सार्वजनिक कन्स्ट्रक्टर हैं. इनकी मदद से, जांच वगैरह के लिए अपने इंस्टेंस बनाए जा सकते हैं. aosp/953431ComponentActivity
के लिएonBackPressed()
को अब साफ़ तौर पर@MainThread
aosp/952721 के तौर पर मार्क किया गया है
गड़बड़ियां ठीक की गईं
LifecycleOwner
के साथ जोड़े गएOnBackPressedCalback
केhandleOnBackPressed()
तरीके सेremove()
को कॉल करते समय,ConcurrentModificationException
को ठीक किया गया. b/131765095
वर्शन 1.0.0-alpha07
25 अप्रैल, 2019
androidx.activity:activity:1.0.0-alpha07
और androidx.activity:activity-ktx:1.0.0-alpha07
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
एपीआई में हुए बदलाव
इस रिलीज़ में, onBackPressed()
को मैनेज करने के तरीके में अहम बदलाव किए गए हैं. ज़्यादा जानकारी के लिए, अपडेट किया गया कस्टम बैक दस्तावेज़ देखें.
OnBackPressedCallback
औरOnBackPressedDispatcher
के तरीके,@MainThread
के तौर पर मार्क किए गए हैं. (aosp/943813)handleOnBackPressed()
वाला तरीका अबboolean
नहीं दिखाता. इसके बजाय,OnBackPressedCallback
अब एक ऐसी एब्स्ट्रैक्ट क्लास है जिसे चालू या बंद किया जा सकता है.handleOnBackPressed()
सिर्फ़ तब कॉल किया जाएगा, जब नयाisEnabled()
तरीका 'सही है' दिखाए. इसमें आपको 'वापस जाएं' बटन को मैनेज करना होगा. (aosp/944518)OnBackPressedDispatcher
केaddCallback
तरीके अबCancellable
इंस्टेंस नहीं दिखाते.OnBackPressedCallback
में अबremove()
का एक ऐसा तरीका है जो इस फ़ंक्शन को पूरा करता है. इससे,handleOnBackPressed()
के दौरानremove()
को कॉल किया जा सकता है. (aosp/944519) (aosp/946316)activity-ktx
में अबaddCallback
के लिए, रिसीवर के स्कोप वाला कॉलबैक है. यहhandleOnBackPressed()
को लागू करने वाला एक लैम्ब्डा स्वीकार करता है. साथ ही,isEnabled
औरremove()
का ऐक्सेस भी रखता है (aosp/944520)
वर्शन 1.0.0-alpha06
3 अप्रैल, 2019
androidx.activity:activity:1.0.0-alpha06
और androidx.activity:activity-ktx:1.0.0-alpha06
रिलीज़ हो गए हैं. इस वर्शन में शामिल किए गए कमिट यहां देखे जा सकते हैं.
एपीआई में हुए बदलाव
- ComponentActivity में अब एक दूसरा कन्स्ट्रक्टर है, जो
@LayoutRes int
लेता है. यह आपकी AppCompatActivity क्लास को@ContentView
के साथ एनोटेट करने के पिछले व्यवहार की जगह लेता है. यह तरीका, ऐप्लिकेशन और लाइब्रेरी मॉड्यूल, दोनों में काम करता है. (b/128352521) - ComponentActivity पर
OnBackPressedCallback
से जुड़े एपीआई को बंद कर दिया गया है. अबOnBackPressedDispatcher
का इस्तेमाल किया जा सकता है. इसेgetOnBackPressedDispatcher()
से वापस पाया जा सकता है. (aosp/922523) OnBackPressedDispatcher
में नयाOnBackPressedCallback
जोड़ने के तरीके अबCancellable
ऑब्जेक्ट दिखाते हैं. इससे,OnBackPressedDispatcher
के साफ़ तौर पर रेफ़रंस दिए बिना, कॉलबैक को हटाया जा सकता है. (aosp/922523)- अब किसी
LifecycleOwner
से जुड़ेOnBackPressedCallback
को जोड़ने पर,OnBackPressedCallback
को जोड़ा जाता है और लाइफ़साइकल शुरू होने पर उसे हटाया जाता है. (aosp/922523)
वर्शन 1.0.0-alpha05
13 मार्च, 2019
androidx.activity:activity:1.0.0-alpha05
और
androidx.activity:activity-ktx:1.0.0-alpha05
रिलीज़ हो गए हैं. इस रिलीज़ में शामिल सभी कमिट की पूरी सूची यहां देखी जा सकती है.
नई सुविधाएं
@ContentView
एनोटेशन लुकअप अब कैश मेमोरी में सेव किए जाते हैं (b/123709449)
वर्शन 1.0.0-alpha04
30 जनवरी, 2019
androidx.activity:activity 1.0.0-alpha04
और androidx.activity:activity-ktx 1.0.0-alpha04
रिलीज़ हो गए हैं.
नई सुविधाएं
@ContentView
क्लास एनोटेशन के लिए सहायता जोड़ी गई है. इससे आपको यह बताने में मदद मिलती है किsetContentView()
का इस्तेमाल करने के बजाय, किस लेआउट एक्सएमएल फ़ाइल को फ़्लोर करना चाहिए. (aosp/837619)
एपीआई में हुए बदलाव
- एक नोट जोड़ा गया है कि
getViewModelStore()
को बदला नहीं जाना चाहिए. साथ ही, इसे आने वाले वर्शन में फ़ाइनल कर दिया जाएगा. अगर फ़िलहाल इस तरीके को बदला जा रहा है, तो कृपया सुविधा का अनुरोध करें. (aosp/837619)
गड़बड़ियां ठीक की गईं
activity
मॉड्यूल अब ViewModel के 2.1.0-alpha02 वर्शन पर निर्भर करता है, ताकि वहactivity-ktx
मॉड्यूल की डिपेंडेंसी से मैच कर सके.
वर्शन 1.0.0-alpha03
17 दिसंबर, 2018
androidx.activity 1.0.0-alpha03
रिलीज़ हो गया है.
नई सुविधाएं
- ComponentActivity अब
BundleSavedStateRegistryOwner
लागू करती है और यह हाल ही में रिलीज़ की गई SavedState लाइब्रेरी [aosp/815133] पर निर्भर करती है - ComponentActivity अब Android फ़्रेमवर्क के उस बग को ठीक कर देती है जिसकी वजह से InputMethodManager, फ़ोकस किए गए आखिरी व्यू को लीक कर देता था [b/37122102]
वर्शन 1.0.0-alpha02
3 दिसंबर, 2018
एपीआई में हुए बदलाव
- एक नोट जोड़ा गया है कि
getLifecycle()
को बदला नहीं जाना चाहिए. साथ ही, इसे आने वाले वर्शन मेंfinal
कर दिया जाएगा. अगर फ़िलहाल इस तरीके को बदला जा रहा है, तो कृपया सुविधा का अनुरोध करें. (aosp/815834)
वर्शन 1.0.0-alpha01
5 नवंबर, 2018
androidx.activity 1.0.0-alpha01
में ComponentActivity
को शामिल किया गया है. यह मौजूदा FragmentActivity
और
AppCompatActivity
की नई बेस क्लास है.
नई सुविधाएं
- अब
addOnBackPressedCallback
के ज़रिएOnBackPressedCallback
रजिस्टर किया जा सकता है, ताकिonBackPressed()
कॉलबैक पाए जा सकें. इसके लिए, आपको अपनी गतिविधि में मौजूद तरीके को बदलने की ज़रूरत नहीं है. ComponentActivity
सेViewModel
s को वापस पाने के लिए, एक नईby viewModels()
Kotlin प्रॉपर्टी डेलिगेट जोड़ी गई है.onStop()
में, अब वे इनपुट इवेंट रद्द कर दिए जाते हैं जो प्रोसेस नहीं हो पाए हैं. जैसे, क्लिक.
एपीआई में हुए बदलाव
LifecycleOwner
औरViewModelStoreOwner
को लागू करने की प्रोसेस कोFragmentActivity
सेComponentActivity
पर ले जाया गया है.onRetainCustomNonConfigurationInstance
का अब इस्तेमाल नहीं किया जा सकता. कॉन्फ़िगरेशन में बदलाव होने के बाद भी काम करने वाले ऑब्जेक्ट को सेव करने के लिए,ViewModel
का इस्तेमाल करें.