Navigation Component Kotlin: पूर्ण गाइड उदाहरणों के साथ

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Navigation Component क्या है और इसकी आवश्यकता क्यों है

Navigation Component Google की एक लाइब्रेरी है जो Android ऐप्स में स्क्रीन (फ्रैगमेंट, Activity, डायलॉग) के बीच नेविगेशन को आसान बनाती है। यह Android Jetpack का हिस्सा है और ट्रांज़िशन, आर्गुमेंट हैंडलिंग और "बैक" बटन के प्रबंधन का एक एकीकृत, पूर्वानुमानित तरीका प्रदान करती है।

इसकी आवश्यकता क्यों है? Navigation Component के बिना, डेवलपर्स को बहुत सारा बॉयलरप्लेट कोड लिखना पड़ता था: FragmentManager बनाना, BackStack को संभालना, Bundle के माध्यम से डेटा भेजना और ट्रांज़िशन की स्थिति पर नज़र रखना। यह लाइब्रेरी इन समस्याओं को हल करती है:

  • विज़ुअल नेविगेशन एडिटर — XML में ट्रांज़िशन का ग्राफ़।
  • सुरक्षित आर्गुमेंट ट्रांसफर Safe Args (Gradle प्लगइन) के माध्यम से।
  • स्वचालित BackStack प्रबंधन — "बैक" बटन सही ढंग से काम करता है।
  • डीप लिंक (Deep Links) — नोटिफिकेशन या बाहरी लिंक से ट्रांज़िशन।
  • ट्रांज़िशन एनिमेशन — XML में सरल सेटिंग्स।

Navigation Component की स्थापना (इंस्टॉलेशन)

चूंकि Navigation Component Android के लिए एक लाइब्रेरी है, इसकी स्थापना pip या npm के माध्यम से नहीं, बल्कि Gradle बिल्ड सिस्टम के माध्यम से होती है। build.gradle फ़ाइल (मॉड्यूल स्तर, आमतौर पर app/build.gradle) में निर्भरताएँ जोड़ें:

// build.gradle (Module: app)
plugins {
    id 'com.android.application'
    id 'org.jetbrains.kotlin.android'
    id 'androidx.navigation.safeargs.kotlin' // Safe Args के लिए
}

android {
    // ... मानक सेटिंग्स
}

dependencies {
    implementation 'androidx.navigation:navigation-fragment-ktx:2.7.7'
    implementation 'androidx.navigation:navigation-ui-ktx:2.7.7'
    // डायनामिक फीचर मॉड्यूल के लिए
    implementation 'androidx.navigation:navigation-dynamic-features-fragment:2.7.7'
}

यह भी सुनिश्चित करें कि रूट build.gradle में Safe Args प्लगइन जोड़ा गया है:

// build.gradle (Project level)
plugins {
    id 'androidx.navigation.safeargs.kotlin' version '2.7.7' apply false
}

Gradle सिंक के बाद, लाइब्रेरी उपयोग के लिए तैयार है।

कोड उदाहरण के साथ त्वरित शुरुआत

हम दो स्क्रीन वाला एक सरल ऐप बनाएंगे: HomeFragment और DetailFragment। उपयोगकर्ता पहली स्क्रीन पर बटन दबाता है और एक स्ट्रिंग पास करते हुए दूसरी स्क्रीन पर जाता है।

चरण 1: नेविगेशन फ़ाइल बनाएँ

res/navigation फ़ोल्डर में nav_graph.xml फ़ाइल बनाएँ:

<?xml version="1.0" encoding="utf-8"?>
<navigation xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.android.com/apk/res-auto"
    xmlns:tools="http://schemas.android.com/tools"
    android:id="@+id/nav_graph"
    app:startDestination="@id/homeFragment">

    <fragment
        android:id="@+id/homeFragment"
        android:name="com.example.app.HomeFragment"
        android:label="Home"
        tools:layout="@layout/fragment_home">
        <action
            android:id="@+id/action_homeFragment_to_detailFragment"
            app:destination="@id/detailFragment" />
    </fragment>

    <fragment
        android:id="@+id/detailFragment"
        android:name="com.example.app.DetailFragment"
        android:label="Detail"
        tools:layout="@layout/fragment_detail">
        <argument
            android:name="message"
            app:argType="string" />
    </fragment>
</navigation>

चरण 2: Activity सेट करें

activity_main.xml में NavHostFragment जोड़ें:

<?xml version="1.0" encoding="utf-8"?>
<androidx.constraintlayout.widget.ConstraintLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:app="http://schemas.                    

अनुशंसाएँ