जारी काम पैटर्न

इस गाइड में उन कॉम्पोनेंट के बारे में बताया गया है जिनमें स्टॉपवॉच के तौर पर टास्क जारी है. मौजूदा टास्क, टाइमलाइन में लाइव कार्ड तब तक दिखाता है, जब तक कोई उपयोगकर्ता किसी टास्क में शामिल रहता है. साथ ही, उन्हें जानकारी की ज़रूरत पड़ने पर लाइव कार्ड से बाहर निकल सकता है.

साथ ही, आपको ऐसे डिज़ाइन, डेवलपमेंट, और डिस्ट्रिब्यूशन से जुड़ी सलाह भी मिलेंगी जो आपके लिए कांच के प्रॉडक्ट बनाने में अहम हैं.

शुरू करने से पहले

स्टॉपवॉच का पूरा स्रोत GitHub पर उपलब्ध है. शुरू करने से पहले इसे Android Studio पर इंपोर्ट करें. ऐसा इसलिए, क्योंकि इस गाइड में इस बारे में ज़्यादा जानकारी दी गई है.

  1. क्विक स्टार्ट स्क्रीन से, वर्शन कंट्रोल से चेक आउट करें > Git पर क्लिक करें.
  2. स्टॉपवॉच से क्लोन यूआरएल कॉपी करें.
  3. क्लोन यूआरएल को Vcs Repository URL में चिपकाएं और Clone पर क्लिक करें.
  4. अगली स्क्रीन पर हां पर क्लिक करें.
  5. अगली स्क्रीन पर ठीक है पर क्लिक करें.
  6. प्रोजेक्ट बनाएं और उसे कनेक्ट करें बटन पर क्लिक करके, कनेक्ट किए गए Glass पर चलाएं. बुलाए जाने की जानकारी के लिए नमूने की README देखना पक्का करें.

आप इन चीज़ों के बारे में जानेंगे

आपको Android के SDK टूल से कॉम्पोनेंट का इस्तेमाल करने के तरीके के बारे में जानकारी मिलेगी. जैसे, वॉचवॉच के लिए चल रहे टास्क की संख्या बढ़ाने और GDK की मदद से, ग्लास वर्शन की सुविधाओं का इस्तेमाल करने का तरीका. यहां उन विषयों की सूची दी गई है जिनके बारे में आप जानेंगे:

  • लाइव कार्ड से ड्रॉ करने के लिए कस्टम व्यू बनाना
  • लाइव कार्ड मैनेज करने के लिए कोई सेवा तैयार करना
  • ऐसा मेन्यू दिखाना जिसकी मदद से उपयोगकर्ता, टाइमलाइन से लाइव कार्ड हटा सकते हैं
  • मुख्य वॉइस मेन्यू से स्टॉपवॉच शुरू करने के लिए, वॉइस ट्रिगर का एलान

डिज़ाइन

इससे पहले कि आप डेवलप करना शुरू करें, कुछ समय लें और अपना Glassware डिज़ाइन करें. इससे आपको पता चलता है कि Glass पर किस यूज़र इंटरफ़ेस (यूआई) का फ़्लो सबसे अच्छा काम करता है, आपको कौनसी आवाज़ इस्तेमाल करनी है, और आपके कार्ड कैसे दिखेंगे.

बेशक, Glassware डिज़ाइन करना एक दोहरावपूर्ण प्रक्रिया है और कुछ चीज़ें जो आप डिज़ाइन करते हैं, वे अब बदल जाएंगी, लेकिन एक अनुभव के लिए काम शुरू करना अच्छा है.

यूज़र इंटरफ़ेस (यूआई) फ़्लो

यूज़र इंटरफ़ेस (यूआई) फ़्लो को डिज़ाइन करना एक आसान प्रक्रिया है. इसकी मदद से, कोड की लाइन लिखने से पहले, अपना Glassware विज़ुअलाइज़ किया जा सकता है. हम अपना सारा ध्यान कांच के प्रॉडक्ट बनाने में लगाते हैं!

