إضافة تعقيدات إلى وجه الساعه

الإعلانات

إضافة تعقيدات إلى وجه الساعه

 

 

 

إضافة تعقيدات إلى وجه الساعه

تعقيدات وجه الساعة تعرض البيانات من موفر البيانات. بإستخدام واجهة برمجة تطبيقات التعقيدات..

يمكن لأوجه الساعه إختيار موفري البيانات التي يرغبون في إستخدامها للحصول على البيانات الأساسية.

يتيح ذلك لوجه الساعة عرض المعلومات، لفترة تتجاوز اليوم دون الحاجة إلى كود، للحصول على البيانات.

اقرأ المصادر التالية:

تصميم أنماط للتعقيدات
مجموعة إختبار لأنواع التعقيدات
وجه ساعه مع نموذج تعقيدات
نموذج مجموعة إختبار موفر التعقيد
كود إختبار لإنشاء خلفية شاشة الساعة
كود إختبار لإضافة التعقيدات على وجه الساعة

كما تقوم واجهة برمجة تطبيقات التعقيدات، بتمكين المستخدمين من تحديد موفري بيانات من إختيارهم.

بالإضافة إلى ذلك، يوفر نظام تشغيل الساعات من قوقل، واجهة مستخدم لإختيار مصدر البيانات.

لإضافة تعقيدات إلى وجه الساعة، قم بما يلي:

– حدد عدد خانات التعقيد التي تريد تضمينها، وما هي أنواع التعقيدات التي يجب دعمها في كل خانه.

تعيين موفري البيانات الإفتراضيه لكل خانه.

السماح للمستخدمين بإختيار موفري البيانات.

تعيين أذونات لتلقي بيانات التعقيدات.

تفعيل التعقيدات لبدء تلقي البيانات.

تقديم التعقيدات عند رسم وجه ساعتك.

إختبار أنه يتم تقديم بيانات التعقيدات بشكلٍ صحيح.

 

 

 

 

 

تعيين الموفر الإفتراضي لوجه الساعة


أوجه الساعه يمكنها أن تحدد الموفرات الإفتراضية، التي يتم إستخدامها، إلا أن يقوم المستخدم بتحديد موفر.

قم بتعيين الموفرات الإفتراضية، بإستخدام دالة ()setDefaultComplicationProvider في WatchFaceService.Engine.

قد يتم إستدعاء هذه الدالة في أي وقت، ولكنها لن تفعل شيئاً إذا إختار المستخدم بالفعل موفر للتعقيدات المحددة.

بالنسبة لمعظم الموفرات، يجب منح إذن RECEIVE_COMPLICATION_DATA لوجه الساعة قبل أن تتدفق البيانات إليه.

ومع ذلك، بعض موفري النظام تعتبر آمنه، لأنها تقدم فقط المعلومات التي يمكن لوجه الساعة الحصول عليها بالفعل.

الموفر الآمن لا يتطلب أن يكون لدى وجه الساعة، إذن لإرسال البيانات (راجع موفري النظام).

قد يكون من المفضل، إستخدام هذه الموفرات كإعدادات إفتراضية، حيث يمكنهم توفير البيانات على الفور.

بدلاً من ذلك، إذا كان لدى وجه الساعة، شراكة مع موفر معين، ويرغب في إستخدامه كإعداد إفتراضي، فيمكنه طلب أن يقوم الموفر، بإدراجه بإعتباره وجه ساعة آمن.

 

 

 

موفري النظام

يحتوي النظام على موفر يمكن إستخدامه كإعداد إفتراضي. تقوم الدالة ()setDefaultSystemComplicationProvider ..

في فئة WatchFaceService.Engine ، بتعيين موفر نظام إفتراضي للتعقيدات.

تأخذ هذه الدالة معرف (كعدد صحيح) والذي يمثل موفر نظام. يتم إدراج المعرفات المتوفرة في فئة SystemProviders.

يحتوي الجدول التالي على تفاصيل حول بعض موفرات النظام المدعومه:

اسم الداله في فئة SystemProviders آمنه يمكن أن تكون الإفتراضيه ملاحظات
()dateProvider

موفر التاريخ

