इमर्सन

इमर्शन, उपयोगकर्ता के इनपुट का इस्तेमाल करने और उपयोगकर्ता के इंटरफ़ेस बनाने के ज़्यादा तरीके देता है. इससे आप सबसे कस्टम अनुभव तैयार कर सकते हैं. हालांकि, इसमें सबसे ज़्यादा मेहनत लगती है.

अगर आप Glass का पहली बार इस्तेमाल कर रहे हैं, तो इसके बजाय इमर्सिव गाइड पढ़ें. हमारे दस्तावेज़ में बताए गए सबसे सही तरीकों का पालन करके, इस दस्तावेज़ में, कांच के बर्तनों का पूरा कॉन्टेंट बनाने का तरीका बताया गया है.

वे कैसे काम करते हैं

टाइमलाइन के बाहर, इमर्सन दिखता है. इसकी मदद से, उपयोगकर्ता के अनुभव को ठीक उस समय से कंट्रोल किया जा सकता है जब ग्लास को इमर्सन दिखने लगा हो.

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

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

इनका इस्तेमाल कब करना चाहिए

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

समय-सीमा के हिसाब से फ़ंक्शन में बदलाव करने की भी ज़रूरत होती है, जैसे कि आगे-पीछे स्वाइप करना और स्क्रीन का समय खत्म होना.

हालांकि, इमर्सिव इमेज का इस्तेमाल सिर्फ़ अपने पास करें, क्योंकि उन्हें बनाने के लिए ज़्यादा काम की ज़रूरत होती है और उन्हें डिज़ाइन करने के लिए ज़्यादा समय मिलता है. लाइव कार्ड में ज़्यादातर प्रकार के Glassware के लिए काफ़ी सुविधाएं और क्षमता दी गई हैं.

इमर्सिव बनाना

आप मानक Android गतिविधियों का उपयोग करके इमर्सिव अनुभव पा सकते हैं, लेकिन ग्लास के लिए गतिविधियां लिखते समय इन बातों का ध्यान रखें:

  • 640 × 360 पिक्सल स्क्रीन के लिए अपने यूज़र इंटरफ़ेस (यूआई) डिज़ाइन करें.
  • ऐसे इंटरैक्शन डिज़ाइन करें जो अन्य Android डिवाइसों की गतिविधियों को पोर्ट करने के बजाय, Glass पर काम के हों.
  • कॉम्प्लेक्स टच जेस्चर या यूज़र इंटरफ़ेस (यूआई) के पैटर्न पर भरोसा न करें.
  • नीचे की ओर स्वाइप करने पर हमेशा गतिविधि स्टैक में वापस जाया जाएगा, जब तक कि उपयोगकर्ता टाइमलाइन पर नहीं पहुंच जाते. यह काफ़ी हद तक स्मार्टफ़ोन और टैबलेट पर Android बैक बटन की तरह काम करता है.
  • एक 50 × 50 पिक्सेल आइकॉन बनाएं और अपने Android मेनिफ़ेस्ट में <activity> एलिमेंट की android:icon विशेषता के लिए इसे तय करें. android:label के लिए टेक्स्ट भी बताएं. यह एक से ज़्यादा Glassware से संबद्ध वॉइस या टच मेन्यू आइटम को विकल्प के रूप में आपके Glassware का नाम और आइकॉन दिखाने की अनुमति देता है.
  • अपने <activity> एलिमेंट के लिए android:immersive="true" तय करें, ताकि स्क्रीन के स्लीप मोड और वेक अप होने पर, इमर्सिव व्यू पर फ़ोकस किया जा सके.

मेन्यू बनाना और दिखाना

अगर मेन्यू के अंदर किसी गतिविधि के अंदर स्टैंडर्ड Android मेन्यू एपीआई का इस्तेमाल करके बनाया गया है, तो मेन्यू की स्टाइल सही है.

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

मेन्यू के रिसॉर्स बनाना

