इस पेज पर ऐसे रिसॉर्स के बारे में बताया गया है जिन्हें बाहरी वर्शन के तौर पर इस्तेमाल किया जा सकता है:
- बूल
- एक्सएमएल संसाधन, जिसमें बूलियन वैल्यू होती है.
- रंग
- एक्सएमएल संसाधन, जिसमें रंग की वैल्यू (हेक्साडेसिमल रंग) होती है.
- डाइमेंशन
- एक्सएमएल संसाधन, जिसमें डाइमेंशन वैल्यू (माप की इकाई के साथ) होती है.
- इंडोनेशिया
- एक्सएमएल संसाधन, जो ऐप्लिकेशन के संसाधनों और कॉम्पोनेंट.
- पूरी संख्या
- एक्सएमएल संसाधन, जिसमें पूर्णांक वैल्यू हो.
- पूरी संख्या
- एक्सएमएल संसाधन, जो पूर्णांकों का कलेक्शन उपलब्ध कराता है.
- टाइप किया गया कलेक्शन
- एक्सएमएल संसाधन, जो
TypedArray
देता है (जिसका इस्तेमाल किया जा सकता है ड्रॉबल कैटगरी के लिए).
बूल
एक्सएमएल में तय की गई बूलियन वैल्यू.
ध्यान दें: बूल एक सामान्य रिसॉर्स है, जिसका रेफ़रंस दिया गया है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, एक एक्सएमएल फ़ाइल में बूल रिसॉर्स को अन्य सामान्य रिसॉर्स के साथ जोड़ा जा सकता है,
एक <resources>
एलिमेंट के तहत.
- फ़ाइल की जगह:
res/values/filename.xml
फ़ाइल नाम आर्बिट्रेरी है.<bool>
एलिमेंट केname
को संसाधन के तौर पर इस्तेमाल किया जाता है आईडी.- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.bool.bool_name
एक्सएमएल में:@[package:]bool/bool_name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="bool_name" >[true | false]</bool> </resources>
- एलिमेंट:
- उदाहरण:
- एक्सएमएल फ़ाइल
res/values-small/bools.xml
पर सेव की गई:<?xml version="1.0" encoding="utf-8"?> <resources> <bool name="screen_small">true</bool> <bool name="adjust_view_bounds">true</bool> </resources>
नीचे दिया गया ऐप्लिकेशन कोड बूलियन को फिर से हासिल करता है:
Kotlin
val screenIsSmall: Boolean =
resources
.getBoolean
(R.bool.screen_small)Java
Resources res =
getResources()
; boolean screenIsSmall = res.getBoolean
(R.bool.screen_small);नीचे दिया गया लेआउट एक्सएमएल एक एट्रिब्यूट के लिए बूलियन का इस्तेमाल करता है:
<ImageView android:layout_height="fill_parent" android:layout_width="fill_parent" android:src="@drawable/logo" android:adjustViewBounds="@bool/adjust_view_bounds" />
रंग
एक्सएमएल में तय की गई रंग की वैल्यू.
रंग को किसी आरजीबी वैल्यू और ऐल्फ़ा चैनल का इस्तेमाल करके तय किया जाता है. रंग के रिसॉर्स का इस्तेमाल किया जा सकता है
कोई भी जगह जो हेक्साडेसिमल कलर वैल्यू स्वीकार करती है. आप रंग के संसाधन का इस्तेमाल तब भी कर सकते हैं, जब
ड्रॉ करने लायक संसाधन का एक्सएमएल में अनुमान होना चाहिए, जैसे कि android:drawable="@color/green"
.
वैल्यू हमेशा पाउंड (#) वर्ण से शुरू होती है. इसके बाद, वैल्यू नीचे दिए गए किसी एक फ़ॉर्मैट में, अल्फ़ा-लाल-हरे-नीले रंग की जानकारी:
- #आरजीबी
- #एआरजीबी
- #RRGGBB
- #AARRGGBB
ध्यान दें: रंग एक साधारण संसाधन है, जिसका रेफ़रंस दिया गया है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, एक एक्सएमएल फ़ाइल में कलर रिसॉर्स को अन्य सामान्य रिसॉर्स के साथ जोड़ा जा सकता है,
एक <resources>
एलिमेंट के तहत.
- फ़ाइल की जगह:
res/values/colors.xml
फ़ाइल नाम आर्बिट्रेरी है.<color>
एलिमेंट केname
का इस्तेमाल इस तरह किया जाता है: संसाधन आईडी का इस्तेमाल करें.- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.color.color_name
एक्सएमएल में:@[package:]color/color_name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <color name="color_name" >hex_color</color> </resources>
- एलिमेंट:
- उदाहरण:
- एक्सएमएल फ़ाइल
res/values/colors.xml
पर सेव की गई:<?xml version="1.0" encoding="utf-8"?> <resources> <color name="opaque_red">#f00</color> <color name="translucent_red">#80ff0000</color> </resources>
नीचे दिया गया ऐप्लिकेशन कोड, कलर रिसॉर्स को फिर से इकट्ठा करता है:
Kotlin
val color: Int =
resources
.getColor
(R.color.opaque_red)Java
Resources res =
getResources()
; int color = res.getColor
(R.color.opaque_red);यह लेआउट एक्सएमएल किसी एट्रिब्यूट पर रंग लागू करता है:
<TextView android:layout_width="fill_parent" android:layout_height="wrap_content" android:textColor="@color/translucent_red" android:text="Hello"/>
डाइमेंशन
एक्सएमएल में तय की गई डाइमेंशन वैल्यू. एक आयाम किसी संख्या के बाद माप की इकाई दी जाती है, जैसे कि 10px, 2in या 5sp. Android में माप की ये इकाइयां काम करती हैं:
dp
- डेंसिटी-इंडिपेंडेंट पिक्सल: एक ऐब्स्ट्रैक्ट यूनिट, जो
स्क्रीन. ये इकाइयां 160 डीपीआई (बिंदु प्रति इंच) स्क्रीन से जुड़ी हैं, जिस पर 1 डीपी करीब-करीब बराबर होता है
साइज़ 1 पिक्सल होना चाहिए. ज़्यादा सघनता वाली स्क्रीन पर दौड़ने के दौरान, एक डीपी को बनाने के लिए इस्तेमाल किए जाने वाले पिक्सल की संख्या को बढ़ाया जाता है
के हिसाब से फ़िल्टर किया जाता है.
इसी तरह, कम डेंसिटी वाली स्क्रीन पर, पिक्सल को छोटा किया जाता है. डीपी से पिक्सल के अनुपात में स्क्रीन की सघनता के हिसाब से बदलाव होता है. लेकिन ज़रूरी नहीं है कि यह सीधे तौर पर मिले. पिक्सल यूनिट के बजाय, डीपी यूनिट का इस्तेमाल करना एक समाधान है ताकि आपके लेआउट में व्यू के डाइमेंशन का साइज़, अलग-अलग स्क्रीन डेंसिटी के हिसाब से सही तरीके से साइज़ बदला जा सके. यह अलग-अलग प्लैटफ़ॉर्म पर, आपके यूज़र इंटरफ़ेस (यूआई) एलिमेंट के रीयल-वर्ल्ड साइज़ के हिसाब से एक जैसा काम करता है डिवाइस.
sp
- स्केल-इंडिपेंडेंट पिक्सल - यह डीपी यूनिट की तरह है, लेकिन इसे उपयोगकर्ता के फ़ॉन्ट के हिसाब से भी स्केल किया जाता है आकार प्राथमिकता. यह सुझाव दिया जाता है कि आप फ़ॉन्ट आकार तय करते समय इस इकाई का इस्तेमाल करें, ताकि उन्हें बदला जा सके स्क्रीन की सघनता और उपयोगकर्ता की पसंद, दोनों के लिए.
pt
- पॉइंट: स्क्रीन के साइज़ के हिसाब से, ��ंच का 1/72 पॉइंट, एक 72 डीपीआई सघनता स्क्रीन मानकर.
px
- पिक्सल: स्क्रीन पर दिखने वाले असल पिक्सल से मिलता-जुलता है. हम इस इकाई का इस्तेमाल करने का सुझाव नहीं देते, क्योंकि हर डिवाइस पर असल में अलग-अलग तरह का डेटा दिख सकता है. अलग-अलग डिवाइसों में पिक्सल की संख्या अलग-अलग हो सकती है प्रति इंच और स्क्रीन पर ज़्यादा या कम कुल पिक्सल उपलब्ध हो सकते हैं.
mm
- मिलीमीटर: स्क्रीन के साइज़ के हिसाब से.
in
- इंच: स्क्रीन के साइज़ के हिसाब से.
ध्यान दें: डाइमेंशन एक सामान्य संसाधन होता है, जिसका रेफ़रंस दिया गया होता है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, एक एक्सएमएल फ़ाइल में डाइमेंशन रिसॉर्स को अन्य सामान्य रिसॉर्स के साथ मिलाया जा सकता है,
एक <resources>
एलिमेंट के तहत.
- फ़ाइल की जगह:
res/values/filename.xml
फ़ाइल नाम आर्बिट्रेरी है.<dimen>
एलिमेंट केname
का इस्तेमाल इस तरह किया जाता है: संसाधन आईडी का इस्तेमाल करें.- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.dimen.dimension_name
एक्सएमएल में:@[package:]dimen/dimension_name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="dimension_name" >dimension</dimen> </resources>
- एलिमेंट:
- उदाहरण:
- एक्सएमएल फ़ाइल
res/values/dimens.xml
पर सेव की गई:<?xml version="1.0" encoding="utf-8"?> <resources> <dimen name="textview_height">25dp</dimen> <dimen name="textview_width">150dp</dimen> <dimen name="ball_radius">30dp</dimen> <dimen name="font_size">16sp</dimen> </resources>
नीचे दिया गया ऐप्लिकेशन कोड, डाइमेंशन फिर से हासिल करता है:
Kotlin
val fontSize: Float =
resources
.getDimension
(R.dimen.font_size)Java
Resources res =
getResources()
; float fontSize = res.getDimension
(R.dimen.font_size);यहां दिया गया लेआउट एक्सएमएल, एट्रिब्यूट पर डाइमेंशन लागू करता है:
<TextView android:layout_height="@dimen/textview_height" android:layout_width="@dimen/textview_width" android:textSize="@dimen/font_size"/>
आईडी
एक्सएमएल में तय किया गया एक यूनीक रिसॉर्स आईडी. <item>
में दिए गए नाम का इस्तेमाल करना
एलिमेंट के तौर पर सेट किया गया है, तो Android डेवलपर टूल आपके प्रोजेक्ट की R.java
क्लास में एक यूनीक पूर्��ांक बनाता है, जिसका इस्तेमाल
ऐप्लिकेशन संसाधनों के लिए आइडेंटिफ़ायर, जैसे कि आपके यूज़र इंटरफ़ेस (यूआई) लेआउट में View
,
या आपके ऐप्लिकेशन कोड में इस्तेमाल करने के लिए एक यूनीक इंटीजर, जैसे कि किसी डायलॉग बॉक्स या
नतीजा कोड.
ध्यान दें: आईडी एक सामान्य संसाधन है, जिसका रेफ़रंस दिया गया है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, एक एक्सएमएल फ़ाइल में आईडी रिसॉर्स को दूसरे सामान्य रिसॉर्स के साथ मिलाया जा सकता है,
एक <resources>
एलिमेंट के तहत. इसके अलावा, आईडी संसाधन भी रेफ़रंस नहीं देता
एक असल रिसॉर्स आइटम: यह एक यूनीक आईडी है, जिसे अन्य संसाधनों में अटैच किया जा सकता है या इनका इस्तेमाल किया जा सकता है
आपके ऐप्लिकेशन में एक अद्वितीय पूर्णांक के रूप में शामिल किया जाएगा.
- फ़ाइल की जगह:
res/values/filename.xml
फ़ाइल नाम आर्बिट्रेरी है.- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.id.name
एक्सएमएल में:@[package:]id/name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="id_name" /> </resources>
- एलिमेंट:
- उदाहरण:
-
एक्सएमएल फ़ाइल को
res/values/ids.xml
पर सेव किया गया:<?xml version="1.0" encoding="utf-8"?> <resources> <item type="id" name="button_ok" /> <item type="id" name="dialog_exit" /> </resources>
यह लेआउट स्निपेट,
Button
विजेट के लिए"button_ok"
आईडी का इस्तेमाल करता है:<Button android:id="@id/button_ok" style="@style/button_style" />
यहां दी गई
android:id
वैल्यू में, आईडी रेफ़रंस में प्लस का निशान शामिल नहीं होता है, क्योंकि यह आईडी पहले से मौजूद है, जैसा कि पिछलेids.xml
उदाहरण में बताया गया है. जब आप किसीandroid:id="@+id/name"
फ़ॉर्मैट में, प्लस के निशान का इस्तेमाल करके, एक्सएमएल संसाधन का आईडी, इसका मतलब है कि"name"
आईडी अभी तक मौजूद नहीं है और इसे बना दिया गया है.एक अन्य उदाहरण के तौर पर, यहां दिया गया ��ोड स्निपेट,
"dialog_exit"
आईडी का इस्तेमाल यूनीक आइडेंटिफ़ायर के तौर पर करता है डायलॉग बॉक्स के लिए:Kotlin
showDialog
(R.id.dialog_exit)Java
showDialog
(R.id.dialog_exit);उसी ऐप्लिकेशन में, डायलॉग बनाते समय
"dialog_exit"
आईडी की तुलना की जाती है:Kotlin
override fun
onCreateDialog
(id: Int): Dialog? { return when(id) { R.id.dialog_exit -> { ... } else -> { null } } }Java
protected Dialog
onCreateDialog
(int id) { Dialog dialog; switch(id) { case R.id.dialog_exit: ... break; default: dialog = null; } return dialog; }
पूर्णांक
एक्सएमएल में तय किया गया पूर्णांक.
ध्यान दें: पूर्णांक एक सामान्य संसाधन होता है, जिसका रेफ़रंस दिया जाता है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, एक एक्सएमएल फ़ाइल में, इंटीजर रिसॉर्स को अन्य सामान्य रिसॉर्स के साथ मिलाया जा सकता है,
एक <resources>
एलिमेंट के तहत.
- फ़ाइल की जगह:
res/values/filename.xml
फ़ाइल नाम आर्बिट्रेरी है.<integer>
एलिमेंट केname
का इस्तेमाल इस तरह किया जाता है: संसाधन आईडी का इस्तेमाल करें.- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.integer.integer_name
एक्सएमएल में:@[package:]integer/integer_name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="integer_name" >integer</integer> </resources>
- एलिमेंट:
- उदाहरण:
-
एक्सएमएल फ़ाइल को
res/values/integers.xml
पर सेव किया गया:<?xml version="1.0" encoding="utf-8"?> <resources> <integer name="max_speed">75</integer> <integer name="min_speed">5</integer> </resources>
नीचे दिया गया ऐप्लिकेशन कोड, पूर्णांक हासिल करता है:
Kotlin
val maxSpeed: Int =
resources
.getInteger
(R.integer.max_speed)Java
Resources res =
getResources()
; int maxSpeed = res.getInteger
(R.integer.max_speed);
पूर्णांक अरे
एक्सएमएल में तय किए गए पूर्णांकों का कलेक्शन.
ध्यान दें: पूर्णांक अरे एक सामान्य रिसॉर्स होता है, जिसका रेफ़रंस दिया जाता है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, एक एक्सएमएल फ़ाइल में, पूर्णांक वाले अरे रिसॉर्स को अन्य सामान्य रिसॉर्स के साथ जोड़ा जा सकता है,
एक <resources>
एलिमेंट के तहत.
- फ़ाइल की जगह:
res/values/filename.xml
फ़ाइल नाम आर्बिट्रेरी है.<integer-array>
एलिमेंट केname
का इस्तेमाल इस तरह किया जाता है: संसाधन आईडी का इस्तेमाल करें.- कंपाइल किए गए संसाधन डेटा टाइप:
- इंटीजर की कैटगरी के लिए रिसॉर्स पॉइंटर.
- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.array.integer_array_name
एक्सएमएल में:@[package:]array/integer_array_name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="integer_array_name"> <item >integer</item> </integer-array> </resources>
- एलिमेंट:
- उदाहरण:
- एक्सएमएल फ़ाइल
res/values/integers.xml
पर सेव की गई:<?xml version="1.0" encoding="utf-8"?> <resources> <integer-array name="bits"> <item>4</item> <item>8</item> <item>16</item> <item>32</item> </integer-array> </resources>
नीचे दिया गया ऐप्लिकेशन कोड, पूर्णांक अरे को फिर से हासिल करता है:
Kotlin
val bits: IntArray =
resources
.getIntArray
(R.array.bits)Java
Resources res =
getResources()
; int[] bits = res.getIntArray
(R.array.bits);
टाइप किया गया अरे
एक्सएमएल में तय किया गया TypedArray
. Google Analytics 4 पर माइग्रेट करने के लिए,
इससे ड्रॉ करने लायक एलिमेंट जैसे अन्य संसाधनों का कलेक्शन बन जाता है. अरे का एक जैसा होना ज़रूरी नहीं है. इसलिए, तरह-तरह के रिसॉर्स टाइप का कलेक्शन बनाया जा सकता है, लेकिन
इस बारे में जानकारी रखें कि अरे में किस तरह का डेटा टाइप है, ताकि आपको सही तरीके से
हर आइटम को TypedArray
क्लास के get...()
तरीकों से ऐक्सेस किया जा सकता है.
ध्यान दें: टाइप किया गया अरे एक सामान्य संसाधन होता है, जिसका रेफ़रंस दिया जाता है
इसके लिए, name
एट्रिब्यूट में दी गई वैल्यू का इस्तेमाल करें, न कि एक्सएमएल फ़ाइल के नाम का. जैसे
इसलिए, टाइप किए गए अरे रिसॉर्स को एक एक्सएमएल फ़ाइल में, अन्य सामान्य रिसॉर्स के साथ मिलाया जा सकता है,
एक <resources>
एलिमेंट के तहत.
- फ़ाइल की जगह:
res/values/filename.xml
फ़ाइल नाम आर्बिट्रेरी है.<array>
एलिमेंट केname
का इस्तेमाल इस तरह किया जाता है: संसाधन आईडी का इस्तेमाल करें.- कंपाइल किए गए संसाधन डेटा टाइप:
TypedArray
के लिए रिसॉर्स पॉइंटर.- संसाधन का रेफ़रंस:
- अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
Java में:
R.array.array_name
एक्सएमएल में:@[package:]array/array_name
- सिंटैक्स:
-
<?xml version="1.0" encoding="utf-8"?> <resources> <array name="integer_array_name"> <item>resource</item> </array> </resources>
- एलिमेंट:
- उदाहरण:
- एक्सएमएल फ़ाइल
res/values/arrays.xml
पर सेव की गई:<?xml version="1.0" encoding="utf-8"?> <resources> <array name="icons"> <item>@drawable/home</item> <item>@drawable/settings</item> <item>@drawable/logout</item> </array> <array name="colors"> <item>#FFFF0000</item> <item>#FF00FF00</item> <item>#FF0000FF</item> </array> </resources>
नीचे दिया गया ऐप्लिकेशन कोड हर अरे को फिर से हासिल करता है और फिर हर अरे में पहली एंट्री हासिल करता है:
Kotlin
val icons: TypedArray =
resources
.obtainTypedArray
(R.array.icons) val drawable: Drawable = icons.getDrawable
(0) val colors: TypedArray =resources
.obtainTypedArray
(R.array.colors) val color: Int = colors.getColor
(0,0)Java
Resources res =
getResources()
; TypedArray icons = res.obtainTypedArray
(R.array.icons); Drawable drawable = icons.getDrawable
(0); TypedArray colors = res.obtainTypedArray
(R.array.colors); int color = colors.getColor
(0,0);