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