टाइल को चलाना और डीबग करना

टाइल, ऐप्लिकेशन नहीं हैं. इसलिए, उन्हें अलग-अलग तरीकों से डिप्लॉय और लॉन्च किया जाता है. जब किसी डिवाइस पर डेवलपर के विकल्प चालू होते हैं (एमुलेटर में ये सुविधाएं डिफ़ॉल्ट रूप से चालू होती हैं), तो टाइल डेवलपमेंट के लिए अतिरिक्त सुविधाएं Android Studio और adb, दोनों में इस्तेमाल के लिए उपलब्ध हो जाती हैं.

टाइल डिप्लॉय करना

अपनी टाइल को डिप्लॉय करने के लिए, Android Studio का इस्तेमाल करके, अपने ऐप्लिकेशन को किसी फ़िज़िकल डिवाइस या एमुलेटर पर इंस्टॉल किया जा सकता है. इसके बारे में अपना ऐप्लिकेशन बनाएं और चलाएं में बताया गया है. इसके बाद, सामान्य उपयोगकर्ताओं के जैसे ही, मैन्युअल तरीके से टाइल को टाइल कैरसेल में जोड़ें.

ऐप्लिकेशन डेवलप करने के दौरान, आपको Android Studio की "Wear OS टाइल" रन/डीबग कॉन्फ़िगरेशन सुविधा का इस्तेमाल करना आसान और तेज़ लग सकता है. इस तरीके से, टाइल अपने-आप डिप्लॉय और चालू हो जाती है. इससे, मैन्युअल तरीके से कुछ करने की ज़रूरत नहीं पड़ती और तुरंत इंटरैक्ट किया जा सकता है.

कॉन्फ़िगरेशन अपने-आप बनना

टाइल को डिप्लॉय और चलाने का सबसे आसान तरीका यह है कि गटर में मौजूद "सेवा चलाएं" आइकॉन का इस्तेमाल करें. अगर पहले से कोई रन कॉन्फ़िगरेशन मौजूद नहीं है, तो यह अपने-आप एक रन कॉन्फ़िगरेशन बना देता है. ज़्यादा जानकारी के लिए, Wear OS के लिए, ऐप्लिकेशन चलाने/डीबग करने के कॉन्फ़िगरेशन देखें.

गटर में "▷" पर लाल रंग के तीर से इशारा करते हुए स्क्रीनशॉट
गटर में "▷" पर क्लिक करें
स्क्रीनशॉट में, लाल रंग के ऐरो से रन कॉन्फ़िगरेशन ड्रॉपडाउन को दिखाया गया है. साथ ही, "TestTileService" कॉन्फ़िगरेशन विकल्प को लाल रंग में दिखाया गया है
"रन कॉन्फ़िगरेशन" अपने-आप बन जाता है

मैन्युअल तरीके से कॉन्फ़िगरेशन बनाना

अगर अपने-आप कॉन्फ़िगर होने की सुविधा काम नहीं करती है या आपको नतीजे पर ज़्यादा कंट्रोल चाहिए, तो नीचे दिए गए निर्देश देखें. ये स्क्रीनशॉट, Android Studio के Meerkat (2024.3.1) वर्शन के हैं.

  1. टाइटल बार से, "⋮" ("हैमबर्गर") विकल्प चुनें.

    स्क्रीनशॉट, जिसमें लाल रंग के ऐरो से टाइटल बार में मौजूद "⋮" ("हैमबर्गर") विकल्प को दिखाया गया है.
  2. "बदलाव करें…" को चुनें.

    ड्रॉप-डाउन सूची के कॉन्फ़िगरेशन सेक्शन में, "बदलाव करें…" पहला विकल्प होता है.
  3. दिखने वाले डायलॉग में कॉन्फ़िगरेशन जोड़ने के लिए, "+" चुनें.

    स्क्रीनशॉट, जिसमें लाल रंग के ऐरो से "+" पर ले जाया जा रहा है.
  4. नए कॉन्फ़िगरेशन के टाइप के तौर पर, "Wear OS टाइल" चुनें.

    "Wear OS टाइल" कॉन्फ़िगरेशन विकल्प की ओर लाल रंग के ऐरो से इंगित करने वाला स्क्रीनशॉट.
  5. अपने कॉन्फ़िगरेशन के लिए कोई नाम डालें और ज़रूरत के हिसाब से मॉड्यूल और टाइल चुनें.

    डायलॉग विंडो के हिस्सों की ओर इशारा करने वाले तीन लाल ऐरो वाला स्क्रीनशॉट.
  6. "ठीक है" पर टैप करें. आपका कॉन्फ़िगरेशन, टाइटल बार में दिखेगा. "▷" ("रन करें") बटन पर टैप करें. ऐसा करने पर, आपकी टाइल डिप्लॉय और चालू हो जाएगी.

Android Studio में टाइल की झलक देखना

Android Studio Koala Feature Drop में, आपको अपने Wear OS ऐप्लिकेशन की टाइल के स्नैपशॉट देखने की सुविधा मिलेगी. यह पैनल खास तौर पर तब फ़ायदेमंद होता है, जब आपकी टाइल की दिखने की सेटिंग, किसी स्थिति के हिसाब से बदलती हो. जैसे, डिवाइस के डिसप्ले साइज़ के हिसाब से अलग-अलग कॉन्टेंट या किसी स्पोर्ट्स इवेंट के हाफ़टाइम तक पहुंचने पर.

झलक दिखाने वाले पैनल में ग्रुप के नाम, झलक के एनोटेशन में दिए गए ग्रुप के नाम से मेल खाते हैं
Android Studio में टाइल की झलक दिखाने वाला पैनल.

डिपेंडेंसी जोड़ें

अपने ऐप्लिकेशन की build.gradle.kts या build.gradle फ़ाइल में ये डिपेंडेंसी शामिल करें:

dependencies {
    implementation("androidx.wear.tiles:tiles-tooling-preview:1.5.0-alpha10")
    debugImplementation("androidx.wear.tiles:tiles-tooling:1.5.0-alpha10")
    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 संसाधनों का इस्तेमाल किया जाता है, तो आपको उन्हें TilePreviewData के onTileResourceRequest पैरामीटर में रजिस्टर करना होगा, जैसा कि नीचे दिए गए कोड स्निपेट में दिखाया गया है:

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

प्लैटफ़ॉर्म के डेटा सोर्स से खास वैल्यू दिखाना

अगर आपकी टाइल, प्लैटफ़ॉर्म के डेटा का इस्तेमाल करती है, जैसे कि दिल की दर, कैलोरी, दूरी, और कदम, तो टाइल उनका डेटा डिफ़ॉल्ट वैल्यू के तौर पर दिखाती है.

कोई खास वैल्यू दिखाने के लिए, TilePreviewData ऑब्जेक्ट बनाते समय platformDataValues पैरामीटर सेट करें, जैसा कि यहां दिए गए कोड स्निपेट में दिखाया गया है:

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

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: गड़बड़ी.