ממשקי ה-API של שכבת הנתונים ב-Wear OS מורכבים מכמה סוגים שונים של לקוחות, שימושיים לסוגים שונים של נתונים ולתנאי קישוריות שונים.
בדף הזה מוסבר על כל סוג של לקוח, ויש בו טבלה שמשווה בין היכולות של הלקוחות השונים. בעזרת המידע הזה, תוכלו לבחור את קבוצת סוגי הלקוחות שהכי מתאימה לאפליקציה שלכם.
מתי כדאי להשתמש ב-Data Layer API
משתמשים ב-Data Layer API כשהאינטראקציה היא רק בין השעון המקומי לבין הטלפון המקומי. דוגמאות מפורטות מופיעות במאמר בנושא תרחישי שימוש נפוצים בשכבת הנתונים.
לקוח נתונים
אובייקט DataClient מאפשר לכם לקרוא או לכתוב ב-DataItem או ב-Asset:
כל
DataItemהוא יחידת מידע שמשודרת ומסונכרנת בין כל המכשירים הסמוכים שנמצאים בבעלות המשתמש.DataItemנשמר באופן קבוע, והמכשיר יכול לקרוא את התוכן שלו עד שמפריט הנתונים נמחק.
Assetמיועד למטענים גדולים יותר של נתונים, כמו תמונות או קובצי מדיה.
לקוח הודעות
אובייקט MessageClient יכול לשלוח הודעות, והוא מתאים לקריאות לפרוצדורות מרוחקות (RPC), למשל לשימוש במכשיר Wear OS כדי לשלוט בגרסה של האפליקציה שמותקנת במכשיר שניתן להחזיק ביד.
הודעות מצוינות לבקשות חד-כיווניות באמצעות sendMessage(), או למודל תקשורת של בקשה ותגובה באמצעות sendRequest(). בניגוד ללקוחות נתונים, לקוחות הודעות צריכים שהצמתים יהיו מחוברים לרשת כדי לשלוח הודעות.
השיטה sendMessage() נועדה לספק את המידע הכי מדויק לצומת המרוחק, אבל היא לא כוללת מנגנון מובנה לניסיון חוזר. אם המכשיר היעד מתנתק לפני שההעברה ברשת מתחילה, השיטה מחזירה TARGET_NODE_NOT_CONNECTED.
Channel client
אובייקט ChannelClient מספק תקשורת מבוססת-זרם בין מכשירים. ערוץ הוא צינור תקשורת דו-כיווני בין שני צמתים, והוא שימושי בתרחישי שימוש כמו הבאים:
- העברת קבצי נתונים בין שני מכשירים מחוברים או יותר, כשאין חיבור לאינטרנט.
ChannelClientחוסך מקום בדיסק לעומתDataClient, שיוצר עותק של הנכסים במכשיר המקומי לפני שהוא מסנכרן עם מכשירים מחוברים. - שליחה אמינה של קובץ גדול מדי לשליחה באמצעות
MessageClient. - העברת נתונים שמוזרמים, כמו נתונים שנאספים בזיהוי קולי מהמיקרופון.
אחרי שפותחים ערוץ, אפשר לשלוח ולקבל נתונים בזרם רציף של בייטים, ולא ביחידות נפרדות של DataItem שנדרשות ללקוחות נתונים.
אתם אחראים לניהול זרימת הנתונים ולשמירה על עקביות הנתונים. לקוחות של ערוצים לא מציעים את אותה רמה של סנכרון נתונים אוטומטי כמו לקוחות של נתונים.
השוואה בין לקוחות
בטבלה הבאה מוצגת השוואה בין היכולות של הלקוחות השונים:
| סוג הלקוח | התמדת נתונים | האם יש תמיכה בנתונים גדולים מ-100 KB? | הרשת שבה רוצים להשתמש | עובד באופן לא מקוון? |
|---|---|---|---|---|
| לקוח נתונים | הנתונים נשמרים ללא הגבלת זמן | כן (שימוש באובייקטים של Asset) |
עדיפות ל-Bluetooth. הנתונים מגובים בענן. אם יש Bluetooth, הגיבוי הזה מתבצע באופן אסינכרוני. | כן, גם לקריאה וגם לכתיבה |
| לקוח הודעות | אין התמדה ואין ניסיון חוזר | לא | החיבור המועדף הוא Bluetooth, אבל אפשר להשתמש ב-Wi-Fi אם זה סוג החיבור היחיד שזמין | לא |
| Channel client | אין שמירה על החיבור (מבוסס-חיבור) | כן | החיבור המועדף הוא Bluetooth, אבל אפשר להשתמש ב-Wi-Fi אם זה סוג החיבור היחיד שזמין | לא |
מידע נוסף על עבודה עם ממשקי API של שכבת הנתונים זמין במדריך בנושא סנכרון נתונים. במאמר חיסכון באנרגיה מוסבר איך לחסוך באנרגיה כשמשתמשים בממשקי Data Layer API.