आइए, स्टॉपवॉच के मुख्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर नज़र डालते हैं, ताकि आप जान सकें कि यूज़र इंटरफ़ेस (यूआई) कैसे काम करता है और अपना Glassware बनाते समय यह प्रोसेस कितनी मददगार साबित हो सकती है.

मुख्य यूज़र इंटरफ़ेस (यूआई)

स्टॉपवॉच में सिर्फ़ एक ही मुख्य फ़्लो होता है, क्योंकि यह काफ़ी आसान अनुभव है.

जब उपयोगकर्ता Glassware शुरू करते हैं, तो उन्हें असल स्टॉपवॉच शुरू होने से पहले, 3-सेकंड के काउंटडाउन इंटरस्टीशियल के साथ दिखाया जाता है. इसके बाद, स्टॉपवॉच तब तक गिनी जाती है, जब तक उपयोगकर्ता इसे स्टॉप मेन्यू आइटम की मदद से टाइमलाइन से नहीं हटाता.

बोला गया निर्देश

आपको डिज़ाइन की प्रोसेस के लिए, बोलकर दिए गए निर्देश का पता लगाना होगा. अगर ज़रूरी हो, तो Voice के निर्देशों की मदद से, उपयोगकर्ताओं को Glass Home (घड़ी का कार्ड) के वॉइस मेन्यू से, Glassware शुरू करने की सुविधा मिलती है. साथ ही, यह ग्लासवेयर डिज़ाइन करने का एक मुख्य हिस्सा है.

उदाहरण के लिए, अपडेट पोस्ट करें कमांड, आग लगने और भूल जाने के मॉडल में अच्छी तरह से काम करता है. इस मॉडल में उपयोगकर्ता टेक्स्ट को बोलते हैं और Glassware उसे प्रोसेस करता है. इसके लिए, उसे उपयोगकर्ता से कोई और मदद नहीं मिलती. इसकी मदद से उपयोगकर्ता उन चीज़ों पर वापस जा सकते हैं जो वे जल्दी कर रहे हैं.

दूसरी ओर, कोई गेम खेलें. ऐसा करने के लिए, आपको आम तौर पर उपयोगकर्ताओं को स्प्लैश स्क्रीन पर भेजना होगा, ताकि वे सबसे पहले गेम को खेलना चाहें. बोलकर निर्देश देने की सुविधा का इस्तेमाल करके, ज़्यादातर उपयोगकर्ताओं को ऐसा लगता है कि वे तुरंत खेलना शुरू कर सकते हैं. इसलिए, गेम खेलने के लिए उपयोगकर्ताओं को अतिरिक्त स्क्रीन और मेन्यू देखने को मिल सकते हैं. बोले गए निर्देश के तुरंत बाद, उपयोगकर्ताओं को तुरंत गेमिंग का अनुभव देना, गेम के लिए एक खराब अनुभव माना जाता है.

स्टॉपवॉच स्टॉपवॉच प्रारंभ करें ध्वनि आदेश का उपयोग करती है. जब उपयोगकर्ता बोले गए निर्देश को लागू करें, तो स्टॉपवॉच तुरंत शुरू होती है. यह स्क्रीन पर काउंटडाउन स्क्रीन वाली छोटी काउंटर स्क्रीन के बाद शुरू होती है, जो शुरू करने के लिए मेन्यू आइटम उपलब्ध कराने से बेहतर है. मौजूदा टास्क के लिए, आप आम तौर पर उपयोगकर्ताओं को जल्द से जल्द अनुभव देने पर फ़ोकस करना चाहेंगे, जहां यह काम का हो.

कार्ड के लेआउट

इमर्सिव या लाइव कार्ड बनाने के लिए, जब भी हो सके, आपको CardBuilder या एक्सएमएल लेआउट का इस्तेमाल करना चाहिए.

