المربعات ليست تطبيقات، لذا يتم نشرها وتشغيلها باستخدام آليات مختلفة.
عندما تكون خيارات المطوّرين مفعَّلة على جهاز (تكون هذه الميزات مفعَّلة تلقائيًا على المحاكيات)، تتوفّر ميزات إضافية تتيح تطوير البلاطات لاستخدامها في كل من استوديو Android وadb.
نشر المربّعات
لنشر البلاطة، يمكنك تثبيت تطبيقك على جهاز فعلي أو محاكي باستخدام استوديو Android، كما هو موضّح في مقالة إنشاء تطبيقك وتشغيله. بعد ذلك، اتّبِع الخطوات نفسها التي يتّبعها المستخدمون العاديون لإضافة البلاطة يدويًا إلى شريط البلاطات.
أثناء التطوير النشط، قد يكون من الأسهل والأسرع استخدام ميزة "إعداد تشغيل/تصحيح أخطاء بلاطة Wear OS" في Android Studio. تنشر هذه الطريقة البلاطة وتفعّلها تلقائيًا، ما يتيح التفاعل الفوري بدون اتّخاذ خطوات يدوية إضافية.
إنشاء إعداد تلقائيًا
أسهل طريقة لنشر بلاطة وتشغيلها هي استخدام رمز "تشغيل الخدمة" في الهامش. يؤدي ذلك إلى إنشاء إعداد تشغيل تلقائيًا إذا لم يكن موجودًا من قبل. راجِع إعدادات تشغيل/تصحيح أخطاء Wear OS لمزيد من المعلومات.
إنشاء إعداد يدويًا
إذا لم ينجح الإعداد التلقائي أو إذا كنت تريد مزيدًا من التحكّم في النتيجة، راجِع التعليمات التالية. لقطات الشاشة مأخوذة من "استوديو Android Meerkat" (الإصدار 2024.3.1).
انقر على رمز "⋮" (قائمة النقاط الثلاث) من شريط العنوان.
انقر على "تعديل…".
انقر على "+" لإضافة إعداد في مربّع الحوار الذي يظهر.
اختَر "بلاطة Wear OS" كنوع الإعداد الجديد.
أدخِل اسمًا للإعداد واختَر الوحدة والبلاطة حسب الحاجة.
انقر على "حسنًا". سيظهر الإعداد في شريط العنوان. انقر على الزر "▷" ("تشغيل") وسيتم نشر البلاطة وتفعيلها.
معاينة البلاطات في "استوديو Android"
بدءًا من إصدار Koala Feature Drop من "استوديو Android"، يمكنك عرض لقطات من بلاطات تطبيق Wear OS. تكون هذه اللوحة مفيدة بشكل خاص إذا كان مظهر المربّع يتغيّر استجابةً لظروف معيّنة، مثل عرض محتوى مختلف استنادًا إلى حجم العرض الخاص بالجهاز، أو وصول حدث رياضي إلى الشوط الثاني.
إضافة التبعيات
أدرِج التبعيات التالية في ملف 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: خطأ.