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

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

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

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

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

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

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

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

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

إذا لم ينجح الإعداد التلقائي أو إذا كنت تريد مزيدًا من التحكّم في النتيجة، راجِع التعليمات التالية. لقطات الشاشة مأخوذة من "استوديو Android Meerkat" (الإصدار 2024.3.1).

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

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

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

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

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

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

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

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

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

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

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

dependencies {
    implementation("androidx.wear.tiles:tiles-tooling-preview:1.6.0")
    debugImplementation("androidx.wear.tiles:tiles-tooling:1.6.0")
    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: خطأ.