Android Studio'da Wear OS karolarını önizleme

Android Studio Koala Özellik Düşüşü'nden başlayarak Wear OS uygulamanızın karolarının anlık görüntülerini görebilirsiniz. Bu panel, özellikle durum, cihazın ekran boyutuna bağlı olarak farklı içerikler gibi koşullara bağlı olarak karo görünümü değişirse veya bir spor etkinliğinin devre yarısına ulaştığı durumlarda faydalıdır.

Önizleme panelindeki grup adları, önizleme ek açıklamasında belirtilen grup adıyla eşleşiyor
Android Studio'da kart önizleme paneli.

Bağımlılıkları ekleme

Uygulamanızın build.gradle.kts veya build.gradle dosyasına aşağıdaki bağımlılıkları ekleyin:

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

Döşeme önizlemelerini yapılandırma

Karonunuzun farklı Wear OS ekran boyutlarında önizlemesini görmek için @Preview ek açıklamasını ekleyip device parametresini iletin. Bu @Preview ek açıklamasının, oluşturulabilir önizlemeler için kullandığınızdan farklı bir pakete ait olduğunu unutmayın.

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()
    }
)

Kaynak ekleme ve kaydetme

Karonuz Android kaynaklarını kullanıyorsa bunları aşağıdaki kod snippet'inde gösterildiği gibi TilePreviewData öğesinin onTileResourceRequest parametresi içinde kaydetmeniz gerekir:

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

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

Platform veri kaynaklarından alınan belirli değerleri göster

Kutunuz nabız, kalori, mesafe ve adım gibi platform verilerini kullanıyorsa kutuda bu veriler için varsayılan değerler gösterilir.

Belirli bir değeri göstermek için aşağıdaki kod snippet'inde gösterildiği şekilde TilePreviewData nesnesini oluştururken platformDataValues parametresini ayarlayın:

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()
    }
)