نمط مهمة جارية

يصف هذا الدليل المكونات التي تشكل مهمة جارية في شكل ساعة إيقاف. تعرض المهمة الجارية بطاقة مباشرة في المخطط الزمني طالما يشارك المستخدم في مهمة ويتيح له الانتقال من البطاقة مباشرة إلى البطاقة حيث يحتاج إلى المعلومات.

وخلال هذه العملية، ستتعلم أيضًا نصائح حول التصميم والتطوير والتوزيع، والتي تعتبر مهمة لإنشاء أوانٍ زجاجية خاصة بك.

قبل البدء

إنّ المصدر الكامل لساعة الإيقاف متوفّر على Github. يمكنك استيراده إلى Android Studio قبل البدء، لأن هذا الدليل يشير إليه بكثافة.

  1. من شاشة البدء السريع، انقر على الدفع من إصدار التحكم > Git.
  2. انسخ عنوان URL المستنسخة من ساعة الإيقاف.
  3. الصِق عنوان URL للنسخة في عنوان URL لمستودع Vcs وانقر على نسخ مطابقة.
  4. انقر على نعم في الشاشة التالية.
  5. انقر على OK (حسنًا) في الشاشة التالية.
  6. أنشئ المشروع وشغّله على Glass المرتبطة بالنقر على الزر تشغيل. احرص على التحقق من نموذج README للحصول على تفاصيل الاستدعاء.

ما ستتعرَّف عليه

ستتعلّم كيفية استخدام مكوّنات من حزمة Android SDK لإنشاء الجزء الأكبر من المهمّة الجارية لساعة الإيقاف ثمّ استخدام GDK للوصول إلى تجربة Glass. إليك قائمة بالمواضيع التي ستتعرف عليها:

  • إنشاء عرض مخصص للرسم إلى البطاقة المباشرة
  • إنشاء خدمة لإدارة البطاقة المباشرة
  • توفير قائمة تتيح للمستخدمين إزالة البطاقة المنشورة من المخطط الزمني
  • إعلان مشغِّل الصوت لبدء ساعة الإيقاف من قائمة الصوت الرئيسية

تصميم

قبل البدء في تطويرها، خصص بعض الوقت لتصميم Glassware. ويمنحك إجراء ذلك فكرة جيدة عن مسارات واجهة المستخدم التي تعمل بشكل أفضل على Glass، والأمر الصوتي الذي ستستخدمه، وكيف ستظهر بطاقاتك.

بالطبع، إن تصميم Glassware هو عملية متكررة وبعض الأشياء التي تصممها الآن ستتغير، ولكن من المهم القيام بجزء جيد من هذا العمل في البداية لإنشاء تجربة رائعة.

تدفق واجهة المستخدم

يُعد تصميم تدفق واجهة المستخدم تمرينًا بسيطًا، حيث يتيح لك عرض نظارة Glassware قبل كتابة سطر من الشفرة. ونحن نفعل ذلك طوال الوقت لـ Glassware الذي ننشئه!

لنستعرض معًا عناصر واجهة المستخدم الرئيسية في ساعة الإيقاف، حتى تحصل على فكرة عن كيفية عمل واجهة المستخدم ومدى فائدة هذه العملية عند إنشاء Glassware.

واجهة المستخدم الرئيسية

تتضمن ساعة الإيقاف تدفقًا رئيسيًا واحدًا فقط لأنها تجربة بسيطة إلى حد ما.

عند استدعاء المستخدمين لـ Glassware، يتم تقديم إعلان بيني عد تنازلي مدته 3 ثوانٍ قبل بدء ساعة الإيقاف الفعلية. بعد ذلك، تعد ساعة الإيقاف العد التنازلي حتى يزيلها المستخدم من المخطط الزمني مع عنصر قائمة إيقاف.

بطلب صوتي

يجب اكتشاف أمر صوتي مبكرًا خلال عملية التصميم. تتيح الأوامر الصوتية للمستخدمين إمكانية تشغيل Glassware من قائمة صوت Glass Home (بطاقة الساعة)، إذا لزم الأمر، وتشكّل هذه الأجهزة جزءًا رئيسيًا من كيفية تصميم Glassware.

على سبيل المثال، يعمل الأمر Post an update (نشر تحديث) بشكل جيد في نموذج تنشيط ونسيان المعلومات، حيث يتحدث المستخدمون النص ويعالجه Glassware بدون أي تدخّل إضافي من المستخدم. وهذا يسمح للمستخدمين بالعودة إلى ما يفعلونه بسرعة.

ومن ناحية أخرى، بالنسبة إلى شيء مثل تشغيل لعبة، ستحتاج عادةً إلى توجيه المستخدمين إلى شاشة بداية بحيث يمكنهم الحصول على توجيه أولاً. ونظرًا لأن هذا الأمر الصوتي من المرجح أن يؤدي إلى خوض تجربة غامرة، يمكنك توقع موافقة المستخدمين على مشاهدة شاشات وقوائم إضافية لبدء اللعبة. ويؤدي إدخال المستخدمين في تجربة الألعاب على الفور بعد الطلب الصوتي عادةً إلى تجربة سيئة للألعاب.

تستخدم ساعة الإيقاف الأمر الصوتي بدء ساعة إيقاف. بعد أن يستدعي المستخدمون الأمر الصوتي، تبدأ ساعة الإيقاف فورًا بعد شاشة بينية قصيرة عد تنازلي، وهذه الطريقة أفضل من تقديم عنصر قائمة للبدء. بالنسبة إلى المهام الجارية، ستركّز بشكل عام على توجيه المستخدمين إلى التجربة في أسرع وقت ممكن، حيث يكون ذلك مناسبًا.

تنسيقات البطاقة

سواء كنت تنشئ بطاقات تفاعلية أو بطاقات تفاعلية، يجب استخدام تنسيق CardBuilder أو تنسيقات XML متى أمكن.

في كثير من الأحيان، سيلزمك إنشاء تنسيق خاص بك، لذلك اتبع إرشادات واجهة المستخدم للحصول على أفضل إطلالة في Glass.

تتبع ساعة الإيقاف الإرشادات العامة للتنسيق، ولكنها تحتوي على تنسيقات مخصصة لواجهة المستخدم تستخدم مكونات Android القياسية مثل طرق العرض والتنسيقات.

التطوير

لتطوير البطاقات المباشرة، يمكنك استخدام الأدوات نفسها التي تستخدمها لتطوير Android لإنشاء الجزء الأكبر من Glassware ثم استخدام واجهات برمجة التطبيقات في إضافة GDK للدخول إلى الوظائف الخاصة بـ Glass، مثل البطاقات المباشرة والأوامر الصوتية.

ستستخدم مكونات Android الشائعة بشكل متكرر لإنشاء Glassware، ولكن ضع في اعتبارك أن بعض المفاهيم قد تكون مختلفة في بعض الأحيان. على سبيل المثال، يمكنك عرض البطاقات المباشرة وإدارتها باستخدام إحدى خدمات Android، وهي طريقة غير معتادة لاستخدام الخدمات في تطبيقات Android التقليدية. ومثال آخر على ذلك أن البطاقات المباشرة لا تملك سياق واجهة المستخدم الخاص بها، لذا يجب أن تستخدم نشاط واجهة يعرض قائمة للبطاقة المباشرة. ستتعرف في هذا الدليل على كيفية إنشاء هذه المكوّنات.

تستعرض بقية أقسام التطوير كيفية تنظيم ساعة التوقيت والمكونات الرئيسية للمشروع التي استوردتها في وقت سابق. من المفيد الآن تثبيت Android Studio بحيث يمكنك المتابعة. يتم تعليق شفرة المصدر نفسها، ولذلك يستعرض هذا القسم الغرض الرئيسي من كل ملف بالإضافة إلى نصائح مفيدة يمكنك تطبيقها على Glassware.

بطلب صوتي

يمكنك إنشاء أوامر صوتية باستخدام ملف مورد XML يحدد الأمر الذي تستخدمه، ثم من خلال تحديد مورد XML في ملف AndroidManifest.xml.

الملفات التالية مرتبطة بالأمر الصوتي لساعة الإيقاف:

  • res/xml/voice_trigger_start.xml: يذكر هذا الخيار الطلب الصوتي الذي تريد استخدامه.
  • AndroidManifest.xml: يعلن هذا الإعداد عن خدمة البطاقات المباشرة للبدء منطوق الطلب الصوتي.

عرض العد التنازلي

تعرض ساعة التوقف عدًا تنازليًا قبل تسجيل الوقت فعليًا لتنبيه المستخدمين بأن الوقت على وشك الانتهاء.

الملفات التالية مرتبطة بطريقة عرض العد التنازلي:

  • res/layout/card_countdown.xml - لتحديد تنسيق عارض العد التنازلي
  • src/com/google/android/glass/sample/stopwatch/CountDownView.java- تحديد عرض العد التنازلي.

عرض الكرونومتر

هذا هو العرض الرئيسي لساعة الإيقاف. ويعرض الوقت المنقضي منذ اكتمال الإعلان البيني. الملفات التالية مرتبطة بعرض chronometer:

  • 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 عن الأشياء التالية:

  • رمز Glassware واسمه. يعرض تطبيق Glass هذه المعلومات على قائمة اللمس الرئيسية في حالة استجابة أكثر من جهاز Glassware لأمر صوتي واحد.
  • جميع الخدمات والأنشطة المرتبطة بساعة الإيقاف. وهذا مطلوب لكي يعرف النظام كيفية بدء مكونات Glassware.
  • الأمر الصوتي وفلتر intent يبدأ تشغيل خدمة البطاقة المباشرة عند نطق الطلب الصوتي.
  • رمز إصدار لـ Glassware. يجب تحديث هذا الرمز (وعادةً ما يكون اسم الإصدار أيضًا) في كل مرة يتم فيها تحميل إصدار جديد من ملف APK هذا إلى MyGlass.