अक्सर, आपको अब भी अपना खुद का लेआउट बनाना होता है, इसलिए सबसे अच्छे दिखने वाले Glassware के लिए हमारे यूज़र इंटरफ़ेस (यूआई) दिशा-निर्देशों का पालन करें.

स्टॉपवॉच सामान्य लेआउट दिशा-निर्देशों का पालन करती है, लेकिन इसमें लेआउट और लेआउट जैसे मानक Android कॉम्पोनेंट का इस्तेमाल करने वाले कस्टम यूज़र इंटरफ़ेस (यूआई) लेआउट होते हैं.

Develop

लाइव कार्ड डेवलप करने के लिए, आप उन्हीं टूल का इस्तेमाल करेंगे जिनका इस्तेमाल आप Android डेवलपमेंट के लिए, Glassware के बल्क बनाने के लिए करते हैं. इसके बाद, GDK ऐड-ऑन में मौजूद एपीआई का इस्तेमाल करके, खास तौर पर लाइव कार्ड और वॉइस कमांड जैसे Glass की सुविधाओं का इस्तेमाल करें.

Glassware बनाने के लिए, आपको अक्सर सामान्य Android कॉम्पोनेंट का इस्तेमाल करना होता है. हालांकि, ध्यान रखें कि कभी-कभी कुछ कॉन्सेप्ट अलग-अलग होते हैं. उदाहरण के लिए, आप किसी Android सेवा के ज़रिए लाइव कार्ड रेंडर और मैनेज करते हैं. यह आम तौर पर पारंपरिक Android ऐप्लिकेशन में सेवाएं इस्तेमाल करने का तरीका नहीं है. एक और उदाहरण है कि लाइव कार्ड का अपना यूज़र इंटरफ़ेस (यूआई) कॉन्टेक्स्ट नहीं होता है. इसलिए, आपको शेल ऐक्टिविटी का इस्तेमाल करना होगा, जो लाइव कार्ड के लिए मेन्यू दिखाता है. बाद में, आपको इस गाइड में इन कॉम्पोनेंट को बनाने का तरीका पता चलेगा.

विकसित किए गए बाकी सेक्शन, स्टॉपवॉच के स्ट्रक्चर और उस प्रोजेक्ट के मुख्य कॉम्पोनेंट के बारे में बताते हैं जो आपने पहले इंपोर्ट किया था. अब Android Studio का होना ज़रूरी है, ताकि आप इसका इस्तेमाल जारी रख सकें. सोर्स कोड पर भी टिप्पणी की जाती है, इसलिए यह सेक्शन हर फ़ाइल के हाई-लेवल मकसद और ज़रूरी सलाह के बारे में बताता है. इन्हें आप अपने Glassware पर लागू कर सकते हैं.

बोला गया निर्देश

एक्सएमएल रिसॉर्स फ़ाइल की मदद से, बोलकर दिए जाने वाले निर्देश बनाए जा सकते हैं. एक्सएमएल फ़ाइल में, AndroidManifest.xml फ़ाइल में, एक्सएमएल रिसॉर्स के बारे में जानकारी दी जाती है.

ये फ़ाइलें, स्टॉपवॉच की बोले जाने वाले निर्देश से जुड़ी हैं:

  • res/xml/voice_trigger_start.xml - यह बताता है कि बोले गए निर्देश का इस्तेमाल करना है.
  • AndroidManifest.xml - यह बताया जाता है कि लाइव कार्ड की सेवा कब बोले जाएगी.

काउंटडाउन व्यू

स्टॉपवॉच से समय के पहले ही काउंटडाउन दिखाया जाता है, जिससे उपयोगकर्ताओं को पता चल जाता है कि समय बीत चुका है.

ये फ़ाइलें काउंटडाउन व्यू से जुड़ी हैं:

  • res/layout/card_countdown.xml - काउंटडाउन व्यूअर के लिए लेआउट तय करता है
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java- काउंटडाउन का व्यू बताता है.

