تشغيل مربّع وتحديد أخطاءه وتصحيحها

المربعات ليست تطبيقات، لذا يتم نشرها وتشغيلها باستخدام آليات مختلفة. عندما تكون خيارات المطوّرين مفعَّلة على جهاز (تكون هذه الميزات مفعَّلة تلقائيًا على المحاكيات)، تتوفّر ميزات إضافية تتيح تطوير البلاطات لاستخدامها في كل من استوديو Android وadb.

نشر المربّعات

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

أثناء عملية التطوير النشطة، قد يكون من الأسهل والأسرع استخدام ميزة إعدادات التشغيل/تصحيح الأخطاء في "بطاقة Wear OS" في Android Studio. تتيح هذه الطريقة نشر المربّع وتفعيله تلقائيًا، ما يسمح بالتفاعل الفوري بدون خطوات يدوية إضافية.

إنشاء الإعداد تلقائيًا

أسهل طريقة لنشر مربّع وتشغيله هي استخدام رمز "تشغيل الخدمة" في الهامش. يؤدي هذا الإجراء إلى إنشاء إعدادات تشغيل تلقائيًا إذا لم تكن متوفّرة من قبل. لمزيد من المعلومات، يُرجى الاطّلاع على إعدادات التشغيل/تصحيح الأخطاء في Wear OS.

لقطة شاشة يظهر فيها سهم أحمر يشير إلى "▷" في الهامش
انقر على "▷" في الهامش
لقطة شاشة يظهر فيها سهم أحمر يشير إلى القائمة المنسدلة لضبط التشغيل، وخيار ضبط "TestTileService" محدّد باللون الأحمر
يتم إنشاء "إعداد تشغيل" تلقائيًا

إنشاء الإعداد يدويًا

إذا لم تنجح عملية الضبط التلقائي أو إذا أردت التحكّم أكثر في النتيجة، يُرجى الاطّلاع على التعليمات التالية. لقطات الشاشة مأخوذة من الإصدار Meerkat من "استوديو Android"‏ (2024.3.1).

  1. انقر على رمز "⋮" (قائمة النقاط الثلاث) من شريط العنوان.

    لقطة شاشة يظهر فيها سهم أحمر يشير إلى الخيار "⋮" ("قائمة النقاط الثلاث") من شريط العنوان
  2. انقر على "تعديل…".

    "تعديل…" هو الخيار الأول ضمن قسم "الإعداد" في القائمة المنسدلة.
  3. انقر على "+" لإضافة إعداد في مربّع الحوار الذي يظهر.

    لقطة شاشة يظهر فيها سهم أحمر يشير إلى "+"
  4. اختَر "Wear OS Tile" كنوع الإعداد الجديد.

    لقطة شاشة يظهر فيها سهم أحمر يشير إلى خيار ضبط "Wear OS Tile".
  5. أدخِل اسمًا لعملية الضبط واختَر الوحدة والمربّع حسب الاقتضاء.

    لقطة شاشة بها ثلاثة أسهم حمراء تشير إلى مناطق في نافذة مربّع الحوار.
  6. انقر على "حسنًا". سيظهر الإعداد في شريط العناوين. انقر على الزر "▷" (تشغيل) وسيتم نشر المربّع وتفعيله.

معاينة المربّعات في "استوديو Android"

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

تتطابق أسماء المجموعات في لوحة المعاينة مع اسم المجموعة المحدّد في التعليق التوضيحي للمعاينة
لوحة معاينة المربّعات في "استوديو Android"

إضافة التبعيات

أدرِج التبعيات التالية في ملف build.gradle.kts أو build.gradle في تطبيقك:

dependencies {
    implementation("androidx.wear.tiles:tiles-tooling-preview:1.6.2")
    debugImplementation("androidx.wear.tiles:tiles-tooling:1.6.2")
    implementation("androidx.wear:wear-tooling-preview:1.0.0")
}

ضبط معاينات شاشات المعلومات

