קו ביטול הנעילה של המשימה המתמשכת

המדריך הזה מתאר את הרכיבים שמהם מורכבת משימה מתמשכת בצורת שעון עצר. אם המשתמש פעיל במשימה, הוא מציג כרטיס פעיל בציר הזמן כל עוד המשתמש פעיל במשימה, ומאפשר לו להיכנס ולצאת מהכרטיס הפעיל במקרה הצורך.

בדרך, תלמדו גם טיפים לעיצוב, לפיתוח ולהפצה שחשובים לבניית כלי ה-Glass שלכם.

לפני שמתחילים

המקור המלא של שעון העצר זמין ב-GitHub. כדאי לייבא אותו ל-Android Studio לפני שמתחילים, כי המדריך הזה מתייחסות אליו בעיקר.

  1. במסך 'התחלה מהירה', לוחצים על יציאה מניהול גרסאות > Git.
  2. מעתיקים את כתובת ה-URL של השכפול משעון העצר.
  3. מדביקים את כתובת ה-URL של השכפול בכתובת ה-URL של המאגר של Vcs ולוחצים על שכפול.
  4. לוחצים על כן במסך הבא.
  5. לוחצים על OK במסך הבא.
  6. בונים את הפרויקט ומריצים אותו ב-Glass המחובר על ידי לחיצה על הלחצן Play. חשוב לבדוק את פרטי ההפעלה בREADME של הדוגמה.

מה תלמדו

תלמדו גם איך להשתמש ברכיבים מ-Android SDK כדי לבנות את רוב המשימה המתמשכת של שעון העצר, ולאחר מכן את ה-GDK כדי להתחבר לחוויית ה-Glass. הנה רשימה של נושאים שתלמדו:

  • יצירת תצוגה בהתאמה אישית לשרטוט לכרטיס הפעיל
  • יצירת שירות לניהול הכרטיס הפעיל
  • הצגת תפריט שמאפשר למשתמשים להסיר את הכרטיס הפעיל מציר הזמן
  • הצהרה על טריגר קולי להפעלת שעון העצר מתפריט הקול הראשי

העיצוב

לפני שתתחילו לפתח, קחו קצת זמן ועצבו את ה-Glassware. כך תוכלו להבין אילו תהליכים בממשק המשתמש פועלים בצורה הטובה ביותר ב-Glass, באיזו פקודה קולית תשתמשו ואיך הכרטיסים שלכם ייראו.

כמובן שעיצוב Glassware הוא תהליך איטרטיבי, וחלק מהדברים שמעצבים עכשיו ישתנו, אבל חשוב לבצע חלק משמעותי מהעבודה הזו בהתחלה.

תהליך עבודה בממשק המשתמש

עיצוב התהליך בממשק המשתמש הוא תרגיל פשוט שמאפשר לכם להציג באופן ויזואלי את ה-Glassware לפני שתכתבו שורת קוד. כל הזמן אנחנו עובדים על כלי ה-Glass שאנחנו בונים.

בואו נעבור על הרכיבים העיקריים בממשק המשתמש של שעון העצר, כדי שתקבלו מושג לגבי אופן הפעולה של ממשק המשתמש ועד כמה התהליך יכול להועיל כשיוצרים כלי Glassware.

ממשק המשתמש הראשי

שעון העצר כולל רק תהליך עיקרי אחד, כי זו חוויה פשוטה למדי.

כשמשתמשים מפעילים את Glassware, מוצגת להם מודעת מעברון של ספירה לאחור של 3 שניות לפני ששעון העצר מתחיל לפעול. לאחר מכן שעון העצר נספר עד שהמשתמש מסיר אותו מציר הזמן באמצעות האפשרות Stop בתפריט.

פקודה קולית

תכננו את הפקודה הקולית בשלב מוקדם בתהליך התכנון. הפקודות הקוליות מאפשרות למשתמשים להפעיל את Glassware מהתפריט הקולי של Glass Home (כרטיס השעון), לפי הצורך, והן חלק מרכזי באופן התכנון של Glassware.

לדוגמה, הפקודה Post an update (פרסום עדכון) פועלת היטב במודל אש ושכח, שבו המשתמשים אומרים טקסט וה-Glassware מעבדים אותו ללא התערבות נוספת של המשתמש. כך המשתמשים יכולים לחזור במהירות למה שהם עושים.

