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 का इस्तेमाल करके इसे आज़माने के लिए:
- गाइड के इस मार्कडाउन वर्शन को अपने प्रोजेक्ट में सेव करें.
- इस प्रॉम्प्ट को एजेंट में चिपकाएं (लेकिन Enter न दबाएं): "इस प्रोजेक्ट को " का इस्तेमाल करके Navigation 3 पर माइग्रेट करें.
- @migration-guide.md टाइप करें. इससे एजेंट को गाइड का कॉन्टेक्स्ट मिलेगा.
हमेशा की तरह, पक्का करें कि आपने एआई एजेंट के किए गए बदलावों की ध्यान से समीक्षा कर ली हो. इससे गलतियां हो सकती हैं!
हमें बताएं कि आपको या आपके एजेंट को कैसा अनुभव मिला. इसके लिए, कृपया यहां अपने सुझाव/राय दें या शिकायत करें.
सामान्य स्थितियों के लिए नेविगेशन की बेहतरीन रेसिपी
इस्तेमाल के सामान्य, लेकिन बारीकी से समझे जाने वाले उदाहरणों के लिए, हमारे पास रेसिपी रिपॉज़िटरी है. इससे पता चलता है कि Nav3 API को किसी खास तरीके से कैसे जोड़ा जाता है. इससे आपको अपनी ज़रूरतों के हिसाब से रेसिपी चुनने या उसमें बदलाव करने में मदद मिलती है. अगर कोई रेसिपी लोकप्रिय हो जाती है, तो हम उसके सामान्य हिस्सों को Nav3 की मुख्य लाइब्रेरी या ऐड-ऑन लाइब्रेरी में शामिल करने पर विचार करेंगे.
फ़िलहाल, 19 रेसिपी उपलब्ध हैं. इनमें ये शामिल हैं:
- एक से ज़्यादा बैक स्टैक
- मॉड्यूलरिटी और डिपेंडेंसी इंजेक्शन
- ViewModel में नेविगेशन आर्ग्युमेंट पास करना (इसमें Koin का इस्तेमाल करना भी शामिल है)
- इवेंट और शेयर की गई स्थिति के हिसाब से, स्क्रीन से नतीजे दिखाना
हम फ़िलहाल, डीपलिंक की रेसिपी पर काम कर रहे हैं. इसके अलावा, Koin इंटिग्रेशन पर भी काम किया जा रहा है. साथ ही, हमने कई अन्य प्लान भी बनाए हैं. JetBrains के एक इंजीनियर ने भी रेसिपी का Compose Multiplatform वर्शन पब्लिश किया है.
अगर आपको किसी ऐसे सामान्य इस्तेमाल के उदाहरण के लिए रेसिपी देखनी है जिसके बारे में यहां नहीं बताया गया है, तो कृपया रेसिपी का अनुरोध करें.
खास जानकारी
Nav3 का इस्तेमाल शुरू करने के लिए, दस्तावेज़ और रेसिपी देखें. साथ ही, पूरे हफ़्ते तकनीकी कॉन्टेंट पर नज़र रखें. इसमें ये शामिल हैं:
- मॉड्यूलरिटी, ऐनिमेशन, और अडैप्टिव लेआउट के बारे में ज़्यादा जानकारी देने वाला वीडियो.
- Nav3 को बनाने वाले इंजीनियरों के साथ, लाइव 'मुझसे सवाल पूछें' (एएमए) सेशन.
Nav3 Spotlight Week 1 दिसंबर, 2025 से शुरू होगा.
अगर आपको कोई समस्या मिलती है, तो कृपया यहां शिकायत दर्ज करें.
-
प्रॉडक्ट से जुड़ी खबरेंसाल 2025 में, Android का ईकोसिस्टम फ़ोन के अलावा अन्य डिवाइसों तक भी पहुंच गया है. आज डेवलपर के पास, 50 करोड़ से ज़्यादा डिवाइसों तक पहुंचने का मौका है. इनमें फ़ोल्ड किए जा सकने वाले डिवाइस, टैबलेट, एक्सआर, Chromebook, और Android Auto की सुविधा के साथ काम करने वाली कारें शामिल हैं.
Fahd Imtiaz • दो मिनट में पढ़ें -
प्रॉडक्ट से जुड़ी खबरेंहमने मार्च में, Android Bench लॉन्च किया था. यह असल दुनिया के Android डेवलपमेंट टास्क के लिए, हमारा एलएलएम लीडरबोर्ड है. इसके बाद से, हमने आपके सुझाव, शिकायत या राय के आधार पर बेंचमार्क को बेहतर बनाया है. इसमें ओपन-वेट मॉडल का आकलन करना और लीडरबोर्ड में लागत और परफ़ॉर्मेंस के डाइमेंशन जोड़ना शामिल है.
Zoe Lopez-Latorre • तीन मिनट में पढ़ा जा सकता है -
प्रॉडक्ट से जुड़ी खबरेंGoogle Play पर, हम उपयोगकर्ताओं को सबसे अच्छा अनुभव देने के लिए प्रतिबद्ध हैं. साथ ही, हम यह भी पक्का करते हैं कि डेवलपर के पास सफल होने के लिए ज़रूरी टूल और अडैप्टेबिलिटी हो.
Paul Feng • तीन मिनट में पढ़ा जा सकता है
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.