اجرا و اشکال‌زدایی کاشی

کاشی‌ها برنامه نیستند و بنابراین بااستفاده از سازوکارهای متفاوتی مستقر و راه‌اندازی می‌شوند. وقتی گزینه‌های توسعه‌دهنده در دستگاهی فعال باشد (شبیه‌سازها این ویژگی‌ها را به‌طور پیش‌فرض فعال دارند)، ویژگی‌های اضافی پشتیبانی از توسعه کاشی برای استفاده در استودیو Android و adb دردسترس قرار می‌گیرد.

استقرار کاشی‌ها

برای مستقر کردن کاشی، می‌توانید برنامه‌تان را در دستگاه فیزیکی یا شبیه‌ساز بااستفاده از Android Studio نصب کنید، همان‌طور که در ساختن و اجرای برنامه توضیح داده شده است. سپس، با دنبال کردن همان مراحل کاربران عادی، به‌طور دستی کاشی را به گردونه کاشی‌ها اضافه کنید.

درطول توسعه فعال، ممکن است استفاده از ویژگی پیکربندی اجرا/اشکال‌زدایی «کاشی Wear OS» در «استودیو Android» آسان‌تر و سریع‌تر باشد. این روش کاشی شما را به‌طور خودکار مستقر و فعال می‌کند و امکان تعامل فوری را بدون مراحل دستی اضافی فراهم می‌کند.

ایجاد خودکار پیکربندی

آسان‌ترین راه برای پیاده‌سازی و اجرای کاشی استفاده از نماد «اجرای سرویس» در حاشیه است. اگر پیکربندی اجرا ازقبل وجود نداشته باشد، این کار به‌طور خودکار آن را ایجاد می‌کند. برای اطلاعات بیشتر، پیکربندی‌های اجرا/اشکال‌زدایی Wear OS را ببینید.

نماگرفتی با پیکان قرمز که به «▷» در کنار صفحه اشاره می‌کند
روی «▷» در کنار کلیک کنید
نماگرفتی که پیکان قرمزی را نشان می‌دهد که به منو کرکره‌ای پیکربندی اجرا اشاره می‌کند و گزینه پیکربندی «TestTileService» با خط قرمز مشخص شده است
«پیکربندی اجرا» به‌طور خودکار ایجاد می‌شود

ایجاد پیکربندی به‌صورت دستی

اگر پیکربندی خودکار کار نمی‌کند یا می‌خواهید کنترل بیشتری روی نتیجه داشته باشید، دستورالعمل‌های زیر را ببینید. نماگرفت‌ها از Android Studio Meerkat (2024.3.1) است.

  1. گزینه «⋮» («همبرگری») را از نوار عنوان انتخاب کنید.

    نماگرفت با پیکان قرمز که به گزینه «⋮» («همبرگری») در نوار عنوان اشاره می‌کند.
  2. «ویرایش…» را انتخاب کنید.

    «ویرایش…» اولین گزینه در بخش «پیکربندی» فهرست کرکره‌ای است.
  3. برای افزودن پیکربندی در چارگوش گفتگویی که ظاهر می‌شود، «+» را انتخاب کنید.

    نماگرفتی با پیکان قرمز که به «+» اشاره می‌کند.
  4. «کاشی Wear OS» را به‌عنوان نوع پیکربندی جدید انتخاب کنید.

    نماگرفتی با پیکان قرمز که به گزینه پیکربندی «کاشی Wear OS» اشاره می‌کند.
  5. نامی برای پیکربندی خود وارد کنید و واحد و کاشی را به‌صورت مناسب انتخاب کنید.

    نماگرفت با سه پیکان قرمز که به بخش‌های پنجره گفتگو اشاره می‌کنند.
  6. روی «تأیید» تک‌ضرب بزنید. پیکربندی شما در نوار عنوان نشان داده خواهد شد. روی دکمه «▷» ("اجرا کردن") بزنید تا کاشی‌تان مستقر و فعال شود.

پیش‌دید کردن کاشی‌ها در «استودیو Android»

از «نوویژگی Android Studio Koala» می‌توانید نماگرفت‌هایی از کاشی‌های برنامه 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()
    }
)

نمایش مقادیر خاص از منابع داده پلاتفرم

اگر کاشی شما از داده‌های پلاتفرم استفاده می‌کند—مثل ضربان قلب، کالری، مسافت، و تعداد قدم‌ها—کاشی مقادیر پیش‌فرض را برای آن‌ها نشان می‌دهد.

برای نمایش مقدار خاص، هنگام ایجاد شیء TilePreviewData، پارامتر platformDataValues را تنظیم کنید، همان‌طور که در تکه‌کد زیر نشان داده شده است:

@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.

افزودن کاشی

کاشی ارائه‌شده توسط 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] درج می‌شود. همچنین، اگر گردونه به حداکثر ظرفیت خود رسیده باشد، آخرین کاشی برداشته می‌شود تا برای کاشی جدید جا باز شود.

نمایش-کاشی

کاشی در نمایه 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

برداشتن کاشی

همه نمونه‌های کاشی را در گردونه مربوط به 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: خطا.