نعم نعم موفر تاريخ النظام القياسي، النقر يفتح تطبيق جدول الأعمال القياسي
()currentTimeProvider

موفر الوقت الحالي

نعم نعم موفر النظام القياسي “الوقت و التاريخ”. لا يوجد إجراء نقر
()batteryProvider

موفر البطاريه

نعم نعم موفر بطارية النظام القياسي. لا يوجد إجراء نقر
()stepCountProvider

موفر عدد الخطوات

نعم نعم يعرض إجمالي، عدد الخطوات اليوميه، كما هو موضح في readDailyTotal
()unreadCountProvider

موفر العدد الغير مقروء

نعم نعم يعرض عدد الإشعارات غير المقرؤه، في التدفق
()worldClockProvider

موفر الساعه العالميه

نعم نعم سوف تكون الإفتراضية على لندن أو نيويورك. يمكن النقر لتغيير المنطقة الزمنيه
()appsProvider

موفر التطبيقات

نعم نعم سوف يعرض أيقونة “التطبيقات” في البدايه، والتي يمكن النقر عليها لإختيار تطبيق
()nextEventProvider

موفر الحدث القادم

لا نعم (لكنه ليس موفر آمن) موفر النظام القياسي لـ”الحدث القادم”. النقر يفتح تطبيق جدول الأعمال القياسي

 

 

 

 

 

 

 

 

السماح للمستخدمين بإختيار موفري البيانات


يوفر نظام تشغيل الساعات واجهة مستخدم (عبر نشاط)، تتيح للمستخدمين إختيار موفرين لتعقيدات معينة.

يمكن لأوجه الساعة إستدعاء الدالة createProviderChooserHelperIntent للحصول على غرض يمكن إستخدامه لإظهار واجهة مستخدم المحدده.

عندما يقوم وجه الساعة بإستدعاء CreateProviderChooserHelperIntent ، فإن وجه الساعة يوفر معرّف تعقيد وجه الساعة وقائمة بالأنواع المدعومة.

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

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

اطلع على تطبيق نموذج وجه الساعه، للحصول على الكود، مع كامل الخصائص الموصى بها لواجهة مستخدم الإعدادات.

يتضمن هذا الكود:

  •  واجهة قياسية لإعدادات التعقيدات
  •  سهولة الوصول إلى الإعدادات الأخرى

نقطة البداية لمراجعة ذلك الكود هي فئة AnalogComplicationConfigActivity ، التي تحتوي على دالة ()getDataToPopulateAdapter

التي تقوم بإرجاع قائمة إدخالات الإعدادات المتوفرة في واجهة المستخدم.

 

 

 

 

فتح منتقي الموفر

يجب أن يشتمل وجه الساعة على الإذن التالي لتلقي بيانات التعقيدات وفتح منتقي الموفر:

com.google.android.wearable.permission.RECEIVE_COMPLICATION_DATA

 

وجه الساعة الذي لم يمنح الإذن أعلاه لن يكون قادراً على بدء منتقي الموفر.

لتسهيل طلب الإذن وبدء المنتقي، تكون الفئة ComplicationHelperActivity متوفرة في مكتبة دعم الساعات.

يجب إستخدام هذه الفئة بدلاً من فئة ProviderChooserIntent لبدء تشغيل المنتقي في كافة الحالات تقريباً.

 

 

 

 

 

طلب الإذن اللازمه

لإستخدام ComplicationHelperActivity ، قم بإضافتها إلى وجه الساعة في ملف الإيضاح:

<activity android:name="android.support.wearable.complications.ComplicationHelperActivity"/>

 

 

لبدء منتقي الموفر، قم بإستدعاء الدالة ComplicationHelperActivity.createProviderChooserHelperIntent ، للحصول على غرض.

يمكن إستخدام الغرض الجديد إما مع startActivity أو startActivityForResult لتشغيل المنتقي.

فيما يلي مثال على إستخدام الغرض الجديد مع startActivityForResult:

KOTLIN

startActivityForResult(
        ComplicationHelperActivity.createProviderChooserHelperIntent(
                activity,
                watchFace,
                complicationId,
                ComplicationData.TYPE_LARGE_IMAGE
        ),
        PROVIDER_CHOOSER_REQUEST_CODE
)

 