मेन्यू के रिसॉर्स बनाने का तरीका, Android के प्लैटफ़ॉर्म जैसा ही है, लेकिन यहां दिए गए दिशा-निर्देशों का पालन करें:

  • हर मेन्यू आइटम के लिए, 50 × 50 पिक्सल वाला मेन्यू आइटम आइकॉन दें. मेन्यू आइकॉन सफ़ेद रंग में पारदर्शी बैकग्राउंड पर होना चाहिए. उदाहरण के तौर पर या इस्तेमाल करने के लिए Glass मेन्यू के आइकॉन डाउनलोड करें.
  • उस छोटे वाक्यांश का इस्तेमाल करें जो कार्रवाई के बारे में जानकारी देता हो और अंग्रेज़ी के वाक्यों के हिसाब से हो. इम्पैक्टिव क्रिया अच्छी तरह से काम करती है (उदाहरण के लिए, "शेयर करें" या "सभी को जवाब दें").

शुरुआत करने के लिए यह तरीका अपनाएं:

<menu xmlns:android="http://schemas.android.com/apk/res/android">
    <item
        android:id="@+id/reply_menu_item"
        android:title="@string/reply"                <!-- imperative verb -->
        android:icon="@drawable/icons_50_reply" />   <!-- white in color on
                                                     transparent background
                                                     -->
</menu>

Android मेन्यू बनाने के बारे में ज़्यादा जानकारी के लिए, Android SDK दस्तावेज़ में मेन्यू विषय देखें.

मेन्यू कॉलबैक मैनेज करना

Activity क्लास में ऐसे कॉलबैक होते हैं जिन्हें आप मेन्यू बनाने, दिखाने, और अलग करने के लिए इस्तेमाल करते हैं:

  1. onCreateOptionsMenu() एक्सएमएल मेन्यू रिसॉर्स को इनफ़्लेट करता है.
  2. onPrepareOptionsMenu() ज़रूरी होने पर मेन्यू आइटम दिखाता या छिपाता है. उदाहरण के लिए, उपयोगकर्ता क्या कर रहे हैं, इनके आधार पर आप अलग-अलग आइटम दिखा सकते हैं.
  3. onOptionsItemSelected() उपयोगकर्ताओं को चुनता है.

    public class MyActivity extends Activity {
    
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
        }
    
        @Override
        public boolean onCreateOptionsMenu(Menu menu) {
            MenuInflater inflater = getMenuInflater();
            inflater.inflate(R.menu.stopwatch, menu);
            return true;
        }
    
        @Override
        public boolean onPrepareOptionsMenu(Menu menu) {
            // Implement if needed
        }
    
        @Override
        public boolean onOptionsItemSelected(MenuItem item) {
            // Handle item selection. Menu items typically start another
            // activity, start a service, or broadcast another intent.
            switch (item.getItemId()) {
                case R.id.stop:
                    startActivity(new Intent(this,
                    StopStopWatchActivity.class));
                    return true;
                default:
                    return super.onOptionsItemSelected(item);
            }
        }
    }
    

मेन्यू दिखाना

मेन्यू देखने के लिए, जब भी ज़रूरत हो, openOptionsMenu() को कॉल करें. जैसे, टचपैड पर टैप करना. नीचे दिए गए उदाहरण, किसी गतिविधि पर टैप करने के जेस्चर का पता लगाते हैं और फिर उसे openOptionsMenu() को कॉल करते हैं.

public class MainActivity extends Activity {
    // ...
    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event) {
          if (keyCode == KeyEvent.KEYCODE_DPAD_CENTER) {
              openOptionsMenu();
              return true;
          }
          return super.onKeyDown(keyCode, event);
    }
}

मेन्यू के लुक और व्यवहार में बदलाव करने के लिए, हेल्पर के कुछ तरीके उपलब्ध हैं. ज़्यादा जानकारी के लिए, MenuUtils देखें.