क्रोनोमीटर दृश्य

यह स्टॉपवॉच का मुख्य व्यू होता है. यह काउंटडाउन के बीच में दिखने वाले इंटरस्टीशियल विज्ञापनों के पूरा होने का समय दिखाता है. यहां दी गई फ़ाइलें, क्रोनोमीटर व्यू से जुड़ी हैं:

  • res/layout/card_chronometer.xml - स्टॉपवॉच व्यू के लिए लेआउट तय करता है
  • src/com/google/android/glass/sample/stopwatch/ChronometerDrawer.java - व्यू को रेंडर करने का तरीका बताता है. लाइव कार्ड सेवा, लाइव क्लास सेवा के लिए इस कक्षा को कॉल करती है.
  • src/com/google/android/glass/sample/stopwatch/ChronometerView.java - स्टॉपवॉच व्यू जो पिछले लेआउट को यूज़र इंटरफ़ेस (यूआई) के तौर पर इस्तेमाल करता है.

स्टॉपवॉच सेवा

इस सेवा की मदद से, लाइव कार्ड की लाइफ़साइकल और रेंडरिंग को मैनेज किया जाता है. ये फ़ाइलें इस सेवा से जुड़ी हैं:

  • src/com/google/android/glass/sample/stopwatch/StopwatchService.java - स्टॉपवॉच का लाइव कार्ड मैनेज करता है और सेवा की लाइफ़साइकल मैनेज करता है.

लाइव कार्ड में मेन्यू दिखाने के लिए, खुद का यूज़र इंटरफ़ेस (यूआई) का संदर्भ नहीं होता है. इसकी वजह यह है कि लाइव कार्ड, टाइमलाइन के हिसाब से अपने यूज़र इंटरफ़ेस (यूआई) को रेंडर करते हैं.

इस सीमा से परे जाने के लिए, आपको टाइमलाइन के सबसे ऊपर दिखने वाला एक पारदर्शी ऐक्टिविटी बनाना होगा. इसके बाद, उपयोगकर्ताओं के लाइव कार्ड पर टैप करने के तुरंत बाद उस गतिविधि का मेन्यू दिखाया जाएगा.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java - यह मेन्यू को एक तरह से और आसानी से मैनेज करने की सुविधा देता है. यह मेन्यू, उस समय दिखने वाले मेन्यू को तुरंत दिखाता है.
  • res/values/styles.xml - मेन्यू में लागू पारदर्शी स्टाइल के बारे में बताता है.
  • res/menu/stopwatch.xml - मेन्यू रिसॉर्स, जिसमें स्टॉप मेन्यू आइटम मौजूद है.

Android मेनिफ़ेस्ट

AndroidManifest.xml फ़ाइल, आपके Glassware के मुख्य कॉम्पोनेंट के बारे में बताती है, ताकि सिस्टम उन्हें चलाने का तरीका जान सके. Charades का मेनिफ़ेस्ट इन चीज़ों के बारे में बताता है:

  • Glassware का आइकॉन और नाम. अगर एक से ज़्यादा Glassware एक ही आवाज़ में निर्देश देते हैं, तो Glass यह जानकारी मुख्य टच मेन्यू में दिखाता है.
  • स्टॉपवॉच से जुड़ी सभी सेवाएं और गतिविधियां. आपके लिए यह ज़रूरी है कि सिस्टम आपके Glassware के कॉम्पोनेंट कैसे शुरू करे.
  • बोले जाने वाले निर्देश और इंटेंट फ़िल्टर जो बोले गए निर्देश को बोले जाने पर लाइव कार्ड सेवा को शुरू करते हैं.
  • Glassware का वर्शन कोड. हर बार इस APK का नया वर्शन MyGlass पर अपलोड किए जाने पर, यह कोड अपडेट किया जाना चाहिए (और आम तौर पर वर्शन का नाम भी).