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