हर उपयोगकर्ता के सफ़र के लिए अलग-अलग स्क्रीन डिज़ाइन करने के बाद, आपके पास कुछ वर्टिकल या सिंगल स्क्रीन हो सकती हैं. इसके बाद, आपको यह तय करना होगा कि इन स्क्रीन को एक साथ काम करने के लिए कैसे डिज़ाइन किया जाए और नेविगेशन को कैसे लागू किया जाए.
डिज़ाइन
शुरुआत में, आपके ऐप्लिकेशन के लॉन्चर को उपयोगकर्ता के सबसे सामान्य सफ़र के लिए खोलना चाहिए. हर उपयोगकर्ता के सफ़र को सबसे ज़रूरी कॉन्टेंट के साथ सबसे ऊपर डिज़ाइन करें. वर्टिकल कंटेनर के लिए, सबसे नीचे के हिस्से का इस्तेमाल करके, उपयोगकर्ता के अन्य, कम सामान्य सफ़र और सेटिंग से लिंक करें.
जब उपयोगकर्ता आपकी किसी स्क्रीन पर आते हैं, तो पक्का करें कि वे पिछली ऐक्टिविटी पर वापस जाने के लिए, खारिज करने के लिए स्वाइप करें जेस्चर का इस्तेमाल कर सकें पिछली ऐक्टिविटी.
नेविगेशन लागू करना
नेविगेशन लागू करते समय, आपके पास तीन विकल्प होते हैं. इनके बारे में यहां बताया गया है:
- सिर्फ़ ऐक्टिविटी, जो कि सुझाया गया तरीका है
- ऐक्टिविटी और फ़्रैगमेंट
- Jetpack Navigation
सिर्फ़ ऐक्टिविटी
वर्टिकल स्क्रीन आम तौर पर एक लेवल डीप होती हैं. इसलिए, सभी स्क्रीन को ऐक्टिविटी का इस्तेमाल करके और फ़्रैगमेंट का इस्तेमाल किए बिना लागू किया जा सकता है.
हम इस तरीके को अपनाने का सुझाव देते हैं. इससे आपका कोड आसान हो जाता है. साथ ही, ऐक्टिविटी में खारिज करने के लिए स्वाइप करें जेस्चर की सुविधा अपने-आप काम करती है. इससे, ऐंबियंट मोड को लागू करना भी आसान हो जाता है.
ध्यान दें: अगर फ़्रैगमेंट का इस्तेमाल नहीं किया जा रहा है, तो अपनी ऐक्टिविटी को
ComponentActivity से इनहेरिट करें. ऐक्टिविटी के अन्य टाइप, मोबाइल के लिए बने यूज़र इंटरफ़ेस (यूआई) एलिमेंट का इस्तेमाल करते हैं. Wear OS के लिए इनकी ज़रूरत नहीं होती.
ऐक्टिविटी और फ़्रैगमेंट
Wear OS के ऐप्लिकेशन में, ऐक्टिविटी के साथ फ़्रैगमेंट का इस्तेमाल किया जा सकता है. हालांकि, हम ऐसा करने का सुझाव नहीं देते. इसकी वजह यह है कि कम और फ़्लैट आर्किटेक्चर बनाने के लिए, फ़्रैगमेंट का इस्तेमाल करने का कोई साफ़ फ़ायदा नहीं है.
ध्यान दें: अगर फ़्रैगमेंट का इस्तेमाल किया जा रहा है, तो उन्हें
FragmentActivity से इनहेरिट करें. ऐक्टिविटी के अन्य टाइप, मोबाइल के लिए बने यूज़र इंटरफ़ेस (यूआई) एलिमेंट का इस्तेमाल करते हैं. Wear OS के लिए इनकी ज़रूरत नहीं होती.
Wear OS के ऐप्लिकेशन में फ़्रैगमेंट का इस्तेमाल करने में आने वाली कुछ समस्याएं यहां दी गई हैं:
- आपको खारिज करने के लिए स्वाइप करें जेस्चर को खुद लागू करना होगा. ऐसा न करने पर, उपयोगकर्ता के स्वाइप करने पर, पूरा ऐप्लिकेशन बंद हो जाएगा.
-
अगर
AmbientModeका इस्तेमाल किया जा रहा है, तो इसे सही तरीके से काम करने के लिए, आपको इसे पसंद के मुताबिक बनाना होगा.AmbientModeको ऐक्टिविटी पर सेट किया जाता है. इसलिए, फ़्रैगमेंट लागू करते समय, आपको इस बात का ध्यान रखना होगा.
फ़्रैगमेंट के साथ खारिज करने के लिए स्वाइप करें जेस्चर की सुविधा देने के लिए, आपको फ़्रैगमेंट वाले
व्यू को
SwipeDismissFrameLayout
क्लास में रैप करना होगा. ज़्यादा जानकारी के लिए,
खारिज करने के लिए स्वाइप करें जेस्चर
लेख देखें. ऐसा करने से, उपयोगकर्ताओं को आपके ऐप्लिकेशन के साथ एक जैसा अनुभव मिलता है.
ध्यान दें: फ़्रैगमेंट का इस्तेमाल करते समय, खारिज करने के लिए स्वाइप करें जेस्चर की सुविधा देने के लिए, FragmentManager.replace के बजाय FragmentManager.add का इस्तेमाल करें.
इससे यह पक्का करने में मदद मिलती है कि स्वाइप करके हटाए जाने के दौरान, आपका पिछला फ़्रैगमेंट सबसे ऊपर वाले फ़्रैगमेंट के नीचे रेंडर हो.
Jetpack Navigation
Jetpack Navigation, Wear OS पर काम कर सकता है. हालांकि, इसमें फ़्रैगमेंट जैसी ही कमियां हैं. इससे डेवलपमेंट का काम बढ़ जाता है. साथ ही, Wear OS के ऐप्लिकेशन की क्रम-वार संरचना आम तौर पर कम और लीनियर होती है. इसलिए, इससे ज़्यादा फ़ायदे नहीं मिलते. सिर्फ़ ऐक्टिविटी वाला तरीका सबसे अच्छा है.
Jetpack Navigation का पूरा फ़ायदा पाने के लिए, यह तरीका अपनाएं:
-
पक्का करें कि हर फ़्रैगमेंट,
SwipeDismissFrameLayoutको अपनी रूट के तौर पर इस्तेमाल करे. साथ ही, नेविगेशन ग्राफ़ में वापस जाने के लिए, खारिज करने की कार्रवाई का मैन्युअल तरीके से इस्तेमाल करें. -
पसंद के मुताबिक बनाया गया
FragmentNavigatorलागू करें, जो फ़्रैगमेंट को एक-दूसरे के ऊपर रेंडर करता है.