JAVA

startActivityForResult(
  ComplicationHelperActivity.createProviderChooserHelperIntent(
     getActivity(),
     watchFace,
     complicationId,
     ComplicationData.TYPE_LARGE_IMAGE),
  PROVIDER_CHOOSER_REQUEST_CODE);

 

 

 

عندما يبدأ النشاط المساعد، يقوم بالتحقق من منح الإذن. إذا لم يتم منح الإذن، يقدم النشاط المساعد طلب إذن وقت التشغيل.

إذا تم قبول طلب الإذن (أو لم يكن مطلوباً)، فسيتم عرض منتقي الموفر.

إذا تم إستخدام startActivityForResult مع الغرض، فإن النتيجة التي تم تسليمها إلى نشاط الإستدعاء سيكون لها..

كود النتيجة RESULT_OK إذا تم تعيين الموفر بنجاح، أو كان كود النتيجة RESULT_CANCELLED إذا لم يتم تعيين موفر.

في حالة تعيين موفر، سيتم تضمين الفئة ComplicationProviderInfo للموفر المختار في غرض بيانات النتيجة..

كإضافة إلى المفتاح ProviderChooserIntent#EXTRA_PROVIDER_INFO.

 

 

 

 

 

تلقي البيانات المعقده


لبدء تلقي بيانات معقده، يقوم وجه الساعة بإستدعاء ()setActiveComplications ، في فئة WatchFaceService.Engine ..

مع قائمة بمعرفات تعقيدات وجه الساعة. يقوم وجه الساعة بإنشاء هذه المعرفات لتحديد الخانات على وجه الساعة بشكلٍ فريد..

حيث يمكن أن تظهر التعقيدات، وتقوم بتمريرهم إلى دالة ()createProviderChooserIntent للسماح للمستخدم..

بتحديد أي تعقيد يجب أن يذهب في أي خانه. يتم تسليم البيانات المعقده عبر إستدعاء ()onComplicationDataUpdate .

بوجهٍ عام، تحتاج أوجه الساعه إلى الإذن أعلاه، لتلقي بيانات التعقيد، ولكن هناك بعض الإستثناءات.

بشكلٍ خاص، لا يمكن لوجه الساعة تلقي البيانات سوى من الموفر، إذا كان واحد مما يلي صحيحاً: إضافة تعقيدات إلى وجه

  •  الموفر هو موفر نظام “آمن” 
  •  الموفر و وجه الساعه كلاهما من نفس التطبيق 
  •  يقوم الموفر بتصنيف وجه الساعة كوجه ساعه “آمن”، أو
  •  وجه الساعة لديه الإذن.

إذا لم يكن أي مما ورد أعلاه صحيحاً، فإذاً عند إرسال ComplicationData عادةً من قبل الموفر إلى وجه الساعة..

سوف يرسل النظام بدلاً من ذلك، بيانات من النوع TYPE_NO_PERMISSION. يتضمن هذا النوع أيقونة (علامة تعجب)..

ونص قصير (“-“) للسماح بعرضه، كما لو كان من نوع النص القصير أو نوع الأيقونه، للملائمه.

عندما يستلم وجه الساعة بيانات TYPE_NO_PERMISSION ، يجب أن يعرض وجه الساعة هذا بشكلٍ مناسب..

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

يجب أن يطلق طلب الإذن. يمكن القيام بذلك بإستخدام ()ComplicationHelperActivity.createPermissionRequestHelperIntent ، إذا تم إضافة نشاط المساعد إلى تطبيق وجه الساعة.

إذا قبل المستخدم طلب الإذن، الذي تم إنشاؤه بواسطة نشاط المساعد، فستتم المطالبة بالتحديثات لجميع التعقيدات النشطة…

على وجه الساعة تلقائياً، مما يسمح بإستبدال بيانات TYPE_NO_PERMISSION ببيانات حقيقية.

 

 

 

 

التعقيدات المقدمه


قد يقدم وجه الساعة البيانات كما هو مطلوب، طالما يتم تمثيل الحقول المتوقعة؛ يجب تضمين الحقول المطلوبة دائماً.

بناءً على النوع ، يجب أيضاً تضمين بعض الحقول الإختيارية (راجع عمود الملاحظات في الجدول أدناه).

