हर उपयोगकर्ता के सफ़र के लिए अलग-अलग स्क्रीन डिज़ाइन करने के बाद, आपके पास कुछ वर्टिकल या सिंगल स्क्रीन हो सकती हैं. इसके बाद, आपको यह तय करना होगा कि इन स्क्रीन को एक साथ काम करने के लिए कैसे डिज़ाइन किया जाए और नेविगेशन को कैसे लागू किया जाए.
डिज़ाइन
अपने ऐप्लिकेशन की हैरारकी को कम और लीनियर रखें. इसके बारे में ऐप्लिकेशन डिज़ाइन के दिशा-निर्देशों में बताया गया है.
शुरू करने के लिए, आपके ऐप्लिकेशन के लॉन्चर को उपयोगकर्ता के सबसे सामान्य सफ़र को खोलना चाहिए. उपयोगकर्ता की हर गतिविधि को इस तरह से डिज़ाइन करें कि सबसे ज़रूरी कॉन्टेंट सबसे ऊपर दिखे. वर्टिकल कंटेनर के लिए, सबसे नीचे मौजूद सेक्शन का इस्तेमाल करके, उपयोगकर्ताओं के अन्य, कम इस्तेमाल किए जाने वाले पाथ और सेटिंग को लिंक करें.
पहली इमेज. सबसे ज़रूरी कॉन्टेंट को वर्टिकल कंटेनर में सबसे ऊपर रखें.
जब उपयोगकर्ता आपकी किसी स्क्रीन पर आते हैं, तो पक्का करें कि वे बैक स्टैक में नीचे की ओर नेविगेट करने के लिए, स्वाइप करके खारिज करने वाले जेस्चर का इस्तेमाल कर सकें.
नेविगेशन लागू करना
नेविगेशन लागू करने के लिए, आपके पास तीन विकल्प होते हैं. इनके बारे में यहां बताया गया है:
- सिर्फ़ गतिविधियां, जो कि सुझाया गया तरीका है
- ऐक्टिविटी और फ़्रैगमेंट
- 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लागू करें, जो फ़्रैगमेंट को एक-दूसरे के ऊपर रेंडर करता है.