Android ConstraintLayout

Android ConstraintLayout – चूंकि एक Android App Develop करते समय Developer को न केवल Java Programming Langauges को अच्‍छी तरह से Use करना होता है साथ ही Proper Output Render करने के लिए उसे उसी दौरान XML Layout Codes के साथ भी काफी प्रक्रिया करनी पड़ती है जिसकी वजह से एक Android Developer का काम बहुत मुश्किलभरा हो जाता है और Developer की जिन्‍दगी को आसान बनाने के लिए Google लगातार प्रयासरत रहते हुए समय-समय पर Android Studio में इस तरह के Features Include करता रहता है जिससे XML Layout को ज्‍यादा से ज्‍यादा सरलता से Develop किया जा सके क्‍योंकि एक Proper XML Layout Develop करने में ही किसी भी Android Developer का सबसे ज्‍यादा समय व्‍यतीत होता है और इसी कड़ी में Google ने Android Studio 2.3 के साथ एक और नया Layout Introduce किया है जिसका नाम Constraint Layout है।

Constraint Layout को Relative Layout का ही Extended रूप माना जा सकता है और Relative Layout को Develop करने का मूल कारण भी यही था कि कोई भी Java Programmer बिना XML Codes को Use किए हुए भी केवल Android Studio के माध्‍यम से Drag and Drop तकनीक का प्रयोग करते हुए मनचाहा Layout Create कर सके ताकि Android App का Layout Create करने के लिए उसे Extra मेहनत न करनी पड़े न ही उसे XML Codes पर आधारित Layout Create करने के लिए Manually XML Codes लिखने पड़ें।

हालांकि Relative Layout, बिना Manual XML Code लिखे हुए केवल Drag and Drop तकनीक द्वारा काफी हद तक एक अच्‍छा Layout Create करने के लिए काफी सहायक साबित हुआ लेकिन फिर भी ये इतना सक्षम नहीं बन पाया कि एक भी Line का XML Code लिखे बिना या Automatically Generate होने वाले XML Layout Code को Fine Tune किए बिना केवल Drag and Drop तकनीक द्वारा Perfect Layout Create कर सके। इसलिए Google ने इस Relative Layout की कमियों को ठीक करते हुए Constraint Layout के रूप में Android Studio में एक नया Layout Feature विकसित करके Include किया है जो कि काफी हद तक बिना XML Code को Fine Tune किए हुए भी एक Proper Layout केवल Drag and Drop तकनीक द्वारा Create करने में सक्षम है।

हालांकि हम इस Constraint Layout के भी प्रत्‍येक Attribute को विस्‍तार से Discuss कर सकते हैं लेकिन क्‍योंकि Google का यही प्रयास है कि Drag and Drop तकनीक द्वारा ही एक Perfect Layout Develop किया जा सके तो Google जरूर एक ऐसा Stable System Provide करेगा जिससे बिना एक भी Line का XML Code लिखे हुए भी Perfect Layout Create किया जा सकेगा और जब Android Studio के माध्‍यम से हमें देर-सवेर ऐसा System मिलने ही वाला है तो फिर क्‍यों XML Codes को याद रखने की कोशिश की जाए और अपना ढे़र सारा समय केवल Layout Create करने में लगाया जाए जबकि उसी समय को हम हमारे Android App के Backend Logics को Develop करने में भी लगा सकते हैं जिससे कम से कम समय में हमारे Android App में और अधिक व बेहतर Functionalities Add हो सकेंगी ।

इसलिए Constraint Layout का प्रयोग करते हुए बिना एक भी Line का Manual XML Code लिखे हुए भी Proper Layout कैसे Create किया जाए, हम इस Section इसी को विस्‍तार से समझने की कोशिश करेंगे। क्‍योंकि यदि आपने Constraint Layout को ठीक से Use करना सीख लिया, तो आपके किसी भी Android App के Layout को Create करने में आपको आपको बहुत ही कम समय लगेगा क्‍योंकि Drag and Drop तकनीक का प्रयोग करने की वजह से सारे XML Codes Automatically Generate होंगे जो कि अपने आप ही Well Optimized होंगे। इसलिए न तो हमें Manual XML Codes लिखने की मेहनत करनी पड़ेगी, न ही Layout Create करने के लिए हमें विभिन्‍न प्रकार के XML Attributes की Working को समझना पड़ेगा, न ही हमें Automatically Generate होने वाले XML Codes को Fine Tune करना पड़ेगा।