نحن نقوم بتقديم إرشادات التصميم لأنماطنا، كإقتراح للتعقيدات القياسية، ولكن يمكن للمطورين إستخدام أنماطهم الخاصه، أو دمج البيانات في وجه الساعة بطرق مختلفة.

 

 

 

رسم التعقيدات

تمكّنك الفئة ComplicationDrawable من تقديم تعقيد كامل على اللوحه.

تدعم الفئه كافة الأنواع الست من التعقيدات الرئيسية، وتقوم بما يلي من أجلك:

– التعامل مع جميع جوانب التصميم والتخطيط للتعقيدات.

– رسم الخلفيات، الأيقونات، النصوص، وما إلى ذلك، بداخل الحدود.

– تسمح لك بتعيين العديد من الخيارات. وهذه الخيارات تشمل، على سبيل المثال لا الحصر، ما يلي:

لون الخلفية، شكل الزاوية ونصف قطرها، الحدود (أو عدم وجود حدود)، لون النص، ونوع الخط.

– فك الرموز والتخزين المؤقت للصور. إضافة تعقيدات إلى وجه

 

إذا كنت تستهدف المستوى 24 من واجهة برمجة التطبيقات، يمكن تعريف كائن ComplicationDrawable في ملف XML كمصدر.

بدلاً من ذلك، يمكنك إنشاء كائن ComplicationDrawable برمجياً. إستخدم دالة الرسم ()draw لرسم تعقيد، وتعيين خيارات النمط، للوضعين التفاعلي والمحيطي.

ComplicationDrawable سوف تستخدم الأيقونات والصور في وضع الحماية من “الحرق” في حال تم تقديمهم وقام الجهاز بطلبهم.

لتمكين هذا، قم بإستدعاء الداله ()ComplicationDrawable.setBurnInProtection عند تلقي خصائص الجهاز.

 

للحصول على إرشادات مفصلة وأمثلة لتعقيدات الرسم، اقرأ ComplicationDrawable ، والذي يتضمن نموذج لملف XML.

لنموذج وجه ساعة يستخدم هذه الفئة ويتضمن نموذج لملف XML ، اقرأ نموذج AnalogComplicationWatchFaceService في تطبيق نموذج وجه الساعه.

 

إذا لم تستخدم الكائن ComplicationDrawable ، فإستخدم TextRenderer لنص التعقيد.

 

 

 

النص المقدم

فئة TextRenderer مخصصة للإستخدام في التعقيدات، وتسهل رسم النص على اللوحة. تشتمل الفئه على هذه الميزات:

– إذا لم يتم إحتواء سبعة أحرف (الحد الأقصى من عدد الأحرف في حقل النص القصير) في الحدود حسب حجم النص المطلوب، فإن الفئه ستقوم بتقليص النص حتى يصبح ملائماً.

– يمكن للنص أن يتدفق عبر عدد محدد من الأسطر.

– يمكن تصحيح النص إذا لم يكن ملائماً.

– يتم ضبط العرض على الشاشة التي تعمل دائماً (الوضع المحيطي).

 

عند تهيئتك لمحرك وجه الساعة، يمكنك إنشاء كائن TextRenderer وتمريره في كائن TextPaint الذي تريد أن يستخدمه الكائن TextRenderer.

يحدد كائن TextPaint الخط، حجم النص، اللون وغير ذلك. إضافة تعقيدات إلى وجه

يجب إنشاء كائن TextRenderer لكل حقل، على سبيل المثال، كائن لحقل النص و كائن لحقل العنوان.

لمثال على كود، بما في ذلك تعيين الحدود على النص الذي تريد تقديمه، راجع تقديم النص TextRenderer.

 

 

 

النقر على التعقيدات

إستخدم دالة ()ComplicationDrawable.onTap لتمكين وجه الساعة من تمرير أحداث النقر إلى التعقيدات.

هذه الداله تبني على الوظيفة، التي يتم فيها النقر على وجه الساعة، تقوم بتشغيل دالة ()WatchFaceService.Engine.onTapCommand .

يمكنك تمرير الإحداثيات إلى ComplicationDrawable مع إستدعاء onTap. سيؤدي هذا إلى بدء الإجراء المرتبط..

