رابطهای برنامهنویسی کاربردی (API) لایه داده Wear OS شامل چندین نوع کلاینت مختلف است که برای انواع مختلف دادهها و در شرایط اتصال مختلف مفید هستند.
این صفحه هر نوع کلاینت را معرفی میکند و شامل جدولی است که قابلیتهای کلاینتهای مختلف را با هم مقایسه میکند. با استفاده از این اطلاعات، میتوانید مجموعهای از انواع کلاینتها را که برای برنامه شما بهترین عملکرد را دارند، انتخاب کنید.
کلاینت داده
یک شیء DataClient به شما امکان میدهد یک DataItem یا Asset را بخوانید یا در آن بنویسید:
هر
DataItemواحدی از اطلاعات است که در تمام دستگاههای نزدیک کاربر پخش و همگامسازی میشود. یکDataItemبه طور مداوم ذخیره میشود و دستگاه شما میتواند محتوای آن را تا زمانی که آن داده حذف شود، بخواند.یک
Assetبرای بارهای داده بزرگتر، مانند تصاویر یا فایلهای رسانهای، در نظر گرفته شده است.
کلاینت پیام
یک شیء MessageClient میتواند پیام ارسال کند و برای فراخوانیهای رویه از راه دور (RPC) مناسب است، مانند استفاده از یک دستگاه Wear OS برای کنترل نسخه برنامه شما که روی یک دستگاه دستی نصب شده است.
پیامها برای درخواستهای یکطرفه با استفاده از sendMessage() یا برای مدل ارتباطی درخواست و پاسخ با استفاده از sendRequest() عالی هستند. برخلاف کلاینتهای داده، کلاینتهای پیام برای ارسال پیام نیاز دارند که گرهها به شبکه متصل باشند.
متد sendMessage() بهترین تلاش برای تحویل به گره راه دور است و هیچ مکانیزم تلاش مجدد داخلی ندارد. اگر دستگاه هدف قبل از شروع انتقال شبکه قطع شود، این متد TARGET_NODE_NOT_CONNECTED برمیگرداند.
کلاینت کانال
یک شیء ChannelClient ارتباط جریان-محور بین دستگاهها را فراهم میکند. یک کانال یک لوله ارتباطی دو طرفه بین دو گره است که برای موارد استفاده مانند موارد زیر مفید است:
- انتقال فایلهای داده بین دو یا چند دستگاه متصل در زمانی که اینترنت در دسترس نیست.
ChannelClientفضای دیسک را از طریقDataClientذخیره میکند، که قبل از همگامسازی با دستگاههای متصل، یک کپی از داراییها را در دستگاه محلی ایجاد میکند. - با استفاده از
MessageClient، فایلی را که برای ارسال خیلی بزرگ است، به طور قابل اعتمادی ارسال کنید. - انتقال دادههای استریمشده، مانند دادههای صوتی از میکروفون.
پس از باز کردن یک کانال، میتوانید دادهها را در یک جریان پیوسته از بایتها ارسال و دریافت کنید، نه در واحدهای گسسته DataItem که کلاینتهای داده به آن نیاز دارند.
شما مسئول مدیریت جریان دادهها و حفظ ثبات دادهها هستید. کلاینتهای کانال، همان سطح از همگامسازی خودکار دادهها را که کلاینتهای داده ارائه میدهند، ارائه نمیدهند.
مقایسه مشتری
جدول زیر قابلیتهای کلاینتهای مختلف را با هم مقایسه میکند:
| نوع مشتری | ماندگاری دادهها | آیا از دادههای بزرگتر از ۱۰۰ کیلوبایت پشتیبانی میکند؟ | شبکه برای استفاده | آفلاین کار میکند؟ |
|---|---|---|---|---|
| کلاینت داده | دادهها به طور نامحدود ذخیره میشوند | بله (از اشیاء Asset استفاده کنید) | بلوتوث ترجیح داده میشود. دادهها در فضای ابری پشتیبانگیری میشوند؛ اگر بلوتوث در دسترس باشد، این پشتیبانگیری به صورت غیرهمزمان انجام میشود. | بله، هم برای خواندن و هم برای نوشتن |
| کلاینت پیام | بدون پشتکار و بدون تلاش مجدد | خیر | بلوتوث ترجیح داده میشود، اما اگر تنها نوع اتصال موجود باشد، میتوان از وایفای نیز استفاده کرد | خیر |
| کلاینت کانال | بدون ماندگاری (اتصالگرا) | بله | بلوتوث ترجیح داده میشود، اما اگر تنها نوع اتصال موجود باشد، میتوان از وایفای نیز استفاده کرد | خیر |