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 • दो मिनट में पढ़ें -
प्रॉडक्ट से जुड़ी खबरेंGoogle Play पर, हम उपयोगकर्ताओं को सबसे अच्छा अनुभव देने के लिए प्रतिबद्ध हैं. साथ ही, हम यह भी पक्का करते हैं कि डेवलपर के पास सफल होने के लिए ज़रूरी टूल और अडैप्टेबिलिटी हो.
Paul Feng • तीन मिनट में पढ़ा जा सकता है -
प्रॉडक्ट से जुड़ी खबरेंपिछले साल, हमने Android डेवलपर की पहचान की पुष्टि करने की सुविधा लॉन्च की थी. इससे, हमने अपने नेटवर्क की सुरक्षा को बेहतर बनाया था. साथ ही, बुरे मकसद से काम करने वाले लोगों या ग्रुप को नुकसान पहुंचाने वाले ऐप्लिकेशन रिलीज़ करने से रोका था. ये लोग अपनी पहचान छिपाकर ऐसा करते थे.
Matthew Forsythe • दो मिनट में पढ़ें
Android डेवलपमेंट से जुड़ी नई अहम जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.