بـ ComplicationDrawable التي تحتوي على إحداثيات النقر. عندما يتم إستدعاء الداله، سوف تتلقى قيمة إرجاع صحيحة..

إذا قام ComplicationDrawable بإطلاق الإجراء المرتبط. إضافة تعقيدات إلى وجه

إستخدم دالة ()setHighlightDuration لتعيين مدة بقاء التعقيدات مظللة بعد إستدعاء دالة onTap.

إذا لم تكن تستخدم ComplicationDrawable للتعقيد، فستحتاج إلى إكتشاف النقرات وإطلاق عملية النقر PendingIntent بنفسك.

اقرأ إنشاء أوجه تفاعلية للساعه لتتعلم كيفية إنشاء أوجه ساعه تستجيب لنقرات المستخدمين.

 

 

 

 

 

أنواع التعقيدات


تحدد أنواع التعقيدات أنواع البيانات المعروضة في التعقيد. على سبيل المثال، يتوفر النوع “نص قصير” SHORT_TEXT عندما تكون البيانات الرئيسيه سلسلة قصيرة.

في مثال نوع “نص قصير” SHORT_TEXT ، تكون البيانات الإختياريه أيقونة وعنوان قصير.

يستخدم موفروا البيانات أنواع التعقيد هذه بشكلٍ مختلف عن الطريقة التي يستخدم بها موفروا وجه الساعة هذه الأنواع:

– يختار موفروا البيانات، أنواع بيانات التعقيدات المطلوب توريدها. مثال، قد يدعم موفر عدد الخطوات النوعين RANGED_VALUE و SHORT_TEXT ..

بينما قد يدعم موفر “الإجتماع القادم” النوعين SHORT_TEXT و LONG_TEXT. يختار موفر البيانات أيضاً أي الحقول الإختيارية لهذه الأنواع، مراد تضمينها.

– يختار موفر وجه الساعة، عدد أنواع التعقيدات التي يجب دعمها. مثال، قد يدعم تعقيد دائري على وجه الساعه..

الأنواع SHORT_TEXT و ICON و RANGED_VALUE ، بينما قد يدعم مقياس الساعة النوع RANGED_VALUE فقط.

 

سيحتوي كائن ComplicationData دائماً على نوع تعقيد واحد. كل نوع من أنواع التعقيدات يحتوي على حقول إختيارية وحقول مطلوبة.

بشكلٍ عام، يمثل الحقل المطلوب الجزء الأساسي من البيانات؛ تأخذ معظم الأنواع أسمائها من الحقل المطلوب.

قد يحتوي نوع معين على مجموعات مختلفة من الحقول. مثال، قد يكون SHORT_TEXT مجرد نص، أو عنوان ونص، أو أيقونة ونص.

يجب أن تكون التعقيدات التي تدعم نوعاً معيناً، قادرة على عرض كل المتغيرات المتوقعة.

ومع ذلك، لا تحتاج إلى عرض بعض الحقول الإختيارية (راجع عمود الملاحظات في الجدول أدناه).

مثال، لا يعد حقل العنوان القصير في نوع RANGED_VALUE مطلوباً، لذلك كمثال، يمكن عرض المقاييس بدون تضمين نص.

 

 

 

أمثلة على أنواع التعقيدات

فيما يلي أمثلة على أنواع التعقيدات:

 

 

 

 

الأنواع والحقول

يصف الجدول التالي أنواع و حقول كائن ComplicationData. إذا طلب وجه الساعه حقلًا غير صالح لنوع التعقيد، فسيتم إرجاع قيمة إفتراضية للحقل.

مثال، إذا حاول وجه الساعة الوصول إلى حقل نص طويل في نوع “نص قصير” SHORT_TEXT ، يتم إرجاع القيمة الإفتراضية لحقل النص الطويل (فارغة).

 

النوع الحقول المطلوبه الحقول الإختياريه الملاحظات
SHORT_TEXT نص قصير أيقونه

حرق أيقونة الحمايه

عنوان قصير

من المتوقع ظهور واحد من الأيقونه\العنوان القصير بالضبط، إذا تم توفير أحدهما أو كلاهما.
ICON أيقونه حرق أيقونة الحمايه تستخدم عندما لا تكون هناك حاجة للنص.