यानी सरलतम शब्‍दों में कहें तो हमें केवल Java Programming का ही ध्‍यान रखना होगा, अपने Android App के Layout को Create and Manage करने से सम्‍बंधित XML Codes का नहीं। हालांकि एक Android App, XML CodesJava Codes का Mixture होता है, इसलिए हमें जगह-जगह पर विभिन्‍न प्रकार की जरूरतों को पूरा करने के लिए विभिन्‍न प्रकार के XML Codes को भी Access and Manipulate करने की जरूरत पड़ेगी और उस समय हमें पता होना चाहिए कि किस UI View Control के किस XML Attribute की वजह से उस UI View Control के Look and Feel पर क्‍या प्रभाव पड़ता है ताकि हम हमारी जरूरत के अनुसार विभिन्‍न UI View Controls को Backend Java File के Java Codes द्वारा Control कर सकें।

लेकिन एक Layout Create करते समय उसे Properly Develop करने के लिए हमें जो Time, Energy व Efforts लगाना पड़ता है, Constraint Layout या Relative Layout के माध्‍यम से हम अपने उस Time व Energy को बचा सकते हैं और Android Studio के Drag and Drop Technique का प्रयोग करके आसानी से Visually Layout Design कर सकते हैं और ऐसा करने से हमारे Android App Development की SpeedQuality दोनों Improve होने में मदद मिलती है।

Constraint Layout के ज्‍यादातर Attributes व उन्‍हें Use करने से सम्‍बंधित Concepts लगभग पूरी तरह से Relative Layout की तरह ही हैं। यहां तक कि ज्‍यादातर Attributes के नाम व उनकी कार्यप्रणाली भी Relative Layout के Attributes के नाम व कार्यप्रणाली के समान ही हैं। इसलिए भले ही आप Drag and Drop तकनीक का प्रयोग करते हुए अपना Contraint Layout Create करें, लेकिन यदि आप Automatically Generate होने वाले XML Codes को देखेंगे तो बड़ी ही आसानी से समझ जाऐंगे कि कौनसा XML Code क्‍या काम कर रहा है और Layout को Define करने में क्‍या Role Play कर रहा है।

सबसे Important बात तो यही है कि Android Studio 2.3 के Launch करने के साथ ही Google ने RelativeLayout को ConstraintLayout से Replace कर दिया है यानी अब ConstraintLayout, Android Studio का Default Layout है और जब नया Android App Create किया जाता है, Default रूप से Create होने वाला Layout यही होता है। इसका मतलब यही है कि ConstraintLayout, Relative Layout की तुलना में अधिक बेहतर है और Google भविष्‍य में इसी को और अधिक Develop करेगा ताकि ज्‍यादा बेहतर Layout केवल Drag and Drop तकनीक ज्‍यादा आसानी से Create किया जा सके।

जब हम ConstraintLayout का प्रयोग करते हुए Drag and Drop तकनीक के माध्‍यम से Layout Develop करते हैं, तो Layout Development शुरू करने से पहले ही हमें पूरी तरह से Clear होना चाहिए कि हमारा Final Layout कैसा होगा। यानी हमें हमारे Layout में कौन-कौनसे UI View Controls चाहिऐं और Screen पर प्रत्‍येक UI View Control कहां Position होना चाहिए, ये बात प्रत्‍येक UI View Control के लिए Layout Create क्‍रना शुरू करने से पहले ही तय होना चाहिए।

