इस गाइड में उन कॉम्पोनेंट के बारे में बताया गया है जो चल रहे टास्क में स्टॉपवॉच के रूप में शामिल होते हैं. चल रहे टास्क के दौरान टाइमलाइन में लाइव कार्ड तब तक दिखता है, जब तक उपयोगकर्ता किसी टास्क में शामिल रहता है. साथ ही, उसके पास जानकारी की ज़रूरत होने पर, लाइव कार्ड से बाहर निकलने की सुविधा भी होती है.
इस दौरान, आपको ग्लासवेयर बनाने के डिज़ाइन, डेवलपमेंट, और डिस्ट्रिब्यूशन से जुड़ी सलाह भी दी जाएगी.
शुरू करने से पहले
स्टॉपवॉच का पूरा सोर्स, GitHub पर उपलब्ध है. शुरू करने से पहले, इसे Android Studio में इंपोर्ट कर लें, क्योंकि यह गाइड इसके बारे में ज़्यादा जानकारी देती है.
- Quick Start स्क्रीन में, वर्शन Control > Git से चेक आउट करें पर क्लिक करें.
- स्टॉपवॉच से क्लोन का यूआरएल कॉपी करें.
- क्लोन यूआरएल को Vcs डेटा स्टोर करने की जगह के यूआरएल में चिपकाएं और क्लोन पर क्लिक करें.
- अगली स्क्रीन में हां पर क्लिक करें.
- अगली स्क्रीन पर ठीक है पर क्लिक करें.
- प्रोजेक्ट बनाएं और चलाएं बटन पर क्लिक करके उसे अपने कनेक्ट किए गए Glass पर चलाएं. शुरू करने की जानकारी के लिए, सैंपल के
README
की जांच करना न भूलें.
आप इन चीज़ों के बारे में जानेंगे
आपको स्टॉपवॉच के जारी रहने वाले कई टास्क बनाने के लिए, Android SDK के कॉम्पोनेंट इस्तेमाल करने का तरीका पता चलेगा. इसके बाद, आपको Glass की सुविधाओं से जुड़ने के लिए GDK के इस्तेमाल का तरीका भी पता चलेगा. यहां उन विषयों की सूची दी गई है जिनके बारे में आप जानेंगे:
- लाइव कार्ड में ड्रॉ करने के लिए, पसंद के मुताबिक व्यू बनाया जा रहा है
- लाइव कार्ड मैनेज करने के लिए सेवा बनाई जा रही है
- एक ऐसा मेन्यू उपलब्ध कराना जो लोगों को टाइमलाइन से लाइव कार्ड हटाने की सुविधा देता हो
- मुख्य वॉइस मेन्यू से स्टॉपवॉच शुरू करने के लिए, वॉइस ट्रिगर का एलान किया जा रहा है
डिज़ाइन
डेवलप करने से पहले, कुछ समय निकालकर अपने ग्लासवेयर को डिज़ाइन करें. ऐसा करने से आपको इस बात की बेहतर जानकारी मिलती है कि कौन-से यूआई फ़्लो, Glass पर सबसे अच्छा काम करते हैं, आपको किस वॉइस कमांड का उपयोग करना होगा और आपके कार्ड कैसे दिखेंगे.
बेशक, ग्लासवेयर को डिज़ाइन करना बार-बार की जाने वाली प्रोसेस है और अब आपकी डिज़ाइन की गई कुछ चीज़ें बदल जाएँगी. लेकिन शुरुआत में इस काम का एक अच्छा हिस्सा होना ज़रूरी है, ताकि एक अच्छा अनुभव बनाया जा सके.
यूज़र इंटरफ़ेस (यूआई) फ़्लो
यूज़र इंटरफ़ेस (यूआई) फ़्लो को डिज़ाइन करना एक आसान काम है. इसकी मदद से, कोड की कोई लाइन लिखने से पहले अपने ग्लासवेयर को विज़ुअलाइज़ किया जा सकता है. हम ऐसा सीधे हमारे बनाए हुए ग्लासवेयर के लिए करते हैं!
आइए, स्टॉपवॉच के मुख्य यूज़र इंटरफ़ेस (यूआई) एलिमेंट पर चलते हैं, ताकि आपको यह पता चल सके कि यूज़र इंटरफ़ेस (यूआई) कैसे काम करता है और अपना ग्लासवेयर बनाते समय यह प्रोसेस कितनी मददगार हो सकती है.
मुख्य यूज़र इंटरफ़ेस (यूआई)
स्टॉपवॉच में केवल एक मुख्य फ़्लो होता है, क्योंकि यह काफ़ी आसान अनुभव है.
जब उपयोगकर्ता ग्लासवेयर को शुरू करते हैं, तो वास्तविक स्टॉपवॉच के शुरू होने से पहले उन्हें 3-सेकंड का काउंटडाउन दिखाया जाता है. इसके बाद, स्टॉपवॉच को तब तक गिना जाता है, जब तक कि उपयोगकर्ता उसे रोकें मेन्यू आइटम के साथ टाइमलाइन से हटा न दे.
बोला गया निर्देश
डिज़ाइन बनाने की प्रोसेस में, आपको बोलकर दिए जाने वाले निर्देश पर काफ़ी पहले ही जानकारी मिल जानी चाहिए. बोलकर दिए जाने वाले निर्देशों की मदद से उपयोगकर्ता, Glass Home (क्लॉक कार्ड) के वॉइस मेन्यू से ग्लासवेयर शुरू कर सकते हैं. ऐसा ज़रूरी होने पर, ये ग्लासवेयर डिज़ाइन करने के आपके तरीके की एक अहम भूमिका होती है.
उदाहरण के लिए, अपडेट पोस्ट करें कमांड, फ़ायर ऐंड फॉरगेट मॉडल में अच्छे से काम करता है. इस मॉडल में उपयोगकर्ता टेक्स्ट बोलते हैं और ग्लासवेयर, उपयोगकर्ता की अनुमति के बिना उसे प्रोसेस करता है. इससे उपयोगकर्ता अपने काम पर तेज़ी से कर पाते हैं.
वहीं दूसरी ओर, कोई गेम खेलें जैसे काम के लिए, आपको आम तौर पर उपयोगकर्ताओं को स्प्लैश स्क्रीन पर ले जाना होगा, ताकि वे पहले उनका इस्तेमाल कर सकें. बोलकर दिए गए इस निर्देश से, लोगों को गेम शुरू करने में मदद मिलती है. इसलिए, लोगों को गेम शुरू करने के लिए ज़्यादा स्क्रीन और मेन्यू देखने को मिलेगा. उपयोगकर्ताओं को बोलकर दिए जाने वाले निर्देश के तुरंत बाद, उन्हें गेमिंग का बेहतरीन अनुभव मिल जाता है.
स्टॉपवॉच, स्टॉपवॉच शुरू करें बोलकर दिए गए निर्देश का इस्तेमाल करती है. जब उपयोगकर्ता बोलकर निर्देश देते हैं, तो स्टॉपवॉच के तुरंत बाद एक छोटी सी, अचानक दिखने वाली काउंटडाउन स्क्रीन शुरू हो जाती है. इसे शुरू करने के लिए मेन्यू आइटम देने से बेहतर है. चल रहे टास्क के लिए, आम तौर पर आप उपयोगकर्ताओं को जल्द से जल्द अनुभव पर ले जाना चाहेंगे, जहां यह उनके लिए सही हो.
कार्ड के लेआउट
चाहे आप इमर्शन बना रहे हों या लाइव कार्ड बना रहे हों, जहां भी हो सके आपको
CardBuilder
या एक्सएमएल लेआउट का इस्तेमाल करना चाहिए.
अक्सर, आपको अपना लेआउट खुद बनाना होता है. इसलिए, बेहतरीन दिखने वाले ग्लासवेयर के लिए यूज़र इंटरफ़ेस (यूआई) से जुड़े हमारे दिशा-निर्देशों का पालन करें.
स्टॉपवॉच, लेआउट से जुड़े सामान्य दिशा-निर्देशों का पालन करती है, लेकिन इसमें कस्टम यूज़र इंटरफ़ेस (यूआई) लेआउट हैं, जो Android के स्टैंडर्ड कॉम्पोनेंट, जैसे कि व्यू और लेआउट का इस्तेमाल करते हैं.
कॉन्टेंट बनाना
जी
आप ग्लासवेयर बनाने के लिए अक्सर Android के सामान्य कॉम्पोनेंट का इस्तेमाल करते हैं, लेकिन ध्यान रखें कि कभी-कभी कुछ कॉन्सेप्ट अलग होते हैं. उदाहरण के लिए, आप किसी Android सेवा की मदद से लाइव कार्ड रेंडर और मैनेज करते हैं. यह सेवा, Android के पारंपरिक ऐप्लिकेशन में सेवाओं का इस्तेमाल करने का आम तरीका नहीं है. दूसरा उदाहरण लाइव कार्ड का अपना यूआई कॉन्टेक्स्ट नहीं होता है. इसलिए, आपको शेल गतिविधि का इस्तेमाल करना होगा जिसमें लाइव कार्ड के लिए मेन्यू दिखता है. इस गाइड में बाद में आपको पता चलेगा कि इन कॉम्पोनेंट को कैसे बनाया जाता है.
'डेवलप करें' सेक्शन के बाकी सेक्शन में इस बारे में जानकारी मिलती है कि स्टॉपवॉच की संरचना कैसे की गई है और प्रोजेक्ट के उन अहम कॉम्पोनेंट के बारे में बताया गया है जिन्हें आपने पहले इंपोर्ट किया था. Android Studio को अभी डिवाइस में इंस्टॉल करना आपके लिए फ़ायदेमंद है, ताकि आप इसे बेहतर तरीके से समझ सकें. सोर्स कोड पर टिप्पणी की जाती है, ताकि इस सेक्शन में हर फ़ाइल के खास मकसद के बारे में बताया गया हो. साथ ही, ऐसी सलाह दी गई हो जिसे अपने ग्लासवेयर पर लागू किया जा सकता है.
बोला गया निर्देश
एक्सएमएल रिसॉर्स फ़ाइल का इस्तेमाल करके, बोलकर निर्देश दिए जाते हैं. यह फ़ाइल, इस्तेमाल किए जा रहे निर्देश की जानकारी देती है. इसके बाद, 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
फ़ाइल आपके ग्लासवेयर के मुख्य कॉम्पोनेंट की जानकारी देती है, ताकि सिस्टम को उसे चलाने का तरीका पता हो. Charades के मेनिफ़ेस्ट में
इन चीज़ों के बारे में बताया गया है:
- ग्लासवेयर का आइकॉन और नाम. अगर एक से ज़्यादा ग्लासवेयर एक ही बोले गए निर्देश का जवाब देते हैं, तो Glass इस जानकारी को मुख्य टच मेन्यू पर दिखाता है.
- स्टॉपवॉच से जुड़ी सभी सेवाएं और गतिविधियां. सिस्टम को यह जानने के लिए ज़रूरी होता है कि ग्लासवेयर के कॉम्पोनेंट को कैसे चालू किया जाए.
- बोला गया निर्देश और इंटेंट फ़िल्टर, जो बोले गए निर्देश के बोले जाने पर लाइव कार्ड सेवा को शुरू करता है.
- Glassware के लिए वर्शन कोड. MyGlass में इस APK का नया वर्शन अपलोड करने पर, हर बार इस कोड को अपडेट करना ज़रूरी है (और आम तौर पर वर्शन का नाम भी).