Xml लेआउट फ़ाइल में इस पंक्ति की आवश्यकता क्यों है?
xmlns:android="http://schemas.android.com/apk/res/android"
Xml लेआउट फ़ाइल में इस पंक्ति की आवश्यकता क्यों है?
xmlns:android="http://schemas.android.com/apk/res/android"
जवाबों:
XML में, xmlns एक Namespace घोषित करता है। वास्तव में, जब आप करते हैं:
<LinearLayout android:id>
</LinearLayout>
कॉल करने के बजाय android:id
, xml अद्वितीय होने के लिए http://schemas.android.com/apk/res/android:id का उपयोग करेगा । आम तौर पर यह पृष्ठ मौजूद नहीं होता है (यह एक यूआरआई है, URL नहीं है), लेकिन कभी-कभी यह एक URL होता है जो उपयोग किए गए नाम स्थान की व्याख्या करता है।
जावा अनुप्रयोग में पैकेज नाम के समान नामस्थान का बहुत अधिक उपयोग होता है।
यहाँ एक स्पष्टीकरण है।
यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI)
एक यूनिफ़ॉर्म रिसोर्स आइडेंटिफ़ायर (URI) एक ऐसा अक्षर है जो इंटरनेट रिसोर्स की पहचान करता है।
सबसे आम यूआरआई यूनिफ़ॉर्म रिसोर्स लोकेटर (URL) है जो इंटरनेट डोमेन पते की पहचान करता है। एक और, यूआरआई का इतना सामान्य प्रकार यूनिवर्सल रिसोर्स नेम (यूआरएन) नहीं है।
हमारे उदाहरणों में हम केवल URL का उपयोग करेंगे।
android:layout_width
बस के बजाय क्यों है layout_width
?
यह समझने के लिए कि xmlns:android=“http://schemas.android.com/apk/res/android”
लेआउट xml फ़ाइल में पहले क्यों होना चाहिए हम एक उदाहरण का उपयोग करके घटकों को समझेंगे
Sample
::
<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/container" >
</FrameLayout>
यूनिफ़ॉर्म रिसोर्स इंडिकेटर (URI) :
Ex: http://schemas.android.com/apk/res/android:id
यहाँ URI है
xmlns:android
Android नामस्थान का वर्णन करता है।textview
विजेट को एंड्रॉइड की तुलना में विभिन्न विशेषताओं के साथ लिखते हैं textview
, एंड्रॉइड नेमस्पेस हमारे कस्टम textview
विजेट और एंड्रॉइड
textview
विजेट के बीच अंतर करने में मदद करता हैxmlns XML नेमस्पेस को संदर्भित करता है
XML में उपसर्गों का उपयोग करते समय, उपसर्ग के लिए एक तथाकथित नामस्थान को परिभाषित किया जाना चाहिए। नामस्थान एक तत्व के प्रारंभ टैग में xmlns विशेषता द्वारा परिभाषित किया गया है। नेमस्पेस घोषणा में निम्नलिखित सिंटैक्स होता है। xmlns: उपसर्ग = "URI"।
नोट : नामस्थान URI का उपयोग सूचना देखने के लिए पार्सर द्वारा नहीं किया जाता है।
उद्देश्य नाम स्थान को एक अनूठा नाम देना है। हालांकि, अक्सर कंपनियां नाम स्थान की जानकारी रखने वाले वेब पेज के लिए पॉइंटर के रूप में नेमस्पेस का उपयोग करती हैं।
यह सिर्फ XML नाम स्पेस घोषणा है। इस नाम स्थान का उपयोग हम यह बताने के लिए करते हैं कि नीचे सूचीबद्ध विशेषताएँ Android की हैं। इस प्रकार वे " android: " से शुरू होते हैं
आप वास्तव में अपनी खुद की कस्टम विशेषताएँ बना सकते हैं। तो नाम संघर्ष को रोकने के लिए जहां 2 विशेषताओं को एक ही चीज़ का नाम दिया गया है, लेकिन अलग तरह से व्यवहार करते हैं, हम यह इंगित करने के लिए उपसर्ग " एंड्रॉइड: " जोड़ते हैं कि ये एंड्रॉइड विशेषता हैं।
इस प्रकार, यह नाम स्थान घोषणा आपकी XML फ़ाइल के मूल दृश्य के उद्घाटन टैग में शामिल होनी चाहिए।
xmlns: Android Android नामस्थान को परिभाषित करता है। यह विशेषता हमेशा "http://schemas.android.com/apk/res/android" पर सेट होनी चाहिए।
http://developer.android.com/guide/topics/manifest/manifest-element.html देखें
आम आदमी के कार्यकाल में:
बिना xmlns: android = ” http://schemas.android.com/apk/res/android ” Android संबंधित टैग हमारे लेआउट के xml दस्तावेज़ में पहचाने नहीं जाएंगे।
XML में, तत्व नाम डेवलपर द्वारा परिभाषित किए गए हैं। जब विभिन्न XML अनुप्रयोगों से XML दस्तावेज़ों को मिलाने का प्रयास किया जाता है, तो अक्सर इसका विरोध होता है। एक उपयोगकर्ता या एक XML एप्लिकेशन को पता नहीं होगा कि इन अंतरों को कैसे संभालना है। XML में नाम संघर्ष आसानी से एक नाम उपसर्ग का उपयोग करके बचा जा सकता है। XML में उपसर्गों का उपयोग करते समय, उपसर्ग के लिए एक नामस्थान को परिभाषित किया जाना चाहिए। नामस्थान को तत्व के प्रारंभ टैग में xmlns विशेषता द्वारा परिभाषित किया जा सकता है। नाम स्थान घोषणा में निम्नलिखित सिंटैक्स है। xmlns: उपसर्ग = "URI"।
xmlns:android="http://schemas.android.com/apk/res/android"
यह xmlns का रूप है: android = "@ + / id"। अब इसे संदर्भित करने के लिए हम उदाहरण के लिए उपयोग करते हैं
android:layout_width="wrap_content"
android:text="Hello World!"
एक और xmlns है
xmlns:app="http://schemas.android.com/apk/res-auto"
जो xmlns के रूप में है: app = "@ + / id" और इसका उपयोग नीचे दिया गया है
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintLeft_toLeftOf="parent"
xmlns: android यह एंड्रॉइड में एंड्रॉइड नेमस्पेस परिभाषित करने के लिए प्रारंभ टैग है। यह android Google डेवलपर द्वारा निर्धारित स्टैंडरड कन्वेंशन है। जब आप डिफॉल्ट या कस्टोम का उपयोग कर रहे हों, तब इस नाम स्थान का उपयोग करना चाहिए।
Android नामस्थान को परिभाषित करता है। यह विशेषता हमेशा " http://schemas.android.com/apk/res/android " पर सेट होनी चाहिए ।
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns : xml नाम स्थान और URL है: " http://schemas.android.com/apk/res/android कुछ भी नहीं है लेकिन
XSD जो [XML स्कीमा परिभाषा] है: जिसका उपयोग XML फ़ाइल के लिए परिभाषित नियमों में किया जाता है।
उदाहरण :
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="match_parent"
android:layout_height="match_parent">
<EditText
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_marginBottom="4dp"
android:hint="User Name"
/>
</LinearLayout>
मुझे बताएं कि किस तरह के नियम हैं? ।
XML XSD में इस तरह के नियम परिभाषित किए गए हैं: " http://schemas.android.com/apk/res/android "
थोड़ा देर से लेकिन मुझे उम्मीद है कि यह आपकी मदद करता है।
यह एक एक्सएमएल नाम की जगह की घोषणा है ताकि यह निर्दिष्ट किया जा सके कि यह देखने वाले समूह के भीतर जो विशेषताएँ हैं, यह Android से संबंधित हैं।