क्‍योंकि ConstraintLayout पूरी तरह से RelativeLayout का ही Extended रूप है और इस Layout में प्रत्‍येक UI View Control Screen पर किन्‍हीं दो अन्‍य UI View Controls के Relation में  Position होते हैं। इसलिए यदि एक बार UI Layout पूरी तरह से Create हो जाने के बाद उसमें एक नया UI View Control Insert किया जाए, तो हमें सम्‍पूर्ण Layout को फिर से Recreate करना पड़ सकता है। क्‍योंकि एक नए UI View Control को किसी पहले से Created Layout के बीच Insert करने से पूरे Layout के विभिन्‍न UI View Controls की Positioning प्रभावित हो जाती है जिससे Layout के लगभग सभी UI View Controls की Positioning को फिर से Tune करना जरूरी हो जाता है।

ConstraintLayout हमें Large और बहुत ही Complex Layout Create करने की सुविधा देता है और वो भी बिना Nested ViewGroups का प्रयोग किए हुए। क्‍योंकि ViewGroups की Nesting करने से Android App की Performance काफी Slow हो जाती है।

ConstraintLayout इस मायने में RelativeLayout के समान है कि इसके भी विभिन्‍न UI View Controls अपने Sibling ViewsParent Container View के Relation में ही Screen पर Position होते हैं लेकिन Drag and Drop तकनीक का बेहतर उपयोग कर सकने के मामले में RelativeLayout की तुलना में अधिक Easy होते हैं।

ConstraintLayout की सारी Power Android Studio के Layout Editor के कारण ही सम्‍भव है क्‍योंकि इसी के कारण हम Drag and Drop तकनीक का प्रयोग करते हुए Layout को Visually GUI Mode में Design करने की क्षमता प्राप्‍त करते हैं। यहां तक कि Visual Editor को विकसित ही इसीलिए किया गया है ताकि Developer GUI Mode में बिना एक भी Line का Manual XML Code लिखे हुए भी Perfect Layout Create किया जा सके।

वास्‍तव में तो इस ConstraintLayout API और Layout Editor दोनों को इस तरह से विकसित किया गया है कि ये पूरी तरह से एक दूसरे के Compatible रहें। ताकि XML Code को Touch किए बिना भी केवल Drag and Drop तकनीक द्वारा पूरा Layout Create किया जा सके।

ConstraintLayout को एक ऐसरी API Library के माध्‍यम से Available करवाया गया है जो कि Android 2.3 (API Level 9) व बाद के Versions के Compatible है। इसलिए इस Layout पर आधारित Android Apps Android 2.3 Version तक के पुराने Android Devices पर भी बिना किसी परेशानी के समान प्रकार से ही Run हो सकेंगे।

ConstraintLayout भी अन्‍य Layouts की तरह ही ViewGroup Class की Subclass है इसलिए किसी भी ViewGroup की तरह ही ये भी एक ViewGroup है जो Flexible तरीके से हमें किसी UI View Control को Size व Position करने की सुविधा देता है।

यहां इस बात का ध्‍यान रखना जरूरी है कि ConstraintLayout एक Support Library के रूप में केवल उन Android Systems पर Use होने के लिए उपलब्‍ध है जो कि API Level 9 से शुरू होते हैं और क्‍योंकि अभी ConstraintLayout काफी नया है इसलिए भविष्‍य में इसकी Capabilities में काफी Changes होने की बहुत सम्‍भावनाऐं हैं।

हालांकि वर्तमान में Android SDK हमें निम्‍नानुसार कई तरह के Constraints Provide करता है जिन्‍हें हम विभिन्‍न प्रकार की जरूरतों को पूरा करने के लिए Use कर सकते हैं।

Android FrameLayout - Learn with Simple Example
Android ConstraintLayout Relative Positioning

Android in Hindi - BccFalna.comये Article इस वेबसाईट पर Selling हेतु उपलब्‍ध EBook Android in Hindi से लिया गया है। इसलिए यदि ये Article आपके लिए उपयोगी है, तो निश्चित रूप से ये EBook भी आपके लिए काफी उपयोगी साबित होगी।

Android in Hindi | Page: 628 | Format: PDF

BUY NOW DOWNLOAD READ ONLINE

Download All EBooks

सभी हिन्दी EBooks के DEMO DOWNLOAD LINKS प्राप्‍त करें, अपने EMail पर।

Register करके Login करें। इस Popup से छुटकारा पाएें।