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

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

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.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 के संसाधनों का इस्तेमाल किया जाता है, तो आपको उन्हें 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 का इस्तेमाल किया जा सकता है.

यहां दिए गए कमांड में, 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: गड़बड़ी.