לעומת זאת, בפעולות כמו Play a game, בדרך כלל רצוי להפנות את המשתמשים למסך פתיחה כדי שיוכלו להתמצא קודם. מכיוון שסביר להניח שהפקודה הקולית הזו תשתפר, המשתמשים יספיקו לראות מסכים ותפריטים נוספים כדי להתחיל את המשחק. השלכה של המשתמשים מיד לאחר הפקודה הקולית היא בדרך כלל חוויה לא טובה במשחקים.

שעון העצר משתמש בפקודה הקולית הפעלת שעון עצר. אחרי שהמשתמשים מפעילים את הפקודה הקולית, שעון העצר מתחיל לפעול מיד אחרי מסך ספירה לאחור קצרצר. עדיף מאשר להציג אפשרות להתחיל בתפריט. במשימות שוטפות, בדרך כלל כדאי להתמקד בשגרת המשתמשים לחוויה בהקדם האפשרי, כשהדבר הגיוני.

פריסות כרטיסים

מומלץ להשתמש ב-CardBuilder או בפריסות XML כשאפשר, גם אם אתם יוצרים מקומות מוצלחים וגם אם אתם רוצים ליצור כרטיסים בשידור חי.

לעיתים קרובות עדיין תצטרכו ליצור פריסה משלכם, לכן חשוב לפעול בהתאם להנחיות בממשק המשתמש כדי לקבל את ה-Glassware שהכי ייראו.

שעון העצר תואם להנחיות הפריסה הכלליות, אבל יש לו פריסות מותאמות אישית של ממשק המשתמש באמצעות רכיבים סטנדרטיים של Android כמו תצוגות ופריסות.

פיתוח

כדי לפתח כרטיסים פעילים, משתמשים באותם כלים שמשמשים לפיתוח של Android כדי לבנות את רוב מוצרי ה-Glassware, ולאחר מכן משתמשים בממשקי ה-API שבתוסף GDK כדי לגשת לפונקציונליות ספציפית ל-Glass, כמו כרטיסים פעילים ופקודות קוליות.

לעיתים קרובות משתמשים ברכיבי Android נפוצים כדי ליצור Glassware, אבל חשוב לזכור שלפעמים יש מושגים שונים. לדוגמה, אתם מעבדים ומנהלים כרטיסים פעילים באמצעות שירות Android, וזו לא הדרך שבה משתמשים בשירותים באפליקציות רגילות ל-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 - ניהול הכרטיס הפעיל של שעון העצר וטיפול במחזור החיים של השירות.

לכרטיסים פעילים אין הקשר ממשק משתמש משלהם שבו אפשר להציג תפריט, כי הם מעבדים את ממשק המשתמש שלהם בהקשר של ציר הזמן.

כדי לעקוף את המגבלה הזו, יוצרים פעילות שקופה שמופיעה מעל ציר הזמן ומציגה את תפריט הפעילות מיד אחרי שהמשתמשים מקישים על הכרטיס הפעיל.

  • src/com/google/android/glass/sample/stopwatch/MenuActivity.java – הצהרה על פעילות התפריט השקופה, שמוצגת מיד התפריט כשניתן לראות את הפעילות.
  • res/values/styles.xml - מגדיר את הסגנון השקוף שיחול על התפריט.
  • res/menu/stopwatch.xml - משאב התפריט שמכיל את אפשרות החובה Stop בתפריט.

מניפסט ל-Android

בקובץ AndroidManifest.xml מתוארים הרכיבים העיקריים של ה-Glassware, כדי שהמערכת תדע איך להריץ אותם. במניפסט של Charades מופיעים הפרטים הבאים:

  • הסמל והשם של ה-Glassware. Glass מציג את המידע הזה בתפריט המגע הראשי אם יותר מ-Glassware אחד מגיב לאותה פקודה קולית.
  • כל השירותים והפעילויות שמשויכים לשעון העצר. הפעולה הזו נדרשת כדי שהמערכת תוכל לדעת איך להפעיל את הרכיבים של הזכוכית.
  • הפקודה הקולית ומסנן Intent שמפעילים את שירות הכרטיס הפעיל כשהפקודה הקולית נאמרת.
  • קוד גרסה של ה-Glassware. יש לעדכן את הקוד הזה (ובדרך כלל גם את שם הגרסה) בכל פעם שמעלים גרסה חדשה של ה-APK הזה ל-MyGlass.