गतिविधि
नया अपडेट | स्टेबल रिलीज़ | रिलीज़ कैंडिडेट | बीटा रिलीज़ | ऐल्फ़ा रिलीज़ |
---|---|---|---|---|
4 सितंबर, 2024 | 1.9.2 | - | - | 1.10.0-alpha02 |
डिपेंडेंसी तय करना
ऐक्टिविटी पर डिपेंडेंसी जोड़ने के लिए, आपको अपने प्रोजेक्ट. 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-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 को सीधे तौर पर ऐक्सेस नहीं किया जा सकता. ऐसा, सिस्टम फ़ोटो पिकर उपलब्ध न होने पर किया जाएगा. हालांकि, इसके लिएACTION_SYSTEM_FALLBACK_PICK_IMAGES
की सार्वजनिक कार्रवाई और इससे जुड़ी अन्य सुविधाओं का इस्तेमाल किया जाता है, ताकि OEM और सिस्टम ऐप्लिकेशन को फ़ॉलबैक के तौर पर, फ़ोटो पिकर का एक जैसा अनुभव दिया जा सके. इससे, उन डिवाइसों के उपयोगकर्ता अनुभव पर कोई असर नहीं पड़ेगा जिनमें Google Play services का नया वर्शन मौजूद है. (I3513d)
गड़बड़ियां ठीक की गईं
- नए प्लैटफ़ॉर्म एपीआई के ऐक्सेस की मैन्युअल आउटलाइन हटाई गई. ऐसा इसलिए, क्योंकि AGP 7.3 या इसके बाद के वर्शन (जैसे कि R8 वर्शन 3.3) के साथ R8 का इस्तेमाल करने पर और एजीपी 8.1 या उसके बाद के वर्शन (जैसे कि D8 वर्शन 8.1) के साथ, R8 का इस्तेमाल करने पर ऐसा अपने-आप होता है. जो क्लाइंट एजीपी का इस्तेमाल नहीं कर रहे हैं उन्हें D8 वर्शन 8.1 या इसके बाद के वर्शन में अपडेट करने की सलाह दी जाती है. ज़्यादा जानकारी के लिए यह लेख देखें. (I9496c, b/345472586)
- गतिविधि
1.9.2
से: उस समस्या को ठीक किया गया है जिसकी वजह से Activity ComposePredictiveBackHandler
API बंद किए गए फ़्रेम पर, सिस्टम के पिछले जेस्चर को हैंडल करता रहेगा. इसकी वजह से, नेविगेशन कंपोज़ जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी वापस हैंडल कर सकती हैं. इस समस्या की वजह से आपको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.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
एपीआई उस फ़्रेम पर, सिस्टम बैक जेस्चर को हैंडल करना जारी रखता है जिस पर यह बंद था. इस वजह से, नेविगेशन कंपोज़ जैसी लाइब्रेरी, खाली बैक स्टैक के साथ भी वापस हैंडल कर सकती थीं. इस वजह से,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()
को कॉल करते समय चेतावनी देते हैं. ऐसा तब होता है, जब उन्हें फिर से हैंडल करना होता है, क्योंकि इससे अनुमानित बैक ऐनिमेशन हमेशा काम नहीं करता. ज़्यादा जानकारी के लिए, सबसे सही तरीकों वाली गाइड देखें. - ऐक्टिविटी एपीआई के बाकी बचे हुए हिस्सों को 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 में ये कमिट शामिल हैं.
डिपेंडेंसी अपडेट
- गतिविधि अब प्रोफ़ाइल इंस्टॉलर 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 में ये प्रतिबद्धताएं शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि बनाते समय
OnBackPressedDispatcher
को कॉल करने की वजह से गतिविधि1.9.0-alpha02
में, गतिविधि के शुरू होने की परफ़ॉर्मेंस रिग्रेशन की समस्या ठीक की गई. (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 में फिर से लिखा गया है.resultCode
औरdata
फ़ील्ड में नुकसान पहुंचाने वालेActivityResult
Kotlin एक्सटेंशन को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 में की गई है, तो यह सोर्स ब्रेकिंग है. (आईडी4615)PickVisualMediaRequest
में अब कम से कम 19 का एपीआई लेवल 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 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
"com.google.android.gms.provider.extra.PICK_IMAGES_MAX"
कुंजी के साथ अतिरिक्त का इस्तेमाल करने के बजाय,EXTRA_SYSTEM_FALLBACK_PICK_IMAGES_MAX
कुंजी को सही से पास करने के लिए फ़ोटो पिकर गतिविधि अनुबंध केACTION_SYSTEM_FALLBACK_PICK_IMAGES
में पास की गई अतिरिक्त गड़बड़ी को ठीक किया गया. हमारा सुझाव है कि अगर आप एक ऐसे 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 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- पिछले जेस्चर को इस्तेमाल करने के दौरान, नया
OnBackPressedCallback
जोड़े जाने के बाद भीOnBackPressedDispatcher
अब सही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
कंपोज़ेबल सुविधा भी मिलती है. यह BackEventCompat ऑब्जेक्ट का फ़्लो उपलब्ध कराता है, जिसे आपके दिए गए निलंबित लांबा में इकट्ठा किया जाना चाहिए:
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
कंपोज़ेबल जोड़ा गया है. यहBackEventCompat
में सेFlow
ऑब्जेक्ट मुहैया कराता है, जिन्हें आपके दिए गए निलंबित लांबा में इकट्ठा करना ज़रूरी है: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()
कॉलबैक मिलता है, तो Android 13 पर एनपीई नहीं दिखेगा और गतिविधि पहले से हीDESTROYED
हो चुकी होगी. (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)
एपीआई में किए गए बदलाव
SystemBarStyle.auto
कोenableEdgeToEdge
एपीआई में पास करते समय, अब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
रिलीज़ हुए हैं. इस वर्शन को हमारी सहायता टीम के तहत बनाया गया है.
एपीआई में किए गए बदलाव
- ऐक्टिविटी अब एक
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
रिलीज़ हुए हैं. इसे इंटरनल ब्रांच से रिलीज़ किया गया था.
गड़बड़ियां ठीक की गईं
- गतिविधि 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
का इस्तेमाल शुरू करने से पहले, यह सुविधा उपलब्ध हो जाती है, तो फ़ोटो पिकर का इस्तेमाल किया जाएगा. यह फ़ॉलबैक, एपीआई 19 और उसके बाद के वर्शन वाले सभी डिवाइसों पर काम करता है.ComponentDialog
, अबSavedStateRegistryOwner
को लागू करता है. साथ ही, उसके पास अपनेSavedStateRegistry
का ऐक्सेस है. साथ ही,SavedStateRegistryOwner
को उसकेViewTree
के लिए सेट करता है. अब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 एपीआई
ComponentActivity
अब एक FullyDrawnReporter
इंस्टेंस उपलब्ध कराता है. इसकी मदद से, कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट करते हैं. ComponentActivity
आपकी ओर से reportFullyDrawn()
को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों का ध्यान रखते हैं. इन्हें onDraw
कॉल में शामिल करने की ज़रूरत नहीं होती.
इन एपीआई को ये सुविधाएं चालू करने के लिए बढ़ावा दिया जाता है:
- स्टार्टअप पूरा होने पर Android रनटाइम को सिग्नल करना, ताकि यह पक्का किया जा सके कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलने वाले सभी कोड को शामिल किया गया है और बैकग्राउंड में कंपाइलेशन के लिए प्राथमिकता दी गई है.
- जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार किया जाना चाहिए, तब मैक्रोबेंचमार्क और Play की अहम जानकारी का सिग्नल देना, ताकि आप परफ़ॉर्मेंस को ट्रैक कर सकें.
अलग-अलग कंपोज़ेबल में मौजूद FullyDrawnReporter
को आसानी से इस्तेमाल करने के लिए, ऐक्टिविटी कंपोज़ की सुविधा के तीन एपीआई जोड़े गए हैं:
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 में ये कमिट हैं.
एपीआई में किए गए बदलाव
PickVisualMedia
औरPickMultipleVisualMedia
के कानूनी समझौते में,MediaStore.ACTION_PICK_IMAGES
के उपलब्ध न होने पर कार्रवाई और अतिरिक्त इस्तेमाल, अब सार्वजनिक तौर पर किए गए हैं. ये उन 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
) उपलब्ध नहीं है. फ़ोटो पिकर, सिर्फ़ Android सिस्टम का पता लगाने वालाisPhotoPickerAvailable()
एपीआई बंद कर दिया गया है. हमारा सुझाव है कि नए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
का ऐक्सेस है. साथ ही, वहSavedStateRegistryOwner
को ViewTree के लिए सेट करता है. अबComponentDialog
में Jetpack Compose का इस्तेमाल किया जा सकता है, क्योंकि यह ViewTree API की ज़रूरी शर्तों के ज़रिए विंडो से अटैच किए गए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 एपीआई
ComponentActivity
अब एक FullyDrawnReporter
इंस्टेंस उपलब्ध कराता है. इसकी मदद से, कई कॉम्पोनेंट, इंटरैक्शन के लिए तैयार होने पर रिपोर्ट करते हैं. ComponentActivity
आपकी ओर से reportFullyDrawn()
को कॉल करने से पहले, सभी कॉम्पोनेंट के पूरा होने का इंतज़ार करेगा. ये एपीआई, समय से जुड़ी ज़रूरी शर्तों का ध्यान रखते हैं. इन्हें onDraw
कॉल में शामिल करने की ज़रूरत नहीं होती.
इन एपीआई को ये सुविधाएं चालू करने के लिए बढ़ावा दिया जाता है:
- स्टार्टअप पूरा होने पर Android रनटाइम को सिग्नल करना, ताकि यह पक्का किया जा सके कि मल्टी-फ़्रेम स्टार्टअप क्रम के दौरान चलने वाले सभी कोड को शामिल किया गया है और बैकग्राउंड में कंपाइलेशन के लिए प्राथमिकता दी गई है.
- जब आपके ऐप्लिकेशन को स्टार्टअप मेट्रिक के लिए पूरी तरह से तैयार किया जाना चाहिए, तब मैक्रोबेंचमार्क और Play की अहम जानकारी का सिग्नल देना, ताकि आप परफ़ॉर्मेंस को ट्रैक कर सकें.
अलग-अलग कंपोज़ेबल में मौजूद FullyDrawnReporter
को आसानी से इस्तेमाल करने के लिए, ऐक्टिविटी कंपोज़ की सुविधा के दो एपीआई जोड़े गए हैं:
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
कॉल के दौरान कोई भी नतीजा मिलने पर,ActivityResultRegistry
ActivityResultCallback
को कोई नतीजा नहीं लौटाएगाException
और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया. (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 में ये कमिट हैं.
गड़बड़ियां ठीक की गईं
OnBackPressedDispatcher
को शुरू करने से, SDK टूल के 33 से पहले वाले वर्शन का इस्तेमाल करते समय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
कॉल पर कोई भी नतीजा मिलने परActivityResultRegistry
,ActivityResultCallback
में कोई नतीजा नहीं दिखाएगाException
और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया. (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 को रिलीज़ से पहले की एक निजी शाखा में बनाया गया था और इसका कोई सार्वजनिक वादा नहीं है.
एपीआई में किए गए बदलाव
- तिरामीसु बीटा 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 डेवलपर के बीटा 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 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
अब आपको कोई नतीजा नहीं दिखाएगाlaunch()
कॉल के दौरानActivityResultCallback
Exception
और कॉलबैक कोLifecycleOwner
के बिना रजिस्टर किया गया. (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
,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
रहा है अब काम नहीं करता और इसे नए कंस्ट्रक्टर से बदल दिया गया है जो एक कंक्रीट का माइम टाइप लेता है (जैसे,"image/png"
) ज़रूरत के मुताबिकIntent.ACTION_CREATE_DOCUMENT
. (I2bec6) OnBackPressedDispatcherOwner
व्यू से जुड़े होने की जानकारी को अब इनके ज़रिए वापस पाया जा सकता हैViewTreeOnBackPressedDispatcherOwner
किContext
को कास्ट करने के भरोसे रहे. (I74685)
गड़बड़ियां ठीक की गईं
ViewModel
को ऐक्सेस करते समय होने वाले क्रैश को ठीक किया गया पहली बारregisterForActivityResult()
कॉलबैक या इसके हिस्से के रूप में जोड़े गएLifecycleObserver
पर कॉलबैकComponentActivity
में सेinit
. (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
को हटाने का काम हैंडल करेगा. - Kotlin में
ActivityResultContract
क्लास को फिर से लिखा गया है, ताकि यह पक्का किया जा सके कि 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 में ये कमिट शामिल हैं.
गड़बड़ियां ठीक की गईं
ActivityResultRegistry
अब कोई नतीजा नहीं दिखाएगाlaunch
कॉल के दौरानActivityResultCallback
कोException
. (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
उस इसके बाद एक आउटपुट प्रकार का उपयोग करने के कारण कोड का इस्तेमाल करने परList<? extends Uri>
Java प्रोग्रामिंग भाषा की मदद से पेश करते हैं. (If71de) ActivityResultContracts.StartActivityForResult
,ActivityResultContracts.StartIntentSenderForResult
, औरActivityResultContracts.RequestMultiplePermissions
क्लास में मौजूद पब्लिक कॉन्सटेंट को अब Kotlin का इस्तेमाल करते समय, उनके सार्वजनिकCompanion
ऑब्जेक्ट के ज़रिए ऐक्सेस किया जा सकता है. (aosp/1832555)
दस्तावेज़ से जुड़े अपडेट
- एपीआई बंद करने के मैसेज को ज़्यादा जानकारी के साथ बड़ा कर दिया गया है. फ़िलहाल, इसे
startActivityForResult
,startIntentSenderForResult
,onActivityResult
,requestPermissions
, औरonRequestPermissionsResult
नाम के एपीआई Activity नतीजे एपीआई मैनेज करते हैं. (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
अब एक किसी डिवाइस में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
पर निर्भर करती है. - गतिविधि के बारे में लिखने की सुविधा, अब लिखें
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 में ये कमियां शामिल हैं.
01.2.0 के बाद के अहम बदलाव
- Activity Compose आर्टफ़ैक्ट -
activity-compose
आर्टफ़ैक्ट किसी गतिविधि में आपके Jetpack Compose यूज़र इंटरफ़ेस (यूआई) को होस्ट करने के लिएsetContent
एक्सटेंशन का तरीका उपलब्ध कराता है. साथ ही, सिस्टम के 'वापस जाएं' बटन और ऐक्टिविटी रिज़ल्ट के एपीआई को हैंडल करने के लिए,ComponentActivity
एपीआई के साथ इंटरैक्ट करने के लिए खास रैपर लिखें. ज़्यादा जानकारी के लिए दस्तावेज़ देखें. - कैप्चरवीडियो कॉन्ट्रैक्ट -
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
कॉलबैक सही तरीके से सेव किए गए हैं और रीस्टोर किया गया है, ताकि सहेजे गए स्टेट में कॉलबैक का डुप्लीकेट न बने. (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
को अपडेट किया गया, ताकि यह लिखें 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) - अपडेट करने के लिए, नया एपीआई
Activity#setPipAnimationHintView
जोड़ा गया PipParams जब भी व्यू मूव करेगा, तब सोर्स रेक्टैंगल को संकेत मिलेगा. (I9063d)
एपीआई में किए गए बदलाव
rememberLauncherForActivityResult
फ़ंक्शन अब ऐसा लॉन्चर जोunregister()
फ़ंक्शन - रजिस्ट्रेशन और रजिस्ट्रेशन रद्द करने की सेवा को बंद करता है,rememberLauncherForActivityResult
अपने-आप मैनेज करता है. (I2443e)
यह सुविधा किन डिवाइसों के साथ काम करती है
androidx.activity:activity-compose:1.3.0-alpha08
, सिर्फ़ कंपोज़ वर्शन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)
गड़बड़ियां ठीक की गईं
BackHandler
अब बैक बटन को सही तरीके से इंटरसेप्ट करेगा इवेंटSTOPPED
है. इसके बाद, फिर सेSTARTED
है और अन्य कॉलबैक, LifecycleOwner के साथ जोड़े गए थे. (I71de6, b/182284739)- कस्टम एक्सटेंशन के साथ
launch()
तरीका एक्सटेंशन का इस्तेमाल करना जिसActivityResultContract
मेंUnit
इनपुट है, उसकी वजह से अब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 में ये कमियां हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि 1.2.2 से:
InvalidFragmentVersionForActivityResult
लिंट जांच में उस समस्या को ठीक किया गया है जिसकी वजह से फ़्रैगमेंट 1.3.1 या उसके बाद के वर्शन का इस्तेमाल करते समय फ़ॉल्स पॉज़िटिव मिला था. (I54da1, b/182388985) - गतिविधि 1.2.2 से:
ComponentActivity
अब किसीActivityResultContract
सेIntent
लॉन्च करते समय,ClassNotFoundException
से बच सकता है. पहले इसेIntent
में अतिरिक्त के तौर पर रखा गया था. (Ieff05, b/182906230)
डिपेंडेंसी से जुड़े अपडेट
- गतिविधि 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) - गतिविधि लिखने की सुविधा अब टेस्ट नहीं जोड़ती रनटाइम क्लासपाथ के लिए डिपेंडेंसी. (Ifd8b3)
BackHandler
से जुड़ी उस समस्या को ठीक कर दिया गया है जहां पहले से सेट,onBack
Lambda फ़ंक्शन को फिर से बनाने के बाद भी इस्तेमाल किया जा रहा था. (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)
एपीआई में किए गए बदलाव
- Composable को सिस्टम के 'वापस जाएं' बटन को रोकने के लिए,
BackHandler
एपीआई का इस्तेमाल किया जा सकता है. (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)
आम समस्याएं
- ऐक्टिविटी कंपोज़
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 में ये कमियां शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि
1.3.0-rc02
से: ActivityनतीजेRegistry कॉलबैक अब सही तरीके से सेव किए गए हैं और रीस्टोर किया गया है, ताकि सहेजे गए स्टेट में कॉलबैक का डुप्लीकेट न बने. (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()
तरीका एक्सटेंशन का इस्तेमाल करना जिसActivityResultContract
मेंUnit
इनपुट है, उसकी वजह से अब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
लिंट जांच में उस समस्या को ठीक किया गया है जिसकी वजह से फ़्रैगमेंट 1.3.1 या उसके बाद के वर्शन का इस्तेमाल करते समय फ़ॉल्स पॉज़िटिव आता था. (I54da1, b/182388985)ComponentActivity
, अबActivityResultContract
सेIntent
लॉन्च करने परClassNotFoundException
से बचाता है, जिसे पहले किसी दूसरे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 नतीजे के एपीआई:
ComponentActivity
अबActivityResultRegistry
की सुविधा देता है. इसकी मदद से,startActivityForResult()
+onActivityResult()
के साथ-साथrequestPermissions()
+onRequestPermissionsResult()
फ़्लो को मैनेज किया जा सकता है. ऐसा, आपकी ऐक्टिविटी या फ़्रैगमेंट में किए गए तरीकों को बदले बिना किया जाता है. इसकी मदद से,ActivityResultContract
के ज़रिए ज़्यादा सुरक्षित तरीके से काम किया जा सकता है और इन फ़्लो की जांच की जा सकती है. अपडेट किया गया किसी गतिविधि से नतीजा पाना देखें.
ContextAware
:ComponentActivity
अबContextAware
को लागू करता है. इससे, एक या उससे ज़्यादाOnContextAvailableListener
इंस्टेंस जोड़े जा सकते हैं. इन इंस्टेंस कोActivity.onCreate()
बेस से पहले कॉलबैक मिलेगा.- जब कॉन्टेक्स्ट उपलब्ध हो जाता है और कोई नतीजा मिलता है, तब निलंबित Kotlin एक्सटेंशन
withContextAvailable()
की मदद से, बिना निलंबित किए गए ब्लॉक को चलाया जा सकता है. FragmentManager
की स्थिति को पहले जैसा करने के लिए,FragmentActivity
इस एपीआई का इस्तेमाल फ़्रैगमेंट 1.3.0 में करता है.FragmentActivity
की सब-क्लास में जोड़े गए सभी लिसनर, उसके बाद चलेंगे.AppCompatActivity
इस एपीआई का इस्तेमाल AppCompat 1.3.0-alpha02 या इसके बाद के वर्शन में करता है.AppCompatActivity
की सब-क्लास में जोड़े गए सभी लिसनर, उसके बाद चलेंगे.
- जब कॉन्टेक्स्ट उपलब्ध हो जाता है और कोई नतीजा मिलता है, तब निलंबित Kotlin एक्सटेंशन
ViewTree
सहायता:ComponentActivity
अब लाइफ़साइकल2.3.0
और SavedState1.1.0
में जोड़े गएViewTreeLifecycleOwner.get(View)
,ViewTreeViewModelStoreOwner.get(View)
, औरViewTreeSavedStateRegistryOwner
एपीआई के साथ काम करता है, ताकिComponentActivity
में सीधे जोड़े गए किसी भी व्यू के लिए, यह गतिविधि कोLifecycleOwner
,ViewModelStoreOwner
, औरSavedStateRegistryOwner
के तौर पर दिखाएगा.
- reportFullyDrawn() बैकपोर्ट -
reportFullyDrawn()
केActivity
तरीके कोComponentActivity
में बैकपोर्ट किया गया है, ताकि यह सभी एपीआई लेवल पर काम कर सके. साथ ही, API 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 में ये तय किए गए हिस्से शामिल हैं.
गड़बड़ियां ठीक की गईं
- गतिविधि के नतीजे का एपीआई इस्तेमाल करने में आ रही समस्या को ठीक कर दिया गया है
इससे पहले लाइफ़साइकल के
STARTED
होने का इंतज़ार नहीं होगाLifecycle
के साथ रजिस्टर करने पर नतीजे डिलीवर करना. (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
दिखाता है, जिसका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) FragmentManager
की स्थिति पहले जैसी करने के लिए,FragmentActivity
इस एपीआई का इस्तेमाल फ़्रैगमेंट 1.3.0-alpha08 में करता है.FragmentActivity
की सब-क्लास में जोड़े गए सभी लिसनर, उसके बाद चलेंगे. (I513da)AppCompatActivity
ने इस एपीआई का इस्तेमाल AppCompat 1.3.0-alpha02 में किया है.AppCompatActivity
की सब-क्लास में जोड़े गए सभी लिसनर, उसके बाद चलेंगे. (I513da)
- जब कॉन्टेक्स्ट उपलब्ध हो जाता है और कोई नतीजा मिलता है, तब निलंबित Kotlin एक्सटेंशन
गड़बड़ियां ठीक की गईं
ActivityResultFragmentVersionDetector
लिंट जांच से जुड़ी उस समस्या को ठीक किया गया है जिसकी वजह से लिंट 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 में ये कमिट हैं.
नई सुविधाएं
- नई
InvalidFragmentVersionForActivityResult
लिंट जांच जोड़ी गई, जो यह पुष्टि करती है कि आप Activity नतीजे API का इस्तेमाल करते समय फ़्रैगमेंट1.3.0-alpha07
का इस्तेमाल कर रहे हैं या नहीं. साथ ही, फ़्रैगमेंट के पुराने वर्शन का इस्तेमाल करने की वजह से "अमान्य अनुरोध कोड" की समस्याओं की वजह से रनटाइम क्रैश होने और काम न करने वाले अनुमति अनुरोधों से बचा जा सकता है. (b/152554847)
बाहरी योगदान
ArrayIndexOutOfBoundsException
को तब ठीक किया गया, जबRequestPermission
गतिविधि के नतीजे पार्स करना परिणाम अनुबंध. (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)launch()
का साफ़ तौर पर इस्तेमाल करने के लिए,ActivityResultLauncher
केinvoke()
एक्सटेंशन को हटा दिया गया है, ताकि यह बेहतर तरीके से बताया जा सके कि ये कार्रवाइयां एसिंक्रोनस हैं.launch
के लिए Kotlin एक्सटेंशन कोActivityResultLauncher<Void>
के लिएandroidx.activity.result
पैकेज औरActivityResultLauncher<Unit>
के लिए जोड़ दिया गया है. जो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 में ये कमियां हैं.
नई सुविधाएं
- ऐसा कॉन्ट्रैक्ट जोड़ा गया है जो Activityनतीजे API में startIntentSenderForresults को कॉल करने की सुविधा देता है. (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
के साथ नतीजे के लिए गतिविधि लॉन्च करने की सुविधा देते हैं. (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.3.0-alpha03
में अपग्रेड करना ज़रूरी है.
वर्शन 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 में ये कमियां हैं.
नई सुविधाएं
- ActivityresultsRegistry:
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
गतिविधि में पेश किए गए रिग्रेशन को ठीक किया गया, जहांonBackPressed()
केandroid.app.FragmentManager
में किसी गड़बड़ी की वजह सेIllegalStateException
हुआ था. (b/146290338)
वर्शन 1.1.0
वर्शन 1.1.0
22 जनवरी, 2020
androidx.activity:activity:1.1.0
रिलीज़ हो गया है. वर्शन 1.1.0 में ये कमियां शामिल हैं.
1.0.0 के बाद के अहम बदलाव
- लाइफ़साइकल व्यूमॉडल सेव स्टेट इंटिग्रेशन:
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 में ये कमियां शामिल हैं.
डिपेंडेंसी में बदलाव
- गतिविधि अब Lifecycle
2.2.0-rc03
और Lifecycle 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 में ये कमिट मौजूद हैं.
डिपेंडेंसी में बदलाव
- गतिविधि अब सेव की गई स्टेट 1.0.0 स्थिर स्थिति पर निर्भर करती है.
वर्शन 1.1.0-alpha03
5 सितंबर, 2019
androidx.activity:activity:1.1.0-alpha03
और androidx.activity:activity-ktx:1.1.0-alpha03
रिलीज़ हुई हैं. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
- गतिविधि अब कोर 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
रिलीज़ हुई हैं. इस वर्शन में शामिल कमिट को यहां देखा जा सकता है.
नई सुविधाएं
by viewModels()
,ViewModelProvider
कंस्ट्रक्टर याViewModelProviders.of()
के साथComponentActivity
(b/135716331) का इस्तेमाल करते समय,SavedStateViewModelFactory
डिफ़ॉल्ट फ़ैक्ट्री है.
वर्शन 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
को रजिस्टर किया जा सकता है. रिसीवर वर्शनaddCallback
के साथ लैम्डा कोactivity-ktx
में जोड़ दिया गया है. ज़्यादा जानकारी के लिए, बैक नेविगेशन से जुड़ा कस्टम दस्तावेज़ दें देखें. - onRetainCustomNonConfiguration इंस्टेंस का इस्तेमाल बंद हो गया है:
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
की समस्या ठीक की गई. बी/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()
को लागू करने वाले lamdba को स्वीकार किया जाता है. साथ ही, इसके पास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)OnBackPressedCallback
को उससे जुड़ेLifecycleOwner
के साथ जोड़ने पर,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-ktx
मॉड्यूल की डिपेंडेंसी से मेल खाने के लिए,activity
मॉड्यूल अब ViewModel के 2.1.0-alpha02 वाले वर्शन पर निर्भर करता है.
वर्शन 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()
कॉलबैक पाने के लिए आपकी गतिविधि में. - वापस पाने के लिए,
by viewModels()
Kotlin प्रॉपर्टी का नया डेलिगेट जोड़ा गयाComponentActivity
सेViewModel
. - जिन इनपुट इवेंट को मंज़ूरी मिलना बाकी है (जैसे कि क्लिक) उन्हें अब
onStop()
में रद्द कर दिया गया है.
एपीआई में किए गए बदलाव
LifecycleOwner
औरViewModelStoreOwner
को लागू करने की प्रोसेसFragmentActivity
सेComponentActivity
में ले जाया गया.onRetainCustomNonConfigurationInstance
के इस्तेमाल पर रोक लगा दी गई है. किसी उन ऑब्जेक्ट को स्टोर करने के लिएViewModel
जो कॉन्फ़िगरेशन में होने वाले बदलावों से बचा जा सकते हैं.