للاطّلاع على معاينة لمظهر المربّع على أحجام شاشات Wear OS المختلفة، أضِف التعليق التوضيحي @Preview، وأدخِل المَعلمة device. يُرجى العِلم أنّ التعليق التوضيحي @Preview هذا مأخوذ من حزمة مختلفة عن تلك التي تستخدمها في معاينات الدوال المركّبة.

@Preview(device = WearDevices.SMALL_ROUND)
@Preview(device = WearDevices.LARGE_ROUND)
fun tilePreview(context: Context) = TilePreviewData { request ->
    TilePreviewHelper.singleTimelineEntryTileBuilder(
        buildMyTileLayout(context, request.deviceConfiguration)
    ).build()
}

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

إذا كان المربّع يستخدم موارد Android، عليك تسجيلها ضمن المَعلمة onTileResourceRequest في TilePreviewData، كما هو موضّح في مقتطف الرمز التالي:

@Preview(device = WearDevices.SMALL_ROUND)
fun previewWithResources(context: Context) = TilePreviewData(
    onTileResourceRequest = { request ->
        Resources.Builder()
            .setVersion(RESOURCES_VERSION)
            .addIdToImageMapping(
                myImageId,
                getImageById(R.drawable.animated_walk)
            )
            .build()
    },
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildMyTileLayout(context, request.deviceConfiguration)
        ).build()
    }
)

عرض قيم معيّنة من مصادر بيانات المنصة

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

لعرض قيمة معيّنة، اضبط المَعلمة platformDataValues عند إنشاء العنصر TilePreviewData، كما هو موضّح في مقتطف الرمز التالي:

@Preview(device = WearDevices.SMALL_ROUND)
fun previewWithPlatformOverride(context: Context) = TilePreviewData(
    platformDataValues = PlatformDataValues.of(
        PlatformHealthSources.Keys.HEART_RATE_BPM,
        DynamicDataBuilders.DynamicDataValue.fromFloat(160f)
    ),
    onTileRequest = { request ->
        TilePreviewHelper.singleTimelineEntryTileBuilder(
            buildMyTileLayoutDynamic(context, request.deviceConfiguration)
        ).build()
    }
)

كيفية التعامل مع المربّعات باستخدام adb

يمكن استخدام adb لتثبيت المربّعات وإزالتها وتفعيلها آليًا أثناء عملية التطوير.

في الأوامر التالية، ComponentName هي سلسلة تتألف من اسم الحزمة وفئة داخل تلك الحزمة، على سبيل المثال com.example.wear.tiles/com.example.wear.tiles.PreviewTileService.

add-tile

تضيف هذه الدالة مربّعًا يوفّره COMPONENT_NAME وتعرض الفهرس.

adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation add-tile --ecn component [COMPONENT_NAME]

مثال على الإخراج:

Broadcast completed: result=1, data="Index=[0]"

إذا كان المربّع متوفّرًا في لوحة العرض الدوّارة، تتم إزالته وإعادة إدراجه في الموقع نفسه. وإلا، سيتم إدراجه في Index[0]. بالإضافة إلى ذلك، إذا كانت لوحة العرض الدوّارة قد بلغت الحدّ الأقصى لسعتها، تتم إزالة آخر شاشة معلومات لإفساح المجال لشاشة المعلومات الجديدة.

show-tile

تفعيل المربّع في الفهرس TILE_INDEX

adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SYSUI --es operation show-tile --ei index [TILE_INDEX]

مثال على الإخراج:

Broadcast completed: result=1

remove-tile

تؤدي هذه الطريقة إلى إزالة جميع نُسخ المربّعات في لوحة العرض الدوّارة المرتبطة بـ COMPONENT_NAME.

adb shell am broadcast -a com.google.android.wearable.app.DEBUG_SURFACE --es operation remove-tile --ecn component [COMPONENT_NAME]

مثال على الإخراج:

result=1, data="Tile(s) removed."

القيم المعروضة

  • ‫result=0: لم يستجب أي مستقبل بث لهذا الأمر، على الأرجح لأنّ إصدار Wear OS قديم جدًا أو لأنّ عملية تصحيح الأخطاء لا تعمل.
  • ‫result=1: نجاح العملية
  • result>1: خطأ.