با مجموعهها، منظم بمانید
ذخیره و طبقهبندی محتوا براساس اولویتهای شما.
APIهای لایه داده Wear OS از چندین نوع کلاینت مختلف تشکیل شده اند که برای انواع مختلف داده ها و در شرایط اتصال مختلف مفید هستند.
این صفحه هر نوع کلاینت را معرفی می کند و شامل جدولی است که قابلیت های کلاینت های مختلف را مقایسه می کند. با استفاده از این اطلاعات، میتوانید مجموعهای از انواع کلاینتها را انتخاب کنید که برای برنامه شما بهترین کار را دارند.
هر DataItem واحدی از اطلاعات است که در تمام دستگاههای نزدیکی که کاربر در اختیار دارد پخش و همگامسازی میشود. یک DataItem به طور مداوم ذخیره می شود و دستگاه شما می تواند محتویات آن را بخواند تا زمانی که مورد داده حذف شود.
Asset برای محموله های داده بزرگتر، مانند تصاویر یا فایل های رسانه ای در نظر گرفته شده است.
مشتری پیام
یک شی MessageClient می تواند پیام ارسال کند و برای تماس های رویه از راه دور (RPC) خوب است، مانند استفاده از دستگاه Wear OS برای کنترل نسخه برنامه شما که روی دستگاه دستی نصب شده است.
پیام ها برای درخواست های یک طرفه با استفاده از sendMessage() یا برای مدل ارتباط درخواست و پاسخ با استفاده از sendRequest() عالی هستند. برخلاف کلاینت های داده، کلاینت های پیام برای ارسال پیام به گره ها نیاز دارند که به شبکه متصل شوند.
متد sendMessage() بهترین تلاش برای تحویل به گره راه دور است و هیچ مکانیزم داخلی برای امتحان مجدد ندارد. اگر دستگاه هدف قبل از شروع انتقال شبکه قطع شود، روش TARGET_NODE_NOT_CONNECTED را برمیگرداند.
مشتری کانال
یک شی ChannelClient ارتباط جریان محور را بین دستگاه ها فراهم می کند. کانال یک لوله ارتباطی دو طرفه بین دو گره است که برای موارد استفاده مانند موارد زیر مفید است:
وقتی اینترنت در دسترس نیست، فایل های داده را بین دو یا چند دستگاه متصل منتقل کنید. ChannelClient فضای دیسک را روی DataClient ذخیره میکند، که قبل از همگامسازی با دستگاههای متصل، یک کپی از داراییها در دستگاه محلی ایجاد میکند.
با استفاده از MessageClient فایلی را که برای ارسال بسیار بزرگ است به طور قابل اعتماد ارسال کنید.
دادههای پخششده، مانند دادههای صوتی را از میکروفون منتقل کنید.
پس از باز کردن یک کانال، میتوانید دادهها را بهجای واحدهای گسسته DataItem که مشتریان داده به آن نیاز دارند، در یک جریان بایت پیوسته ارسال و دریافت کنید.
شما مسئول مدیریت جریان داده و ثابت نگه داشتن داده ها هستید. کلاینتهای کانال همان سطحی از همگامسازی خودکار دادهها را که مشتریان داده ارائه میدهند، ارائه نمیکنند.
مقایسه مشتری
جدول زیر توانایی های مشتریان مختلف را مقایسه می کند:
نوع مشتری
ماندگاری داده ها
از داده های بزرگتر از 100 کیلوبایت پشتیبانی می کند؟
بلوتوث ترجیح داده شده است. داده ها در فضای ابری پشتیبان گیری می شوند. اگر بلوتوث در دسترس باشد، این پشتیبان گیری به صورت ناهمزمان انجام می شود
بله، هم برای خواندن و هم برای نوشتن
مشتری پیام
بدون اصرار و بدون تلاش مجدد
خیر
بلوتوث ترجیح داده میشود، اما اگر تنها نوع اتصال موجود باشد، میتواند از Wi-Fi استفاده کند
خیر
مشتری کانال
بدون ماندگاری (اتصال محور)
بله
بلوتوث ترجیح داده میشود، اما اگر تنها نوع اتصال موجود باشد، میتواند از Wi-Fi استفاده کند
خیر
محتوا و نمونه کدها در این صفحه مشمول پروانههای توصیفشده در پروانه محتوا هستند. جاوا و OpenJDK علامتهای تجاری یا علامتهای تجاری ثبتشده Oracle و/یا وابستههای آن هستند.
تاریخ آخرین بهروزرسانی 2025-08-30 بهوقت ساعت هماهنگ جهانی.
[[["درک آسان","easyToUnderstand","thumb-up"],["مشکلم را برطرف کرد","solvedMyProblem","thumb-up"],["غیره","otherUp","thumb-up"]],[["اطلاعاتی که نیاز دارم وجود ندارد","missingTheInformationINeed","thumb-down"],["بیشازحد پیچیده/ مراحل بسیار زیاد","tooComplicatedTooManySteps","thumb-down"],["قدیمی","outOfDate","thumb-down"],["مشکل ترجمه","translationIssue","thumb-down"],["مشکل کد / نمونهها","samplesCodeIssue","thumb-down"],["غیره","otherDown","thumb-down"]],["تاریخ آخرین بهروزرسانی 2025-08-30 بهوقت ساعت هماهنگ جهانی."],[],[],null,["The Wear OS data layer APIs consist of several different types of clients, which\nare useful for different types of data and during different connectivity\nconditions.\n\nThis page introduces each client type, and it includes a table that compares the\ncapabilities of the different clients. Using this information, you can select\nthe set of client types that works best for your app.\n\nData client\n\nA [`DataClient`](https://developers.google.com/android/reference/com/google/android/gms/wearable/DataClient) object lets you read or write to a [`DataItem`](https://developers.google.com/android/reference/com/google/android/gms/wearable/DataItem) or\n[`Asset`](https://developers.google.com/android/reference/com/google/android/gms/wearable/Asset):\n\n- Each `DataItem` is a unit of information that's broadcast and synchronized\n across all nearby devices that a user owns. A `DataItem` is stored persistently,\n and your device can read its contents until the data item is deleted.\n\n- An `Asset` is meant for larger data payloads, such as images or media files.\n\nMessage client\n\nA [`MessageClient`](https://developers.google.com/android/reference/com/google/android/gms/wearable/MessageClient) object can send messages and is good for remote procedure\ncalls (RPC), such as using a Wear OS device to control the version of your app\nthat's installed on a handheld device.\n\nMessages are great for one-way requests using `sendMessage()`, or for a\nrequest-and-response communication model using `sendRequest()`. Unlike with data\nclients, message clients need the nodes to be connected to the network in order\nto send messages.\n\nThe `sendMessage()` method is a best effort to deliver to the remote node, and\nit doesn't contain any built-in retry mechanism. If the target device\ndisconnects before the network transfer starts, the method returns\n`TARGET_NODE_NOT_CONNECTED`.\n| **Note:** To help preserve power, consider sending messages only to nearby devices.\n\nChannel client\n\nA [`ChannelClient`](https://developers.google.com/android/reference/com/google/android/gms/wearable/ChannelClient) object provides stream-oriented communication between\ndevices. A *channel* is a bidirectional communication pipe between two nodes,\nwhich is useful for use cases such as the following:\n\n- Transfer data files between two or more connected devices when the internet isn't available. `ChannelClient` saves disk space over `DataClient`, which creates a copy of the assets on the local device before synchronizing with connected devices.\n- Reliably send a file that's too large to send using a `MessageClient`.\n- Transfer streamed data, such as voice data from the microphone.\n\nAfter you open a channel, you can send and receive data in a continuous byte\nstream, rather than the discrete `DataItem` units that data clients require.\n\nYou're responsible for managing the data flow and keeping data consistent.\nChannel clients don't offer the same level of automatic data synchronization\nthat data clients do.\n\nClient comparison\n\nThe following table compares the capabilities of the different clients:\n\n| Client type | Data persistence | Supports data larger than 100 KB? | Network to use | Works offline? |\n|--------------------|--------------------------------------|--------------------------------------------------------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------|------------------------------|\n| **Data client** | Data is persisted indefinitely | Yes (use [`Asset`](https://developers.google.com/android/reference/com/google/android/gms/wearable/Asset) objects) | Bluetooth preferred. Data is backed up to the cloud; if Bluetooth is available, this backup is done asynchronously | Yes, for both read and write |\n| **Message client** | No persistence and no retry | No | Bluetooth preferred, but can use Wi-Fi if it's the only type of connection available | No |\n| **Channel client** | No persistence (connection-oriented) | Yes | Bluetooth preferred, but can use Wi-Fi if it's the only type of connection available | No |"]]