التعبيرات الديناميكية في Wear OS

يتوافق Wear OS مع التحديثات الديناميكية للمعلومات التي تظهر في المربّعات والإضافات.

باستخدام التعبيرات الديناميكية، يمكنك ربط البيانات التي تظهر على سطح تطبيقك، مثل مربّع أو إضافة، بمصدر بيانات معيّن. مثال على مصدر البيانات هذا هو بيانات معدل ضربات القلب التي يمكن للمنصة قراءتها. بعد إنشاء هذا الربط، يقوم النظام بتحديث البيانات الموجودة في المربّعات والإضافات تلقائيًا.

إنشاء عمليات ربط بيانات ديناميكية

لإنشاء ربط بيانات ديناميكي، حدِّد متغيّرًا يستخدم نوع بيانات ديناميكي. اربط هذا المتغيّر بمصدر البيانات الذي تريد استخدامه.

على سبيل المثال، يمكنك استرجاع القيم المتعلقة بساعة النظام والمعلومات الصحية، كما هو موضّح في مقتطف الرمز التالي.

Kotlin

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

Java

DynamicInstant systemTime = DynamicInstant.platformTimeWithSecondsPrecision();
DynamicInt32 steps = PlatformHealthSources.dailySteps();

يمكنك أيضًا إنشاء قيم ديناميكية من التعبيرات الثابتة وإجراء عمليات حسابية على أي قيمة ديناميكية، كما هو موضّح في المقتطف التالي:

Kotlin

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

Java

DynamicInt32 dynamicValue = DynamicInt32.constant(1).plus(2)

قائمة بأنواع البيانات الديناميكية المحتملة

يتوافق Wear OS مع أنواع البيانات الديناميكية التالية:

بالإضافة إلى ذلك، يمكنك تحويل نوع البيانات باستخدام إمكانيات مضمّنة، مثل ما يلي:

  • تتيح DynamicInt32 إمكانية التحويل إلى DynamicString باستخدام format().
  • تتيح لك DynamicDuration استخراج أجزاء محدّدة، مثل جزء الثواني من مدة معيّنة، مثل كائنات DynamicInt32.

استخدام عدد محدود من التعبيرات الديناميكية على كل شاشة

يضع النظام حدًا لعدد التعبيرات الديناميكية التي يمكنه معالجتها في آنٍ واحد على شاشة معيّنة. يحوّل النظام أي تعبيرات ديناميكية إضافية إلى قيم ثابتة.

يعتبر Wear OS التعبيرات الثابتة تعبيرات ديناميكية أيضًا. على سبيل المثال، يحتوي مقتطف الرمز التالي على 4 تعبيرات ديناميكية:

  1. عملية plus().
  2. عملية animate().
  3. تمثّل هذه السمة التعبير constant(1).
  4. تمثّل هذه السمة التعبير constant(2) المضمّن في القيمة 2 في التعبير الديناميكي plus().
DynamicInt32.constant(1).plus(2).animate()