الگوی کار در حال انجام

این راهنما اجزایی را توصیف می کند که یک کار در حال انجام را در قالب یک کرونومتر تشکیل می دهند. یک کار در حال انجام یک کارت زنده را تا زمانی که کاربر درگیر یک کار است در جدول زمانی نمایش می دهد و به آنها اجازه می دهد تا در صورت نیاز به اطلاعات از کارت زنده بپرند و از آن خارج شوند.

در طول مسیر، نکات طراحی، توسعه و توزیع را نیز یاد خواهید گرفت که برای ساختن ظروف شیشه ای خود مهم هستند.

قبل از اینکه شروع کنی

منبع کامل کرونومتر در Github موجود است. قبل از شروع آن را به اندروید استودیو وارد کنید، زیرا این راهنما به شدت به آن اشاره دارد.

  1. از صفحه شروع سریع روی Check out from version Control > Git کلیک کنید.
  2. URL کلون را از کرونومتر کپی کنید.
  3. URL کلون را در URL مخزن Vcs قرار دهید و روی Clone کلیک کنید.
  4. در صفحه زیر روی Yes کلیک کنید.
  5. در صفحه زیر روی OK کلیک کنید.
  6. پروژه را بسازید و با کلیک بر روی دکمه Play آن را روی شیشه متصل خود اجرا کنید. حتماً README نمونه را برای جزئیات فراخوان بررسی کنید.

چیزی که یاد خواهید گرفت

شما یاد خواهید گرفت که چگونه از اجزای Android SDK برای ساخت بخش عمده ای از کار در حال انجام Stopwatch و سپس GDK برای اتصال به تجربه Glass استفاده کنید. در اینجا لیستی از موضوعاتی است که در مورد آنها یاد خواهید گرفت:

  • ساخت یک نمای سفارشی برای کشیدن کارت زنده
  • ایجاد یک سرویس برای مدیریت کارت زنده
  • ارائه منویی که به کاربران امکان می دهد کارت زنده را از جدول زمانی حذف کنند
  • اعلام یک ماشه صوتی برای شروع کرونومتر از منوی صوتی اصلی

طرح

قبل از شروع توسعه، کمی زمان بگذارید و ظروف شیشه ای خود را طراحی کنید. انجام این کار به شما ایده خوبی می‌دهد که چه جریان‌های رابط کاربری در Glass بهترین عملکرد را دارند، از چه فرمان صوتی استفاده می‌کنید و کارت‌های شما چگونه به نظر می‌رسند.

البته، طراحی Glassware یک فرآیند تکراری است و برخی از چیزهایی که اکنون طراحی می‌کنید تغییر خواهند کرد، اما انجام بخش خوبی از این کار در ابتدا برای ایجاد یک تجربه عالی بسیار مهم است.

جریان UI

طراحی جریان UI یک تمرین ساده است و به شما امکان می دهد قبل از نوشتن یک خط کد، Glassware خود را تجسم کنید. ما همیشه این کار را برای ظروف شیشه ای که می سازیم انجام می دهیم!

بیایید به عناصر اصلی UI کرونومتر بپردازیم، بنابراین ایده ای از نحوه عملکرد رابط کاربری و اینکه این فرآیند در هنگام ایجاد Glassware خود چقدر می تواند مفید باشد، به دست آورید.

رابط کاربری اصلی

کرونومتر فقط یک جریان اصلی دارد، زیرا یک تجربه نسبتاً ساده است.

هنگامی که کاربران Glassware را فراخوانی می کنند، قبل از شروع کرونومتر واقعی، یک شمارش معکوس بینابینی 3 ثانیه ای به آنها ارائه می شود. سپس کرونومتر تا زمانی که کاربر آن را با یک آیتم منوی توقف از جدول زمانی حذف کند، شمارش می کند.

دستور صوتی

شما باید یک فرمان صوتی را در مراحل اولیه طراحی کشف کنید. فرمان‌های صوتی به کاربران اجازه می‌دهند در صورت نیاز، Glassware را از منوی صوتی Glass Home (کارت ساعت) شروع کنند و بخش عمده‌ای از نحوه طراحی Glassware است.

به عنوان مثال، دستور Post an update به خوبی در مدل آتش و فراموش کردن کار می کند، جایی که کاربران متن را می گویند و Glassware آن را بدون هیچ گونه دخالت بیشتر کاربر پردازش می کند. این به کاربران اجازه می دهد تا به سرعت به کاری که انجام می دهند بازگردند.

از سوی دیگر، برای چیزی مانند بازی یک بازی ، معمولاً می خواهید کاربران را روی یک صفحه نمایش اسپلش بفرستید تا آنها بتوانند ابتدا جهت گیری کنند. از آنجایی که این فرمان صوتی به احتمال زیاد غوطه وری را راه اندازی می کند، می توانید انتظار داشته باشید که کاربران با دیدن صفحه ها و منوهای اضافی برای شروع بازی مشکلی نداشته باشند. پرتاب کردن سریع کاربران به یک تجربه بازی بلافاصله پس از فرمان صوتی معمولاً یک تجربه بد برای بازی ها است.

