LiveCard

נוסף ברמת API XE12
כיתה ציבורית

LiveCard

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

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

חייו של כרטיס פעיל

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

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

הצגת תוכן בכרטיס פעיל

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

ניפוח של פריסה באמצעות תצוגות מרוחקות

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

     LiveCard liveCard; // initialized elsewhere
     RemoteViews views = new RemoteViews(context.getPackageName(),
             R.layout.my_layout);
     liveCard.setViews(views);
 

חשוב לדעת שאחרי שכרטיס שמבוסס על RemoteViews מתפרסם, השינויים בתצוגות המתבצעים על ידי הקריאה לשיטות set* לא תהיה גלויה בציר הזמן, אלא אם תתבצע קריאה מפורשת setViews בכרטיס הפעיל כדי לאלץ עדכון.

משורטט ישירות על משטח הכרטיס הפעיל

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

     LiveCard liveCard; // initialized elsewhere
     liveCard.setDirectRenderingEnabled(true);
     liveCard.getSurfaceHolder().addCallback(callback);
 

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

חשוב לשים לב ששיטות הקריאה החוזרת של בעלי הפלטפורמה לא מופעלות בשרשור הראשי של ממשק המשתמש.

טיפול בבחירת כרטיסים פעילים

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

     LiveCard liveCard; // initialized elsewhere
     Intent intent = new Intent(context, MyActivity.class);
     liveCard.setAction(PendingIntent.getActivity(context, 0, intent, 0));
 

כרטיסים פעילים ללא פעולה לא יוצגו.

מחלקות מקוננות
טיפוסים בני מנייה (enum) LiveCard.PublishMode ההגדרה הזו קובעת איך הכרטיס יוצג למשתמש בעת הפרסום.
קבועים
String EXTRA_FROM_LIVECARD_VOICE תוספת בוליאנית שמציינת Intent הופעלה באמצעות קול מכרטיס פעיל.
בנייה ציבורית
LiveCard(הקשר הקשר, תג מחרוזת)
שיטות ציבוריות
LiveCard
attach(שירות שירות)
SurfaceHolder
בוליאני
ריק
ריק
LiveCard
setAction(Intent של PendingIntent)
LiveCard
setDirectRenderingEnabled(הפעלה בוליאנית)
LiveCard
setRenderer(כלי לרינדור GlRenderer)
LiveCard
setViews(תצוגות RemoteViews)
LiveCard
setVoiceActionEnabled(הפעלה בוליאנית)
ריק
שיטות שעברו בירושה

קבועים

נוספה ברמת API XE21

ציבורי סטטי סופי מחרוזת EXTRA_FROM_LIVECARD_VOICE

תוספת בוליאנית שמציינת Intent הופעלה באמצעות קול מכרטיס פעיל.

ערך קבוע: "android.intent.extra.EXTRA_FROM_LIVECARD"

בנייה ציבורית

נוסף ברמת API XE16

ציבורי LiveCard (הקשר הקשר, תג מחרוזת)

יצירת כרטיס פעיל עם התג הנתון.

שימו לב שכרטיס מופיע רק אחרי שמפרסמים אותו באופן מפורש.

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

שיטות ציבוריות

נוסף ברמת API XE16

ציבורי LiveCard צירוף קובץ (שירות)

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

השירות יוסר אוטומטית מהחזית הפרסום של הכרטיס הפעיל בוטל.

פרמטרים
שירות יוגדר להרצה ב-foregound
החזרות
  • האובייקט הזה לשרשורת שיחות
נוסף ברמת API XE12

ציבורי SurfaceHolder getSurfaceHolder ()

כשעיבוד ישיר מופעל, מעניק גישה ל-Surface שעליו יש לצייר.

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

שימו לב גם שקריאות חוזרות (callback) לאובייקט הזה לא מתבצעות בשרשור של ממשק המשתמש.

נוסף ברמת API XE12

ציבורי בוליאני isPublished ()

הפונקציה מחזירה את הערך true אם הכרטיס מפורסם כרגע.

נוסף ברמת API XE16

ציבורי ריק ניווט ()

שליחת המשתמש לכרטיס הזה בציר הזמן.

קליעות
IllegalStateException אם הכרטיס לא פורסם
נוסף ברמת API XE12

ציבורי ריק פרסום (LiveCard.PublishModeמצב)

פרסום הכרטיס הזה בציר הזמן.

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

פרמטרים
מצב קובע איך הכרטיס יוצג למשתמש
נוסף ברמת API XE12

ציבורי LiveCard setAction (PendingIntent Intent)

שינוי הפעולה שננקטת כשהכרטיס נבחר.

פרמטרים
Intent יופעל כשהכרטיס ייבחר
החזרות
  • האובייקט הזה לשרשורת שיחות
נוסף ברמת API XE12

ציבורי LiveCard setDirectRenderingEnabled (הפעלה בוליאנית)

מאפשר רינדור ישיר.

במצב הזה, צריך לעבד את התוכן בכרטיס ישירות אל Surface.

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

פרמטרים
enable האם צריך להפעיל עיבוד ישיר
החזרות
  • האובייקט הזה לשרשורת שיחות
ראו בנוסף
נוסף ברמת API XE16

ציבורי LiveCard setRenderer (GlRenderer כלי לרינדור)

הוספת כלי לעיבוד מבוסס OpenGL.

כלי הרינדור ישמש לשרטוט על משטח המבוקש (באופן אוטומטי) להעברה ישירה ברינדור.

החזרות
  • האובייקט הזה לשרשורת שיחות
נוסף ברמת API XE12

ציבורי LiveCard setViews (RemoteViews)

שינוי RemoteViews המשמש להצגת ממשק המשתמש של הכרטיס הזה.

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

לשיטה הזו אין השפעה אם מופעל רינדור ישיר.

פרמטרים
צפיות ממשק המשתמש של הכרטיס
החזרות
  • האובייקט הזה לשרשורת שיחות
נוספה ברמת API XE21

ציבורי LiveCard setVoiceActionEnabled (הפעלה בוליאנית)

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

כשההגדרה מופעלת, הכרטיס מאזין ל-"ok Gor" כשמוצגת בציר הזמן, וגם כשביטוי השמירה הזה נאמר, מפעיל את הכוונה שהוגדרה על ידי אמצעי תשלום אחד (setAction(PendingIntent)). אם הכוונה מתחילה פעילות שכוללת תפריטים קוליים לפי הקשר, הפעילות תבוצע באופן אוטומטי לפתוח את האפשרויות הראשונות בתפריט (כלומר, כאילו נאמר "ok בלי זכוכית" במהלך הפעילות). עצמו). התכונה הזו מאפשרת להטמיע תפריטים קוליים לפי הקשר בכרטיסים פעילים.

פרמטרים
enable האם צריך להפעיל את הפעולה הקולית
החזרות
  • האובייקט הזה לשרשורת שיחות
ראו בנוסף
נוסף ברמת API XE12

ציבורי ריק ביטול הפרסום ()

ביטול הפרסום של הכרטיס הזה מציר הזמן.