من المتوقع أن تكون الأيقونه أحادية اللون. 

وقد يتم تلوينها بواسطة وجه الساعه.

RANGED_VALUE قيمه

قيمه دنيا

قيمه قصوى

أيقونه

حرق أيقونة الحمايه

نص قصير

عنوان قصير

حقول إختياريه، ليس مضموناً عرضها. 

إذا رغبت في رسم شريط التقدم الخاص بك، فيمكنك إستخدام الداله 

()setRangedValueProgressHidden

لإخفاء شريط التقدم الذي توفره الفئه 

ComplicationDrawable

LONG_TEXT نص طويل عنوان طويل

أيقونه

حرق أيقونة الحمايه

صوره صغيره

من المتوقع أن يُعرض العنوان إذا تم توفيره
SMALL_IMAGE صوره صغيره تحتوي الصورة الصغيرة على واحد من نمطين: نمط الصورة أو نمط الأيقونه.

نمط الصوره يعني أنها يجب أن تملأ المساحه ويمكن إقتصاصها.

نمط الأيقونة يعني أنه لا يجب إقتصاصها، وقد تكون ذات حواشي.

تباين الصوره يمكن أن ينتج صورة غير ملائمة للعرض في الوضع المحيطي. 

على الأجهزة التي تحتوي على وضع حرق الحمايه، أو ذات وضع محيطي منخفض البت.

عند تمكين وضع حرق الحمايه أو الوضع المحيطي منخفض البت..

قد يستخدم وجه الساعه، الصورة الصغيرة في وضع حرق الحمايه، بما أنها آمنه.

خلاف ذلك، نظراً لصعوبة قيام وجه الساعه بتحديد الصوره الملائمه، فإن الصوره لا ينبغي أن تُعرض.

 

LARGE_IMAGE صورة كبيره من المتوقع أن تكون هذه الصورة كبيرة بما يكفي لملء وجه الساعه.

تباين الصوره يمكن أن ينتج صورة غير ملائمة للعرض في الوضع المحيطي. 

على الأجهزة التي تحتوي على وضع حرق الحمايه، أو ذات وضع محيطي منخفض البت.

نظراً لصعوبة قيام وجه الساعه بتحديد الصوره الملائمه للعرض..

لا ينبغي أن يعرض وجه الساعه الصوره، في الوضع المحيطي..

عند تمكين وضع حرق الحمايه أو الوضع المحيطي منخفض البت.

 

 

الأنواع الموجوده في الجدول أدناه، مخصصة للبيانات الفارغة، ويمكن إرسالها لأي خانة تعقيد.

لا تحتوي هذه الأنواع على حقول، ولا تحتاج إلى تضمينها في قائمة الأنواع المدعومة. هذه الأنواع تمكن أوجه الساعه من التفريق بين الحالات الثلاث التالية:

  •  لم يتم إختيار أي موفر إضافة تعقيدات إلى وجه
  •  إختار المستخدم “فارغ” للخانه إضافة تعقيدات إلى وجه
  •  الموفر لا يحتوي على بيانات لكي يرسلها إضافة تعقيدات إلى وجه

 

يجب ألا يرسل الموفرون “نوع فارغ” TYPE_EMPTY إستجابة لطلبات التحديث. يجب على الموفرين إرسال “نوع بلا بيانات” TYPE_NO_DATA بدلاً من ذلك.

 

توجد تفاصيل عن أنواع التعقيدات الخاصة بالبيانات “الفارغة” في الجدول التالي:

نوع التعقيد الوصف
TYPE_NOT_CONFIGURED يتم إرسالها من قبل النظام، عند تنشيط التعقيدات ولكن المستخدم لم يقم بتحديد موفر..

ولم يتم تعيين أي إعداد إفتراضي.

لا يمكن إرسالها من قبل الموفر.

TYPE_EMPTY يتم إرسالها من قبل النظام، عند تنشيط التعقيدات.. 

وعند قيام المستخدم بإختيار “فارغ” بدلاً من الموفر، أو عندما لا يقوم وجه الساعه بإختيار موفر..

