Jetpack Navigation 3 का वर्शन 1.0, स्टेबल वर्शन है 🎉. इसे आज ही अपने प्रोडक्शन ऐप्लिकेशन में इस्तेमाल करें. JetBrains, KotlinConf ऐप्लिकेशन में इसका इस्तेमाल पहले से ही कर रहा है.
Navigation 3, नेविगेशन की नई लाइब्रेरी है. इसे Jetpack Compose की स्थिति को ध्यान में रखकर बनाया गया है. इससे आपको बैक स्टैक पर पूरा कंट्रोल मिलता है. साथ ही, नेविगेशन की स्थिति को बनाए रखने में मदद मिलती है. इसकी मदद से, लिस्ट-डिटेल जैसे अडैप्टिव लेआउट आसानी से बनाए जा सकते हैं. JetBrains ने इसका क्रॉस-प्लैटफ़ॉर्म वर्शन भी बनाया है.
नई लाइब्रेरी की ज़रूरत क्यों पड़ी?
Jetpack Navigation की ओरिजनल लाइब्रेरी (अब Nav2) को सात साल पहले डिज़ाइन किया गया था. यह अपने ओरिजनल लक्ष्यों को अच्छी तरह से पूरा करती है और इसमें समय-समय पर सुधार किए गए हैं. हालांकि, अब ऐप्लिकेशन बनाने का तरीका पूरी तरह से बदल गया है.
अब डिक्लेरेटिव यूज़र इंटरफ़ेस (यूआई) के साथ, रिएक्टिव प्रोग्रामिंग का इस्तेमाल किया जाता है. Nav3 में भी इसी तरीके का इस्तेमाल किया जाता है. उदाहरण के लिए, NavDisplay (Nav3 का यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट, जो आपकी स्क्रीन दिखाता है) Compose की स्थिति के साथ, कुंजियों की सूची को देखता है. हर कुंजी एक स्क्रीन को दिखाती है. जब सूची में बदलाव होता है, तो यह अपने यूज़र इंटरफ़ेस (यूआई) को अपडेट करता है.
Nav2 में, नेविगेशन की स्थिति के लिए, जानकारी का एक सिंगल सोर्स रखना मुश्किल हो सकता है, क्योंकि इसकी अपनी इंटरनल स्थिति होती है. Nav3 में, आपको अपनी स्थिति देनी होती है. इससे आपको पूरा कंट्रोल मिलता है.
आखिर में, आपने ज़्यादा सुविधाओं और पसंद के मुताबिक बदलाव करने की मांग की थी. Nav3 में, एक ही एपीआई के बजाय, छोटे और अलग-अलग एपीआई (या "बिल्डिंग ब्लॉक") उपलब्ध कराए जाते हैं. इन्हें मिलाकर, जटिल फ़ंक्शन बनाए जा सकते हैं. Nav3, नेविगेशन के अच्छी तरह से तय किए गए इस्तेमाल के उदाहरणों के लिए, डिफ़ॉल्ट सेटिंग उपलब्ध कराने के लिए, इन बिल्डिंग ब्लॉक का इस्तेमाल करता है.
इस तरीके से, ये काम किए जा सकते हैं:
- स्क्रीन के ऐनिमेशन को ग्लोबल और अलग-अलग लेवल पर पसंद के मुताबिक बनाना
- एक ही समय में कई पैन दिखाना और Scenes API का इस्तेमाल करके, फ़्लेक्सिबल लेआउट बनाना
- अगर आपको पसंद के मुताबिक व्यवहार चाहिए, तो Nav3 के कॉम्पोनेंट को अपनी ज़रूरत के हिसाब से लागू किए गए कॉम्पोनेंट से आसानी से बदलना
इसके डिज़ाइन और सुविधाओं के बारे में ज़्यादा जानने के लिए, लॉन्च के बारे में जानकारी देने वाला ब्लॉग पढ़ें.
Navigation 2 से माइग्रेट करना
अगर आपने Nav2 का इस्तेमाल शुरू कर दिया है, खास तौर पर Navigation Compose का, तो आपको Nav3 पर माइग्रेट करना चाहिए. इसमें आपकी मदद करने के लिए, माइग्रेशन से जुड़ी गाइड उपलब्ध है. इसके मुख्य चरण ये हैं:
- Navigation 3 की डिपेंडेंसी जोड़ना.
- NavKey को लागू करने के लिए, नेविगेशन के रूट अपडेट करना. Nav3 का इस्तेमाल करने के लिए, आपके रूट में इस इंटरफ़ेस को लागू करना ज़रूरी नहीं है. हालांकि, अगर ऐसा किया जाता है, तो लगातार पिछली गतिविधियां बनाने के लिए, Nav3 के rememberNavBackStack फ़ंक्शन का फ़ायदा लिया जा सकता है.
- नेविगेशन की स्थिति को सेव करने और उसमें बदलाव करने के लिए क्लास बनाना. यहीं पर आपके बैक स्टैक सेव किए जाते हैं.
- NavController को इन क्लास से बदलना.
- NavHost के NavGraph से, डेस्टिनेशन को entryProvider में ले जाना.
- NavHost को NavDisplay से बदलना.
एआई एजेंट के माइग्रेशन की सुविधा को आज़माना
आपके पास एआई एजेंट का इस्तेमाल करके, माइग्रेशन से जुड़ी गाइड पढ़ने और अपने प्रोजेक्ट पर दिए गए चरणों को पूरा करने का विकल्प है. Android Studio के एजेंट मोड में Gemini के साथ इसे आज़माने के लिए:
- गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
- एजेंट को यह प्रॉम्प्ट चिपकाएं, लेकिन एंटर न दबाएं: "इस प्रोजेक्ट को "" का इस्तेमाल करके, Navigation 3 पर माइग्रेट करें.".
- @migration-guide.md टाइप करें. इससे एजेंट को गाइड, कॉन्टेक्स्ट के तौर पर मिलेगी.
हमेशा की तरह, एआई एजेंट की ओर से किए गए बदलावों की सावधानी से समीक्षा करें. इससे गलतियां हो सकती हैं!
हमें यह जानकर खुशी होगी कि आपने या आपके एजेंट ने कैसा काम किया. कृपया अपनी राय यहां भेजें.
आम तौर पर इस्तेमाल होने वाले उदाहरणों के लिए, नेविगेशन की रेसिपी
आम तौर पर इस्तेमाल होने वाले, लेकिन अलग-अलग तरह के उदाहरणों के लिए, हमारे पास रेसिपी का कलेक्शन है. इससे यह पता चलता है कि Nav3 के एपीआई को किसी खास तरीके से कैसे जोड़ा जाए. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने में मदद मिलती है. अगर कोई रेसिपी लोकप्रिय होती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल करने पर विचार करेंगे.
फ़िलहाल, 19 रेसिपी उपलब्ध हैं. इनमें ये शामिल हैं:
- एक से ज़्यादा बैक स्टैक
- मॉड्यूलर बनाना और डिपेंडेंसी इंजेक्शन
- ViewModels को नेविगेशन के आर्ग्युमेंट पास करना. इसमें Koin का इस्तेमाल करना भी शामिल है
- इवेंट और शेयर की गई स्थिति के हिसाब से, स्क्रीन से नतीजे वापस पाना
फ़िलहाल, हम डीपलिंक की रेसिपी और Koin इंटिग्रेशन पर काम कर रहे हैं. साथ ही, हमारे पास कई अन्य रेसिपी बनाने की योजना है. JetBrains के एक इंजीनियर ने रेसिपी का Compose Multiplatform वर्शन भी पब्लिश किया है.
अगर आपके पास आम तौर पर इस्तेमाल होने वाला कोई ऐसा उदाहरण है जिसके लिए आपको रेसिपी चाहिए, तो कृपया रेसिपी का अनुरोध सबमिट करें.
खास जानकारी
Nav3 का इस्तेमाल शुरू करने के लिए, दस्तावेज़ और रेसिपी देखें. इसके अलावा, तकनीकी कॉन्टेंट से भरे पूरे हफ़्ते पर नज़र रखें. इसमें ये शामिल हैं:
- एपीआई के बारे में जानकारी देने वाला वीडियो. इसमें मॉड्यूलर बनाने, ऐनिमेशन, और अडैप्टिव लेआउट के बारे में बताया गया है.
- Nav3 बनाने वाले इंजीनियरों के साथ, 'मुझसे कुछ भी पूछें' (एएमए) वाला लाइव सेशन.
Nav3 Spotlight Week, 1 दिसंबर, 2025 से शुरू होगा.
हमेशा की तरह, अगर आपको कोई समस्या आती है, तो कृपया उन्हें यहां दर्ज करें.
पढ़ना जारी रखें
-
प्रॉडक्ट से जुड़ी खबरें
2025 में, Android इकोसिस्टम, फ़ोन के अलावा अन्य डिवाइसों पर भी उपलब्ध है. आज, डेवलपर के पास 50 करोड़ से ज़्यादा ऐक्टिव डिवाइसों पर अपने ऐप्लिकेशन उपलब्ध कराने का मौका है. इनमें, फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, एक्सआर, Chromebook, और काम करने वाली कारें शामिल हैं.
Fahd Imtiaz • दो मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
Google Play पर, हम उपयोगकर्ताओं को सबसे अच्छा अनुभव देने के लिए प्रतिबद्ध हैं. साथ ही, हम यह भी पक्का करते हैं कि डेवलपर के पास सफल होने के लिए ज़रूरी टूल और सुविधाएं हों.
Paul Feng • तीन मिनट में पढ़ें
-
प्रॉडक्ट से जुड़ी खबरें
पिछले साल, हमने Android डेवलपर की पहचान की पुष्टि करने की सुविधा शुरू की थी. इससे इकोसिस्टम की सुरक्षा को मज़बूत किया जा सकता है और नुकसान पहुंचाने वाले ऐप्लिकेशन रिलीज़ करने के लिए, बुरे मकसद से काम करने वाले लोगों या ग्रुप को अपनी पहचान छिपाने से रोका जा सकता है.
Matthew Forsythe • दो मिनट में पढ़ें
अप-टू-डेट रहें
Android डेवलपमेंट से जुड़ी नई जानकारी हर हफ़्ते अपने इनबॉक्स में पाएं.