Samsung Galaxy XR लॉन्च हो गया है, जो Android XR पर काम करता है! यह ब्लॉग पोस्ट, हमारी Android XR Spotlight Week का हिस्सा है. इसमें हम संसाधन उपलब्ध कराते हैं. जैसे, ब्लॉग पोस्ट, वीडियो, सैंपल कोड वगैरह. इन सभी को इस तरह डिज़ाइन किया गया है कि इनसे आपको Android XR के लिए ऐप्लिकेशन बनाने और उन्हें तैयार करने के बारे में जानकारी मिले.
Samsung Galaxy XR लॉन्च हो गया है. यह पहला डिवाइस है जो Android XR पर काम करता है. अब लोग Play Store पर मौजूद अपने पसंदीदा कई ऐप्लिकेशन को एक बिलकुल नए डाइमेंशन में इस्तेमाल कर सकते हैं: तीसरा डाइमेंशन!
तीसरा डाइमेंशन काफ़ी बड़ा है. इसमें आपके ऐप्लिकेशन के लिए भी काफ़ी जगह है. अपने ऐप्लिकेशन के लिए काम करने वाले टूल का इस्तेमाल करके, आज ही शुरुआत करें. उदाहरण के लिए, Kotlin और Compose जैसे Android के मॉडर्न डेवलपमेंट टूल का इस्तेमाल करके, इमर्सिव एक्सआर अनुभव बनाने के लिए, Jetpack XR SDK का इस्तेमाल किया जा सकता है.
इस ब्लॉग पोस्ट में, हम आपको अपने अनुभव के बारे में बताएंगे. इसमें हम यह भी बताएंगे कि हमने अपने पसंदीदा Androidify ऐप्लिकेशन को एक्सआर पर कैसे लाया. इसके अलावा, हम आपको यह भी बताएंगे कि आपके ऐप्लिकेशन को एक्सआर पर लाने के लिए, किन बुनियादी बातों का ध्यान रखना होगा.
Androidify के बारे में जानकारी
Androidify एक ओपन सोर्स ऐप्लिकेशन है. इसकी मदद से, Android बॉट बनाए जा सकते हैं. इसके लिए, Gemini, CameraX, Navigation 3, और Jetpack Compose जैसी नई टेक्नोलॉजी का इस्तेमाल किया जाता है. Androidify को शुरुआत में, अडैप्टिव लेआउट बनाकर फ़ोन, फ़ोल्ड किए जा सकने वाले डिवाइसों, और टैबलेट पर बेहतर दिखने के लिए डिज़ाइन किया गया था.
Androidify, अलग-अलग साइज़, डाइमेंशन या कॉन्फ़िगरेशन वाले डिवाइसों पर बेहतर दिखता है
अडैप्टिव लेआउट का एक अहम हिस्सा, दोबारा इस्तेमाल किए जा सकने वाले कंपोज़ेबल होते हैं. Jetpack Compose की मदद से, यूज़र इंटरफ़ेस (यूआई) के छोटे-छोटे कॉम्पोनेंट बनाए जा सकते हैं. इन्हें अलग-अलग तरीकों से लेआउट किया जा सकता है, ताकि उपयोगकर्ता को सहज अनुभव मिल सके. इससे कोई फ़र्क़ नहीं पड़ता कि उपयोगकर्ता किस तरह का डिवाइस इस्तेमाल कर रहा है. असल में, Androidify, Android XR के साथ काम करता है. इसके लिए, ऐप्लिकेशन में कोई बदलाव नहीं करना पड़ता!
Androidify, कोड में कोई बदलाव किए बिना, बड़े स्क्रीन वाले डिवाइसों के लिए बने रिस्पॉन्सिव लेआउट का इस्तेमाल करके, एक्सआर के हिसाब से काम करता है
जिन ऐप्लिकेशन को Android XR के लिए खास तौर पर नहीं बनाया गया है उन्हें सही साइज़ वाली विंडो में मल्टी-टास्किंग के लिए इस्तेमाल किया जा सकता है. ये ऐप्लिकेशन, बड़ी स्क्रीन वाले डिवाइसों पर भी उसी तरह काम करते हैं. इस वजह से, Androidify, Android XR पर बिना किसी अतिरिक्त काम के पूरी तरह से काम करता है! हालांकि, हम यहीं नहीं रुकना चाहते थे. इसलिए, हमने एक्सआर के उपयोगकर्ताओं को बेहतर अनुभव देने के लिए, एक्सआर के हिसाब से अलग-अलग सुविधाएं देने वाला ऐप्लिकेशन बनाने का फ़ैसला किया.
एक्सआर में खुद को ओरिएंट करना
आइए, Android XR के लिए बुनियादी कॉन्सेप्ट के बारे में जानते हैं. सबसे पहले, उन दो मोड के बारे में जानते हैं जिनमें ऐप्लिकेशन चलाए जा सकते हैं: होम स्पेस और फ़ुल स्पेस.
होम स्पेस में, एक साथ कई ऐप्लिकेशन चलाए जा सकते हैं, ताकि उपयोगकर्ता अलग-अलग विंडो में मल्टीटास्किंग कर सकें. इस मामले में, यह बड़े स्क्रीन वाले Android डिवाइस पर डेस्कटॉप विंडो की तरह काम करता है. हालांकि, यह वर्चुअल स्पेस में होता है!
फ़ुल स्पेस में, ऐप्लिकेशन की कोई स्पेस बाउंड्री नहीं होती. साथ ही, यह Android XR की सभी स्पेशल सुविधाओं का इस्तेमाल कर सकता है. जैसे, स्पेशल यूज़र इंटरफ़ेस (यूआई) और वर्चुअल एनवायरमेंट को कंट्रोल करना.
ऐसा हो सकता है कि आपको अपना ऐप्लिकेशन सिर्फ़ फ़ुल स्पेस में चलाने का मन करे. हालांकि, आपके उपयोगकर्ता, आपके ऐप्लिकेशन के साथ मल्टी-टास्किंग करना चाहें. इसलिए, दोनों मोड में ऐप्लिकेशन चलाने की सुविधा देने से, उपयोगकर्ता को बेहतर अनुभव मिलता है.
Androidify के नए डाइमेंशन के लिए डिज़ाइन करना
किसी भी ऐप्लिकेशन को बेहतर बनाने के लिए, उसका डिज़ाइन अच्छा होना चाहिए. Android DevRel में सीनियर डिज़ाइन एडवोकेट, आइवी नाइट ने Androidify के मौजूदा डिज़ाइन को एक्सआर के लिए नए डिज़ाइन में बदलने का काम किया. आइवी, अब आप अपनी बात रखें!
एक्सआर के लिए डिज़ाइन करने के लिए, एक अलग तरीके की ज़रूरत थी. हालांकि, इसमें मोबाइल के डिज़ाइन से काफ़ी समानता थी. हमने कंटेनमेंट के बारे में सोचकर शुरुआत की. इसका मतलब है कि सबस्पेस में अपने यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कैसे व्यवस्थित और ग्रुप किया जाए. इसके लिए, बाउंड्री साफ़ तौर पर दिखाई जा सकती हैं या उन्हें हल्के तौर पर दिखाया जा सकता है. हमने स्पेशल यूज़र इंटरफ़ेस (यूआई) एलिमेंट के अलग-अलग साइज़ का इस्तेमाल करना भी सीखा. ये एलिमेंट, उपयोगकर्ता के हिसाब से अडजस्ट और मूव होते हैं. Androidify के लिए, अडैप्टिव लेआउट का इस्तेमाल करके डिज़ाइन करें, ताकि स्पेशल यूज़र इंटरफ़ेस (यूआई) के लिए अपने लेआउट को हिस्सों में बांटा जा सके.
होम स्पेस के लिए डिज़ाइन करना
अच्छी बात यह है कि Android XR में, होम स्पेस के लिए अपने ऐप्लिकेशन को मौजूदा डिज़ाइन में ही इस्तेमाल किया जा सकता है. इसलिए, हमने विंडो टूलबार और फ़ुल स्पेस ट्रांज़िशन बटन जोड़कर, एक्सआर के लिए बड़े डिज़ाइन में बदलाव किया.
हमने हार्डवेयर की संभावित सुविधाओं और उपयोगकर्ता के साथ उनके इंटरैक्ट करने के तरीके पर भी विचार किया. Androidify के मोबाइल लेआउट, अलग-अलग पोज़, क्लास साइज़, और कैमरों की संख्या के हिसाब से अडैप्ट होते हैं, ताकि फ़ोटो के ज़्यादा विकल्प मिल सकें. इस मॉडल के हिसाब से, हमें हेडसेट डिवाइसों के लिए कैमरा लेआउट को भी अडैप्ट करना पड़ा. हमें टेक्स्ट के लिए भी बदलाव करने पड़े, ताकि यूज़र इंटरफ़ेस (यूआई) के उपयोगकर्ता के पास होने पर भी टेक्स्ट ठीक से दिखे.
फ़ुल स्पेस के लिए डिज़ाइन करना
फ़ुल स्पेस में बदलाव करना सबसे मुश्किल था. हालांकि, इससे हमें अपने डिज़ाइन को अडैप्ट करने के लिए सबसे ज़्यादा क्रिएटिव स्पेस मिला.
Androidify, विज़ुअल कंटेनमेंट या पैन का इस्तेमाल करके, सुविधाओं को बैकग्राउंड और आउटलाइन के साथ ग्रुप करता है. जैसे, "फ़ोटो लें या चुनें" पैन. हमने अन्य पैन को फ़्रेम करके, नैचुरल कंटेनमेंट बनाने के लिए, टॉप ऐप्लिकेशन बार जैसे कॉम्पोनेंट का भी इस्तेमाल किया. आखिर में, इंट्रिंसिक कंटेनमेंट का सुझाव, कुछ एलिमेंट के आस-पास मौजूद अन्य एलिमेंट से मिलता है. जैसे, "ट्रांसफ़ॉर्मेशन शुरू करें" बटन, जो "मेरे बॉट का रंग चुनें" पैन के पास है.
स्पेशल पैनल को आसानी से अलग किया जा सकता है. स्पेशल पैनल के लिए, मोबाइल के डिज़ाइन को अडैप्ट करने का तरीका तय करने के लिए, सबसे पीछे मौजूद सतह से शुरू करके, सतहों को हटाने की कोशिश करें. इसके बाद, आगे बढ़ें. देखें कि कितने बैकग्राउंड हटाए जा सकते हैं और क्या बाकी रहता है. Androidify के लिए, यह तरीका आज़माने के बाद, बड़ा हरा Android स्क्विगल बाकी रहा. स्क्विगल ने न सिर्फ़ ब्रैंडिंग मोमेंट और बैकग्राउंड के तौर पर काम किया, बल्कि 3D स्पेस में कॉन्टेंट के लिए ऐंकर के तौर पर भी काम किया.
इस ऐंकर को सेट अप करने से, यह समझना आसान हो गया कि एलिमेंट इसके आस-पास कैसे मूव कर सकते हैं. साथ ही, हम आस-पास मौजूद एलिमेंट का इस्तेमाल करके, उपयोगकर्ता अनुभव के बाकी हिस्सों को कैसे बेहतर बना सकते हैं.
अपने ऐप्लिकेशन को स्पेशल बनाने के लिए, डिज़ाइन से जुड़े अन्य सुझाव
- एलिमेंट को कंटेन न करें: कॉम्पोनेंट को अलग करें और उन्हें कुछ असली (स्पेशल) स्पेस दें. अब समय आ गया है कि उन यूज़र इंटरफ़ेस (यूआई) एलिमेंट को कुछ स्पेस दिया जाए.
- सतहों को हटाएं: बैकग्राउंड छिपाएं और देखें कि इससे आपके डिज़ाइन पर क्या असर पड़ता है.
- मोशन का इस्तेमाल करके, उपयोगकर्ताओं को ऐप्लिकेशन इस्तेमाल करने के लिए प्रेरित करें: अपने ऐप्लिकेशन में ट्रांज़िशन का इस्तेमाल कैसे किया जा रहा है? उस कैरेक्टर का इस्तेमाल करके, अपने ऐप्लिकेशन को वीआर में लाने की कल्पना करें.
- कोई ऐंकर चुनें: उपयोगकर्ताओं को स्पेस में न खोने दें. कोई ऐसा एलिमेंट इस्तेमाल करें जो यूज़र इंटरफ़ेस (यूआई) को इकट्ठा करने या ग्राउंड करने में मदद करे.
एक्सआर यूज़र इंटरफ़ेस (यूआई) डिज़ाइन पैटर्न के बारे में ज़्यादा जानने के लिए, Android Developers पर Android XR के लिए डिज़ाइन करना लेख पढ़ें.
स्पेशल यूज़र इंटरफ़ेस (यूआई) की बुनियादी बातें
अब हमने आइवी के अनुभव के बारे में जान लिया है. इसमें बताया गया है कि उन्होंने Androidify को एक्सआर के लिए डिज़ाइन करते समय, अपनी सोच को कैसे अडैप्ट किया. अब हम स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करने के बारे में बात करेंगे. अगर आपको Android के मॉडर्न टूल और लाइब्रेरी के साथ काम करने का अनुभव है, तो Jetpack XR SDK की मदद से स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करना आसान लगेगा. आपको ऐसे कॉन्सेप्ट मिलेंगे जिनसे आप पहले से ही परिचित हैं. जैसे, Compose की मदद से लेआउट बनाना. असल में, स्पेशल लेआउट, पंक्तियों, कॉलम, और स्पेसर का इस्तेमाल करके बनाए गए 2D लेआउट से काफ़ी मिलते-जुलते होते हैं:
इन एलिमेंट को SpatialRows और SpatialColumns में व्यवस्थित किया गया है
यहां दिखाए गए स्पेशल एलिमेंट, SpatialPanel कंपोज़ेबल हैं. इनकी मदद से, टेक्स्ट, बटन, और वीडियो जैसे 2D कॉन्टेंट दिखाए जा सकते हैं.
Subspace {
SpatialPanel(
SubspaceModifier
.height(824.dp)
.width(1400.dp)
) {
Text("I'm a panel!")
}
}SpatialPanel, एक सबस्पेस कंपोज़ेबल है. सबस्पेस कंपोज़ेबल को किसी सबस्पेस में शामिल किया जाना चाहिए. साथ ही, इन्हें SubspaceModifier ऑब्जेक्ट से बदला जाता है. सबस्पेस को आपके ऐप्लिकेशन के यूज़र इंटरफ़ेस (यूआई) के किसी भी लेवल पर रखा जा सकता है. साथ ही, इनमें सिर्फ़ सबस्पेस कंपोज़ेबल शामिल किए जा सकते हैं.SubspaceModifier ऑब्जेक्ट, Modifier ऑब्जेक्ट से भी काफ़ी मिलते-जुलते होते हैं. ये साइज़िंग और पोज़िशनिंग जैसे पैरामीटर को कंट्रोल करते हैं.
किसी Orbiter को SpatialPanelसे जोड़ा जा सकता है. साथ ही, यह उस कॉन्टेंट के साथ मूव हो सकता है जिससे इसे जोड़ा गया है. इनका इस्तेमाल अक्सर, उस कॉन्टेंट के बारे में कॉन्टेक्चुअल कंट्रोल देने के लिए किया जाता है जिससे इन्हें जोड़ा गया है. इससे कॉन्टेंट को मुख्य फ़ोकस मिलता है. इन्हें कॉन्टेंट के चारों ओर, किसी भी तरफ़, कॉन्फ़िगर की जा सकने वाली दूरी पर रखा जा सकता है.
स्पेशल यूज़र इंटरफ़ेस (यूआई) के कई अन्य एलिमेंट भी हैं. हालांकि, Androidify के लिए स्पेशल लेआउट बनाने के लिए, हमने मुख्य तौर पर इन्हीं एलिमेंट का इस्तेमाल किया.
एक्सआर डेवलपमेंट शुरू करना
आइए, प्रोजेक्ट सेटअप से शुरुआत करते हैं. हमने Jetpack XR Compose डिपेंडेंसी जोड़ी है. यह आपको Jetpack XR डिपेंडेंसी वाले पेज पर मिलेगी.
हमने एक बटन के लिए कोड जोड़ा है. इससे उपयोगकर्ता को फ़ुल स्पेस में ले जाया जा सकता है. इसके लिए, सबसे पहले यह पता लगाया जाता है कि ऐसा किया जा सकता है या नहीं:
@Composable fun couldRequestFullSpace(): Boolean = LocalSpatialConfiguration.current.hasXrSpatialFeature && !LocalSpatialCapabilities.current.isSpatialUiEnabled }
इसके बाद, हमने एक नया बटन कॉम्पोनेंट बनाया. इसमें हमने अपने मौजूदा लेआउट में, कॉन्टेंट को बड़ा करने वाला आइकॉन इस्तेमाल किया. साथ ही, इसे onClick बिहेवियर दिया:
@Composable
fun RequestFullSpaceIconButton() {
if (!couldRequestFullSpace()) return
val session = LocalSession.current ?: return
IconButton(
onClick = {
session.scene.requestFullSpaceMode()
},
) {
Icon(
imageVector =
vectorResource(R.drawable.expand_content_24px),
contentDescription =
stringResource("To Full Space"),
)
}
}अब उस बटन पर क्लिक करने पर, फ़ुल स्पेस में सिर्फ़ मीडियम लेआउट दिखता है. हम स्पेशल सुविधाओं की जांच कर सकते हैं और यह तय कर सकते हैं कि स्पेशल यूज़र इंटरफ़ेस (यूआई) दिखाया जा सकता है या नहीं. अगर ऐसा किया जा सकता है, तो हम अपना नया स्पेशल लेआउट दिखाएंगे:
@Composable
fun HomeScreenContents(layoutType: HomeScreenLayoutType) {
val layoutType = when {
LocalSpatialCapabilities.current.isSpatialUiEnabled ->
HomeScreenLayoutType.Spatial
isAtLeastMedium() -> HomeScreenLayoutType.Medium
else -> HomeScreenLayoutType.Compact
}
when (layoutType) {
HomeScreenLayoutType.Compact ->
HomeScreenCompactPager(...)
HomeScreenLayoutType.Medium ->
HomeScreenMediumContents(...)
HomeScreenLayoutType.Spatial ->
HomeScreenContentsSpatial(...)
}
}होम स्क्रीन के लिए डिज़ाइन लागू करना
आइए, फ़ुल स्पेस में होम स्क्रीन के लिए स्पेशल डिज़ाइन पर वापस जाते हैं, ताकि यह समझा जा सके कि इसे कैसे लागू किया गया.
यहां हमने दो SpatialPanel एलिमेंट की पहचान की है: एक पैनल, जिसमें दाईं ओर वीडियो कार्ड है. दूसरा पैनल, जिसमें मुख्य यूज़र इंटरफ़ेस (यूआई) है. आखिर में, सबसे ऊपर एक Orbiter जोड़ा गया है. आइए, वीडियो प्लेयर पैनल से शुरुआत करते हैं:
@Composable
fun HomeScreenContentsSpatial(...) {
Subspace {
SpatialPanel(SubspaceModifier
.fillMaxWidth(0.2f)
.fillMaxHeight(0.8f)
.aspectRatio(0.77f)
.rotate(0f, 0f, 5f),
) {
VideoPlayer(videoLink)
}
}
}हमने सामान्य लेआउट से 2D VideoPlayer कॉम्पोनेंट को, बिना किसी बदलाव के SpatialPanel में फिर से इस्तेमाल किया! यह स्टैंडअलोन में इस तरह दिखता है:
मुख्य कॉन्टेंट पैनल के लिए भी यही तरीका अपनाया गया. हमने SpatialPanel में मीडियम पैनल कॉन्टेंट को फिर से इस्तेमाल किया.
SpatialPanel(SubspaceModifier.fillMaxSize(),
resizePolicy = ResizePolicy(
shouldMaintainAspectRatio = true
),
dragPolicy = MovePolicy()
) {
Box {
FillBackground(R.drawable.squiggle_full)
HomeScreenSpatialMainContent(...)
}
}हमने इस पैनल को ResizePolicy दिया है. इससे पैनल के किनारों के पास कुछ हैंडल मिलते हैं. इनकी मदद से, उपयोगकर्ता पैनल का साइज़ बदल सकता है. इसमें MovePolicy भी है. इसकी मदद से, उपयोगकर्ता इसे ड्रैग कर सकता है.
इन्हें एक ही सबस्पेस में रखने से, ये एक-दूसरे से अलग हो जाते हैं. इसलिए, हमने VideoPlayer पैनल को मुख्य कॉन्टेंट पैनल का चाइल्ड बनाया. इससे, पैरंट-चाइल्ड रिलेशनशिप की वजह से, मुख्य कॉन्टेंट पैनल को ड्रैग करने पर, VideoPlayer पैनल भी मूव होता है.
@Composable
fun HomeScreenContentsSpatial(...) {
Subspace {
SpatialPanel(SubspaceModifier..., resizePolicy, dragPolicy) {
Box {
FillBackground(R.drawable.squiggle_full)
HomeScreenSpatialMainContent(...)
}
Subspace {
SpatialPanel(SubspaceModifier...) {
VideoPlayer(videoLink)
}
}
}
}
}हमने पहली स्क्रीन इसी तरह बनाई!
अब अन्य स्क्रीन पर आते हैं
मैं अन्य स्क्रीन के बारे में भी संक्षेप में बताऊंगी. साथ ही, हर स्क्रीन के लिए किए गए खास बदलावों को हाइलाइट करूंगी.
यहां हमने SpatialRow और SpatialColumn कंपोज़ेबल का इस्तेमाल करके, ऐसा लेआउट बनाया है जो सुझाए गए व्यूइंग स्पेस के हिसाब से हो. इसके लिए, हमने मीडियम लेआउट से कॉम्पोनेंट को फिर से इस्तेमाल किया है.
फ़ुल स्पेस में नतीजों की स्क्रीन: प्रॉम्प्ट की मदद से जनरेट किया गया बॉट: लाल रंग की बेसबॉल कैप, एविएटर सनग्लास, हल्के नीले रंग की टी-शर्ट, लाल और सफ़ेद रंग के चेकर्ड शॉर्ट्स, हरे रंग की फ़्लिप-फ़्लॉप, और टेनिस रैकेट पकड़ा हुआ है.
नतीजों की स्क्रीन पर, फ़ेदरिंग इफ़ेक्ट का इस्तेमाल करके, मुफ़्त में मिलने वाले कोट दिखाए जाते हैं. इससे ये स्क्रीन के किनारों के पास फ़ेड आउट हो जाते हैं. इसमें इस्तेमाल किए गए इनपुट को देखने के लिए, 3D ट्रांज़िशन का भी इस्तेमाल किया जाता है. इससे स्पेस में मौजूद तस्वीर फ़्लिप हो जाती है.
Google Play Store पर पब्लिश करना
अब ऐप्लिकेशन, स्पेशल लेआउट के साथ एक्सआर के लिए तैयार है. इसलिए, हमने इसे Play Store पर रिलीज़ किया. हमने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में एक आखिरी और अहम बदलाव किया है:
<!-- Androidify can use XR features if they're available; they're not required. -->
<uses-feature android:name="android.software.xr.api.spatial"
android:required="false" />इससे Play Store को पता चलता है कि इस ऐप्लिकेशन में एक्सआर के हिसाब से अलग-अलग सुविधाएं हैं. साथ ही, एक बैज दिखता है. इससे उपयोगकर्ताओं को पता चलता है कि ऐप्लिकेशन को एक्सआर को ध्यान में रखकर बनाया गया है:
रिलीज़ अपलोड करते समय, हमें एक्सआर के लिए रिलीज़ करने के लिए किसी खास चरण की ज़रूरत नहीं होती. मोबाइल ट्रैक पर उपयोगकर्ताओं को जिस तरह ऐप्लिकेशन डिस्ट्रिब्यूट किया जाता है, उसी तरह एक्सआर डिवाइस पर उपयोगकर्ताओं को भी डिस्ट्रिब्यूट किया जाता है! हालांकि, आपके पास अपने ऐप्लिकेशन के एक्सआर के लिए खास तौर पर बनाए गए स्क्रीनशॉट जोड़ने या स्पेशल वीडियो ऐसेट का इस्तेमाल करके, अपने ऐप्लिकेशन का इमर्सिव प्रीव्यू अपलोड करने का विकल्प होता है. Android XR डिवाइसों पर, Play Store इसे अपने-आप इमर्सिव 3D प्रीव्यू के तौर पर दिखाता है. इससे उपयोगकर्ता, ऐप्लिकेशन इंस्टॉल करने से पहले, आपके कॉन्टेंट की गहराई और स्केल का अनुभव कर सकते हैं.
आज ही अपने अनुभव बनाना शुरू करें
Androidify, मौजूदा 2D Jetpack Compose ऐप्लिकेशन को स्पेशल बनाने का एक बेहतरीन उदाहरण है. आज हमने Androidify के लिए स्पेशल यूज़र इंटरफ़ेस (यूआई) डेवलप करने की पूरी प्रोसेस दिखाई. इसमें डिज़ाइन से लेकर कोडिंग और पब्लिश करने तक की जानकारी शामिल है. हमने मौजूदा डिज़ाइन में बदलाव करके, उन्हें स्पेशल पैराडाइम के साथ काम करने के लिए तैयार किया. साथ ही, SpatialPanel और Orbiter कंपोज़ेबल का इस्तेमाल करके, स्पेशल लेआउट बनाए. ये लेआउट, उपयोगकर्ता के फ़ुल स्पेस में जाने पर दिखते हैं. आखिर में, हमने ऐप्लिकेशन का नया वर्शन Play Store पर रिलीज़ किया.
हमें उम्मीद है कि इस ब्लॉग पोस्ट से, आपको यह समझने में मदद मिली होगी कि अपने ऐप्लिकेशन को Android XR पर कैसे लाया जा सकता है! यहां कुछ और लिंक दिए गए हैं, जिनसे आपको मदद मिल सकती है:
- Androidify का सोर्स कोड देखें और Google Play पर Androidify का इस्तेमाल करके, अपना बॉट बनाएं.
- हमारे डेवलपर दस्तावेज़ों का इस्तेमाल शुरू करें और एक्सआर के लिए Jetpack Compose के बारे में ज़्यादा जानें.
- Android XR एम्युलेटर डाउनलोड करें और अपने ऐप्लिकेशन को आज़माएं!
-
तरीका बताने वाले लेखMedia3 1.11 लॉन्च हो गया है. Android के ज़्यादातर टॉप मीडिया ऐप्लिकेशन में, इस रिलीज़ में नई सुविधाएं, गड़बड़ियां ठीक की गई हैं, और प्लेबैक, एडिटिंग, और यूज़र इंटरफ़ेस (यूआई) कॉम्पोनेंट में सुधार किए गए हैं.
Toni Heidenreich • पढ़ने में 3 मिनट लगेंगे -
तरीका बताने वाले लेखब्लॉग पोस्ट की सीरीज़ "इंटेलिजेंट Android ऐप्लिकेशन बनाना" में आपका फिर से स्वागत है. इसमें हम एक सामान्य Android ऐप्लिकेशन को, उपयोगकर्ता के हिसाब से, इंटेलिजेंट, और एजेंटिक अनुभव में बदलते हैं. अपनी पिछली पोस्ट में, हमने Jetpacker के बारे में बताया था. यह डेमो ऐप्लिकेशन है, जिसका इस्तेमाल हम इस सीरीज़ में करेंगे.
Caren Chang • पढ़ने में 6 मिनट लगेंगे -
तरीका बताने वाले लेखJetpacker, एक तकनीकी शोकेस ऐप्लिकेशन है. इसे हमारी टीम ने इस साल के Google I/O के लिए बनाया है. इसे Antigravity का इस्तेमाल करके बनाया गया है. Jetpacker की मदद से, उपयोगकर्ता अपने अगले रोमांचक सफ़र की योजना बना सकते हैं, उसे एक्सप्लोर कर सकते हैं, और उसका आनंद ले सकते हैं.
Jolanda Verhoef • पढ़ने में 4 मिनट लगेंगे
Android डेवलपमेंट से जुड़ी नई जानकारी, हर हफ़्ते अपने इनबॉक्स में पाएं.