عبارت‌های پویا در Wear OS

‫Wear OS از به‌روزرسانی‌های پویا برای اطلاعاتی که در کاشی‌ها و چیدمان‌ها نشان داده می‌شود پشتیبانی می‌کند.

بااستفاده از عبارت‌های پویا، می‌توانید داده‌هایی را که در سطح برنامه شما (مثل کاشی یا پیچیدگی) نشان داده می‌شود به منبع داده خاصی پیوند دهید. نمونه‌ای از چنین منبع داده‌ای داده‌های ضربان قلب است که پلاتفرم می‌تواند بخواند. پس‌از اینکه این اتصال را برقرار کردید، سیستم داده‌های کاشی‌ها و کارافزاهای شما را به‌طور خودکار به‌روزرسانی می‌کند.

ایجاد پیوندهای داده پویا

برای ایجاد یک پیوند داده پویا، متغیری را تعریف کنید که از یک نوع داده پویا استفاده می‌کند. این متغیر را با جاری‌سازی داده‌ای که می‌خواهید استفاده کنید قرینه‌سازی کنید.

برای مثال، می‌توانید مقادیر مربوط به ساعت سیستم و اطلاعات سلامتی را، همان‌طور که در تکه‌کد زیر نشان داده شده است، واکشی کنید.

val systemTime = DynamicInstant.platformTimeWithSecondsPrecision()
val steps: DynamicInt32 = PlatformHealthSources.dailySteps()

همچنین می‌توانید از عبارت‌های ثابت مقادیر پویا ایجاد کنید و عملیات حسابی را روی هر مقدار پویا انجام دهید، همان‌طور که در گزیده زیر نشان داده شده است:

val dynamicAdditionResult = DynamicInt32.constant(1).plus(2)

فهرست انواع داده‌های پویای ممکن

‫Wear OS از انواع داده‌های پویا زیر پشتیبانی می‌کند:

علاوه‌براین، می‌توانید نوع داده را بااستفاده از قابلیت‌های داخلی، مانند موارد زیر، تبدیل کنید:

  • ‫DynamicInt32 از تبدیل به DynamicString بااستفاده از format() پشتیبانی می‌کند.
  • ‫DynamicDuration به شما امکان می‌دهد بخش‌های خاصی، مثل بخش ثانیه‌های مدت زمان، را به‌عنوان اشیای DynamicInt32 استخراج کنید.

از تعداد محدودی عبارت پویا در هر صفحه استفاده کنید

سیستم برای تعداد عبارت‌های پویایی که می‌تواند به‌طور هم‌زمان در یک صفحه خاص پردازش کند محدودیت دارد. سیستم هرگونه عبارت پویا اضافی را به مقادیر ایستا تبدیل می‌کند.

‫Wear OS عبارت‌های ثابت را نیز عبارت‌های پویا درنظر می‌گیرد. برای مثال، گزیده کد زیر حاوی ۴ عبارت پویا است:

  1. عملیات plus().
  2. عملیات animate().
  3. عبارت constant(1).
  4. عبارت constant(2) که مقدار 2 در عبارت پویای plus() آن را تلویحاً بیان می‌کند.

val animatedAdditionResult = DynamicInt32.constant(1).plus(2).animate()

منابع بیشتر

برای کسب اطلاعات بیشتر درباره نحوه استفاده از عبارت‌های پویا در سطوح خاص، صفحه‌های زیر را ببینید: