टाइलों को ऐप्लिकेशन नहीं माना जाता. इसलिए, इन्हें अलग-अलग तरीकों से डिप्लॉय और लॉन्च किया जाता है.
जब किसी डिवाइस पर डेवलपर विकल्प चालू होते हैं (इम्युलेटर में ये सुविधाएं
डिफ़ॉल्ट रूप से चालू होती हैं), तो टाइल डेवलपमेंट में मदद करने वाली अतिरिक्त सुविधाएं
Android Studio और adb, दोनों में उपलब्ध हो जाती हैं.
टाइलों को डिप्लॉय करना
अपनी टाइल को डिप्लॉय करने के लिए, Android Studio का इस्तेमाल करके अपने ऐप्लिकेशन को किसी असली डिवाइस या इम्युलेटर पर इंस्टॉल किया जा सकता है. इसके लिए, अपना ऐप्लिकेशन बनाना और चलाना लेख में बताया गया तरीका अपनाएं. इसके बाद, सामान्य उपयोगकर्ताओं की तरह ही, टाइल कैरसेल में मैन्युअल तरीके से टाइल जोड़ें.
ऐक्टिव डेवलपमेंट के दौरान, Android Studio की "Wear OS टाइल" रन/डीबग कॉन्फ़िगरेशन सुविधा का इस्तेमाल करना ज़्यादा आसान और तेज़ हो सकता है. इस तरीके से, आपकी टाइल अपने-आप डिप्लॉय और चालू हो जाती है. इससे, मैन्युअल तरीके से कोई अतिरिक्त कार्रवाई किए बिना, तुरंत इंटरैक्ट किया जा सकता है.
अपने-आप कॉन्फ़िगर होने की सुविधा
किसी टाइल को डिप्लॉय और चलाने का सबसे आसान तरीका यह है कि गटर में मौजूद "रन सर्विस" आइकॉन का इस्तेमाल किया जाए. अगर रन कॉन्फ़िगरेशन पहले से मौजूद नहीं है, तो यह अपने-आप बन जाता है. ज़्यादा जानकारी के लिए, Wear OS रन/डीबग कॉन्फ़िगरेशन देखें.
मैन्युअल तौर पर कॉन्फ़िगर करना
अगर अपने-आप कॉन्फ़िगर होने की सुविधा काम नहीं करती है या आपको नतीजों पर ज़्यादा कंट्रोल चाहिए, तो यहां दिए गए निर्देश देखें. स्क्रीनशॉट, Android Studio Meerkat (2024.3.1) से लिए गए हैं.
टाइटल बार में जाकर, "⋮" ("हैमबर्गर") विकल्प चुनें.
"बदलाव करें…" को चुनें.
दिखने वाले डायलॉग पर, कोई कॉन्फ़िगरेशन जोड़ने के लिए "+" को चुनें.
नए कॉन्फ़िगरेशन के टाइप के तौर पर, "Wear OS टाइल" को चुनें.
अपने कॉन्फ़िगरेशन के लिए कोई नाम डालें. साथ ही, ज़रूरत के हिसाब से मॉड्यूल और टाइल चुनें.
"ठीक है" पर टैप करें. आपका कॉन्फ़िगरेशन, टाइटल बार में दिखेगा. "▷" ("रन") बटन पर टैप करें. इसके बाद, आपकी टाइल डिप्लॉय और चालू हो जाएगी.
Android Studio में टाइलों की झलक देखना
Android Studio Koala Feature Drop से, अपने Wear OS ऐप्लिकेशन की टाइलों के स्नैपशॉट देखे जा सकते हैं. यह पैनल खास तौर पर तब काम का होता है, जब आपकी टाइल की झलक, अलग-अलग स्थितियों के हिसाब से बदलती है. जैसे, डिवाइस के डिसप्ले साइज़ के हिसाब से अलग-अलग कॉन्टेंट दिखना या किसी खेल इवेंट के हाफ़टाइम पर अलग कॉन्टेंट दिखना.
डिपेंडेंसी जोड़ें
अपने ऐप्लिकेशन की 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: गड़बड़ी.