Android Jetpack में नेविगेशन कॉम्पोनेंट यह Jetpack Compose ऐप्लिकेशन पर काम करती है. अलग-अलग कंपोज़ेबल के बीच नेविगेट किया जा सकता है नेविगेशन कॉम्पोनेंट के इन्फ़्रास्ट्रक्चर का इस्तेमाल किया जा सकता है और सुविधाएँ.
इस पेज पर बताया गया है कि Wear के लिए Compose में Jetpack नेविगेशन मोड के बीच क्या अंतर है ओएस.
सेटअप
अपने ऐप्लिकेशन मॉड्यूल की Build.gradle फ़ाइल में, इस डिपेंडेंसी का इस्तेमाल करें:
Kotlin
dependencies { def wear_compose_version = "1.4.0" implementation "androidx.wear.compose:compose-navigation:$wear_compose_version" }
इसका इस्तेमाल androidx.navigation:navigation-compose
की बजाय किया जाता है
आर्टफ़ैक्ट इस्तेमाल करता है, क्योंकि यह खास तौर पर Wear OS के लिए लागू करने के दूसरे तरीके देता है.
नेविगेशन कंट्रोलर, होस्ट, और ग्राफ़ बनाना
Wear OS के लिए उपलब्ध, कंपोज़ की सुविधा का इस्तेमाल करके नेविगेट करने के लिए, इन तीन कॉम्पोनेंट की ज़रूरत होती है Wear OS के अलावा अन्य ऐप्लिकेशन: नेविगेशन कंट्रोलर, होस्ट, और ग्राफ़.
इस्तेमाल की जाने वाली चीज़ें
rememberSwipeDismissableNavController()
WearNavigator
का इंस्टेंस बनाने के लिए, जो NavController
को लागू करता है
Wear OS ऐप्लिकेशन के लिए सही हैं:
Kotlin
val navController = rememberSwipeDismissableNavController()
NavController
यह है
यह Compose ऐप्लिकेशन में नेविगेट करने के लिए इस्तेमाल किया जाने वाला मुख्य एपीआई होता है. यह नेविगेशन को कंट्रोल करता है
नेविगेशन होस्ट में कंपोज़ेबल, जो Wear OS पर मौजूद हैं
SwipeDismissableNavHost
.
Kotlin
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { // TODO: build navigation graph }
पसंद करें
NavHost
कंपोज़ेबल,
यह नेविगेशन कंट्रोलर का रेफ़रंस लेता है, यानी शुरुआती चरण के लिए रूट
गंतव्य है और नेविगेशन ग्राफ़ का बिल्डर है, जिसे यहां
पीछे Lambda फ़ंक्शन.
शुरुआती डेस्टिनेशन, नेविगेशन ग्राफ़ बिल्डर में दिया जाना चाहिए. साथ ही, यह भी ज़रूरी है कि उन सभी डेस्टिनेशन के साथ जो नेविगेशन की मदद से नेविगेट किए जा सकते हों कंट्रोलर.
val navController = rememberSwipeDismissableNavController() SwipeDismissableNavHost( navController = navController, startDestination = "message_list" ) { composable("message_list") { MessageList(onMessageClick = { id -> navController.navigate("message_detail/$id") }) } composable("message_detail/{id}") { MessageDetail(id = it.arguments?.getString("id")!!) } }
जेटपैक नेविगेशन के बारे में ज़्यादा जानने के लिए, यह देखें Compose की मदद से नेविगेट करना या Jetpack Compose के लिए नेविगेशन कोड लैब.
आपके लिए सुझाव
- ध्यान दें: JavaScript बंद होने पर लिंक टेक्स्ट दिखता है
- Jetpack नेविगेशन को नेविगेशन कंपोज़ पर माइग्रेट करना
- Compose के साथ नेविगेशन
- 'लिखें' सुविधा का इस्तेमाल करके, एक से दूसरी स्क्रीन पर जाना