وهذا النوع، هو الإعداد الإفتراضي.

لا يمكن إرسالها من قبل الموفر.

TYPE_NO_DATA يتم إرسالها من قبل النظام، عند تنشيط التعقيدات (التي تحتوي على موفر).. 

لمسح التعقيد قبل استلام البيانات الفعلية من الموفر.

يجب إرسالها بواسطة الموفر، إذا لم يكن لديه معلومات فعليه ليرسلها.

 

 

 

 

 

 

إستخدم الحقول لبيانات التعقيد


تحتوي حقول الكائن “بيانات التعقيد” ComplicationData على وظائف مختلفة. على سبيل المثال، يحتوي حقل النص..

على البيانات الأساسية بينما يكون حقل العنوان وصفياً؛ تعقيد عدد الخطوات، قد يحتوي على قيمة حقل نص من “2،543” مع قيمة حقل عنوان “الخطوات”.

يحتوي الجدول التالي على أوصاف للحقول في الكائن “بيانات التعقيد” ComplicationData.

قد تكون أو لا تكون الحقول مملوءه، بناءً على نوع التعقيدات.

 

الحقل الوصف
Short text نص قصير حقل النص الأساسي للتعقيدات الصغيرة. يجب ألا يتجاوز الحد الأقصى لطول هذا الحقل سبعة أحرف..

(بما في ذلك أي نص مرتبط بالوقت). من المتوقع أن يكون لدى أوجه الساعه..

القدرة على عرض أي سلسلة من سبعة أحرف. تختلف السلاسل في العرض..

إعتماداً على الأحرف المستخدمة. يجب أن يضبط وجه الساعة حجم النص ليصبح مناسباً للتعقيدات.

إذا تجاوز النص سبعة أحرف، فقد يتم إقتطاعه.

Icon أيقونه صورة أحادية اللون تمثل البيانات أو مصدر البيانات. يجب أن تكون ملونه.

يوصى بإستخدام رسومات فيكتور لهذا الحقل.

Burn-in protection icon أيقونة حرق الحمايه حقل لتمكين عرض أيقونة في الوضع المحيطي، على الأجهزة التي تستخدم حماية الحرق.

في الوضع المحيطي، أوجه الساعه على الأجهزة التي تستخدم حماية الحرق..

يجب ألا تعرض كتل صلبة من وحدات البكسل. حقل أيقونة حماية الحرق..

يعد إختيارياً لأي نوع من أنواع التعقيدات التي تحتوي على حقل الأيقونه.

يجب ألا يحتوي حقل أيقونة حماية الحرق على أي كتل صلبة من وحدات البكسل.

ﻳﺠﺐ أن ﻳﻘﻮم الموفر ﺑﺘﻮﻓﻴﺮ ﺣﻘﻞ أيقونة ﺤﻤﺎﻳﺔ الحرق إذا كانت الأيقونه القياسيه ﻏﻴﺮ ملائمة لوضع ﺤﻤﺎﻳﺔ اﻟﺤﺮق.

يجب أن يؤدي عرض وجه الساعة في الوضع المحيطي على جهاز تم تمكين وضع حماية الحرق فيه..

إلى إستخدام حقل أيقونة حماية الحرق، إذا كان متاحاً، بدلاً من حقل الأيقونه.

Burn-in protection small image صورة صغيرة حرق الحمايه حقل لتمكين عرض صوره في الوضع المحيطي، على الأجهزة التي تستخدم حماية الحرق.

في الوضع المحيطي، أوجه الساعه على الأجهزة التي تستخدم حماية الحرق..

يجب ألا تعرض كتل صلبة من وحدات البكسل. حقل الصورة الصغيره لحماية الحرق..

يعد إختيارياً لأي نوع من أنواع التعقيدات التي تحتوي على حقل الصوره الصغيره.

يجب ألا يحتوي حقل الصورة الصغيره لحماية الحرق على أي كتل صلبة من وحدات البكسل.

ﻳﺠﺐ أن ﻳﻘﻮم الموفر ﺑﺘﻮﻓﻴﺮ ﺣﻘﻞ الصورة الصغيره لحماية الحرق إذا كانت..

