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