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

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

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

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

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

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

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

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

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

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

  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.5.0")
    debugImplementation("androidx.wear.tiles:tiles-tooling:1.5.0")
    implementation("androidx.wear:wear-tooling-preview:1.0.0")
}

ضبط معاينات المربّعات

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

import androidx.wear.tiles.tooling.preview.Preview

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

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

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

import androidx.wear.tiles.tooling.preview.Preview

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

fun getImageById(
    @DrawableRes id: Int,
): ImageResource =
    ImageResource.Builder()
        .setAndroidResourceByResId(
            AndroidImageResourceByResId.Builder()
                .setResourceId(id)
                .build(),
        )
        .build()

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

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

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

import androidx.wear.tiles.tooling.preview.Preview

@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(
            buildMyTileLayout()
        ).build()
    }
)

التعامل مع المربّعات باستخدام أداة تصحيح الأخطاء في Android

يمكن استخدام 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: خطأ.