کرونومتر از فرمان صوتی شروع یک کرونومتر استفاده می کند. پس از اینکه کاربران فرمان صوتی را فراخوانی کردند، کرونومتر بلافاصله پس از یک صفحه شمارش معکوس کوتاه و بینابینی شروع می شود، که بهتر از ارائه یک آیتم منو برای شروع است. برای کارهای در حال انجام، عموماً می‌خواهید روی دستیابی کاربران به تجربه در سریع‌ترین زمان ممکن تمرکز کنید، جایی که منطقی است.

چیدمان کارت

چه در حال ساخت کارت های غوطه ور یا زنده باشید، در صورت امکان باید از طرح بندی CardBuilder یا XML استفاده کنید.

اغلب اوقات، شما همچنان نیاز دارید که طرح‌بندی خود را بسازید، بنابراین دستورالعمل‌های رابط کاربری ما را دنبال کنید تا بهترین ظاهر ظروف شیشه‌ای را داشته باشید.

کرونومتر از دستورالعمل‌های طرح‌بندی کلی پیروی می‌کند، اما دارای طرح‌بندی‌های رابط کاربری سفارشی با استفاده از اجزای استاندارد Android مانند نماها و طرح‌بندی‌ها است.

توسعه دهید

برای توسعه کارت‌های زنده، از همان ابزارهایی استفاده می‌کنید که برای توسعه Android استفاده می‌کنید تا بخش عمده‌ای از Glassware را بسازید و سپس از APIها در افزونه GDK برای دسترسی به عملکردهای خاص Glass، مانند کارت‌های زنده و دستورات صوتی استفاده کنید.

شما اغلب از اجزای رایج اندروید برای ایجاد Glassware استفاده می کنید، اما به خاطر داشته باشید که برخی از مفاهیم گاهی اوقات متفاوت هستند. به عنوان مثال، شما کارت های زنده را با یک سرویس Android رندر و مدیریت می کنید، که روش معمولی برای استفاده از خدمات در برنامه های سنتی اندروید نیست. مثال دیگر این است که کارت‌های زنده دارای زمینه رابط کاربری خود نیستند، بنابراین باید از یک فعالیت پوسته استفاده کنید که منویی را برای کارت زنده نمایش می‌دهد. بعداً در این راهنما خواهید آموخت که چگونه این اجزاء ساخته می شوند.

بقیه بخش‌های Develop به چگونگی ساختار کرونومتر و اجزای اصلی پروژه که قبلاً وارد کرده‌اید می‌پردازد. مفید است که 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 - نمای شمارش معکوس را تعریف می کند.

نمای کرنومتر

این نمای اصلی کرونومتر است. مدت زمان سپری شده از زمان تکمیل بینابینی شمارش معکوس را نشان می دهد. فایل های زیر با نمای زمان سنج مرتبط هستند:

  • 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 - کارت زنده کرونومتر را مدیریت می کند و چرخه عمر سرویس را مدیریت می کند.

کارت‌های زنده زمینه UI خود را ندارند که منو در آن نمایش دهند، زیرا رابط‌های کاربری خود را در چارچوب خط زمانی ارائه می‌کنند.

برای دور زدن این محدودیت، یک فعالیت شفاف ایجاد می‌کنید که در بالای جدول زمانی ظاهر می‌شود و بلافاصله پس از ضربه زدن کاربران روی کارت زنده، منوی آن فعالیت را نمایش می‌دهید.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java - فعالیت منوی نیمه شفاف را اعلام می کند که بلافاصله پس از مشاهده فعالیت، منو را نشان می دهد.
  • res/values/styles.xml - سبک شفافی را که در منو اعمال می شود، تعریف می کند.
  • res/menu/stopwatch.xml - منبع منو که حاوی آیتم منوی توقف اجباری است.

مانیفست اندروید

فایل AndroidManifest.xml اجزای اصلی Glassware شما را توصیف می کند تا سیستم بداند چگونه آن را اجرا کند. مانیفست برای Charades موارد زیر را اعلام می کند:

  • نماد و نام Glassware. اگر بیش از یک Glassware به یک فرمان صوتی پاسخ دهند، Glass این اطلاعات را در منوی لمسی اصلی نمایش می دهد.
  • تمام خدمات و فعالیت های مرتبط با کرونومتر. این برای اینکه سیستم بداند چگونه اجزای Glassware خود را راه اندازی کند، لازم است.
  • فرمان صوتی و یک فیلتر هدف که سرویس کارت زنده را هنگام صحبت کردن فرمان صوتی شروع می کند.
  • کد نسخه برای Glassware. هر بار که نسخه جدیدی از این APK در MyGlass آپلود می شود، این کد (و معمولاً نام نسخه نیز) باید به روز شود.