الصوره الصغيره القياسيه ﻏﻴﺮ ملائمة لوضع ﺤﻤﺎﻳﺔ اﻟﺤﺮق.

يجب أن يؤدي عرض وجه الساعة في الوضع المحيطي على جهاز تم تمكين..

وضع حماية الحرق فيه، إلى إستخدام حقل الصورة الصغيرة لحماية الحرق..

إذا كان متاحاً، بدلاً من حقل الصوره الصغيره.

Short title عنوان قصير حقل وصفي للتعقيدات الصغيرة. قد يكون مفيداً فقط مع مجموعة من حقل النص القصير.

يجب ألا يتجاوز الحد الأقصى لطول هذا الحقل سبعة أحرف (بما في ذلك أي نص مرتبط بالوقت).

من المتوقع أن يكون لدى أوجه الساعه القدرة على عرض أي سلسلة من سبعة أحرف.

تختلف السلاسل في العرض ، إعتماداً على الأحرف المستخدمة.

يجب أن يضبط وجه الساعة حجم النص ليصبح مناسباً للتعقيدات.

إذا تجاوز النص سبعة أحرف، فقد يتم إقتطاعه.

Long text نص طويل حقل بيانات أساسي للتعقيدات النصية الكبيرة.
Long title عنوان طويل حقل وصفي لتعقيدات نصيه كبيرة. قد يكون مفيداً فقط مع النص الطويل.
Value قيمه تمثيل عددي (float) للبيانات. من المتوقع أن يتم تصويره بالنسبة إلى حدود..

حقلي القيمه الدنيا و القيمه القصوى (ولكن ليس مطلوباً أن يكونا بين هذه الحدود).

Min value قيمه دنيا الحد الأدنى للنطاق الذي يجب أن يتم تصوير القيمة ضمنه. ذات معنى فقط مع القيمه والقيمه القصوى.
Max value قيمه قصوى الحد الأعلى للنطاق الذي يجب أن يتم تصوير القيمة فيه. ذات مغزى فقط مع القيمه و القيمه الدنيا.
Small image صوره صغيره صورة صغيرة لتمثيل البيانات أو مصدر البيانات. قد يكون لون كامل. ليس من المتوقع أن تملأ وجه الساعة بالكامل.
Large image صوره كبيره صورة بدقة كافية لملء وجه الساعة. قد يكون لون كامل.

 

 

 

 

 

إختبار أنواع التعقيدات


يحتوي كل نوع من أنواع التعقيدات على حقول، مثل النصوص والأيقونات. إذا كان وجه الساعة يدعم نوعاً ..

من أنواع التعقيدات، فيجب عليك دعم كافة مجموعات الحقول الصحيحة.

يمكنك إختبار طريقة عرض بيانات التعقيد على وجه الساعة. على وجه التحديد، حزمة إختبار تمكنك من إختبار عرض أنواع التعقيدات.

وبالتالي، لا تحتاج إلى كتابة الكود لإختبار تركيبات الحقول الصحيحة لكائن ComplicationData.

حزمة الإختبار هي موفر بيانات، متوفرة كنموذج، والتي تتنقل من خلال تركيبات الحقول الصحيحة لنوع التعقيد المعين.

 

 

 

لإستخدام حزمة الإختبار:

1- ثبت ملف APK لحزمة الإختبار على جهاز أو محاكي.

2- تمكن من الوصول إلى وجه الساعة ثم أنقر على أيقونة الإعدادات الرئيسيه.

3- إستخدم إعدادات واجهة المستخدم لإختيار حزمة الإختبار: إضافة تعقيدات إلى وجه

WearComplication-ProviderTestSuite

4- اختر نوع بيانات التعقيد لإختبارها. إضافة تعقيدات إلى وجه

5- أضغط على التعقيد الخاص بك لعرض مختلف أنواع البيانات.

6- أضغط بإستمرار على التعقيد للتحقق من عرض جميع تركيبات الحقول ذات الصلة بشكلٍ صحيح.

مثال، إذا كان هناك تعقيد يدعم نص قصير، فأنقر على التعقيد لرؤية جميع التراكيب الرئيسية من الحقول للنص القصير.

 


للإطلاع على المقال باللغة الإنجليزية أضغط هنا.

الإعلانات