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

टाइलों को ऐप्लिकेशन नहीं माना जाता. इसलिए, इन्हें अलग-अलग तरीकों से डिप्लॉय और लॉन्च किया जाता है. जब किसी डिवाइस पर डेवलपर विकल्प चालू होते हैं (इम्युलेटर में ये सुविधाएं डिफ़ॉल्ट रूप से चालू होती हैं), तो टाइल डेवलपमेंट में मदद करने वाली अतिरिक्त सुविधाएं 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.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 के रिसोर्स का इस्तेमाल करती है, तो आपको उन्हें TilePreviewData के onTileResourceRequest पैरामीटर में रजिस्टर करना होगा. इसके लिए, यहां दिया गया कोड स्निपेट देखें:

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

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