Android Fragments


Android Fragments


  • Introduction to android fragments in Hindi
  • Android fragments life cycle in Hindi
  • Types of android fragments in Hindi
  • Creating android fragment in Hindi


Introduction to android fragments


एक fragment किसी activity के अंदर एक separate UI (user interface) होता है। Fragments की खुद की life cycle और input events होते है। आप एक fragment को कई activities में यूज़ कर सकते है। जब आपकी activity running state में हो तब भी आप fragments को add और remove कर सकते है। Fragments को आप sub activity भी कह सकते है।  




Android fragments को android के Honeycomb version में introduce किया गया था।  Android fragments से पहले आप user को एक बार में एक activity ही शो कर सकते थे इसलिए आप स्क्रीन को अलग अलग parts में divide नहीं कर सकते थे।

Fragments के आने से application design और भी ज्यादा flexible हो गयी क्योंकि आप यूजर को एक साथ एक से ज्यादा interface शो कर सकते है और उन्हें separately manage भी कर सकते है। अब आपके पास activity तो एक ही रहेगी लेकिन आप इसमें बहुत से fragments add कर सकते है।


एक fragment हमेशा activity में embedded होना चाहिए। Fragments की life cycle activity की life cycle से directly affected होती है। उदाहरण के लिए यदि activity pause होती है तो उसके सारे fragments भी pause हो जायेंगे। यदि activity destroy हो जाएगी तो उसके सभी fragments भी destroy हो जायेंगे।

जब activity running state में होती है तो आप उसके सभी fragments को independently manage कर सकते है।


Related reading : Android in Hindi : Android Views


जब आप fragment को ऐड करते है तो fragment आपकी activity की view hierarchy के View-Group में रहता है, और खुद का view layout डिफाइन करता है। आप fragment को activity layout में भी डाल सकते है इसके लिए आपको activity layout file में <fragment> को डिक्लेअर करना होगा।   

हालाँकि किसी fragment को activity layout का पार्ट बनाने की हमे कोई आवश्यकता नहीं है। यदि आप चाहे तो fragments को बिना UI के भी क्रिएट कर सकते है ताकि ये चुपचाप अपना काम कर सके। 


Basically fragments को tablet devices के लिए design किया गया था, क्योंकि tablet devices में ज्यादा स्पेस होता है। इस space को आप fragments की मदद से आसानी से यूज़ कर सकते है।  Activity के layout को fragments में divide करके आप screen की appearance को चेंज कर सकते है।

उदाहरण के लिए आप एक fragment में screen की left side में links की list provide कर सकते है, और right side के fragment में उन articles को open कर सकते है। 

आपको fragments को इस तरह design करना चाहिए ताकि एक fragment कई activities में यूज़ हो सके। क्योंकि हर fragment का खुद का layout होता है और खुद की life cycle होती है इसलिए आपको fragments को ऐसे design करना चाहिए ताकि एक fragment को आप कई activities में यूज़ कर सके।

ऐसा करना इसलिए आवश्यक है ताकि आप fragments को different screen sizes में यूज़ कर सके। जब आप अपनी application को tablet और handset दोनों devices के लिए बना रहे हो तो आप fragment को इस तरह configure कर सकते है की वो दोनों devices पे आसानी से रन हो सके। 



Fragments life cycle







 Creating Fragments


Fragment create करने के लिए आपको Fragment क्लास को extend करना होगा। Fragment क्लास Activity क्लास की तरह ही है। आप देखेंगे तो पाएंगे की activity life cycle और fragment life cycle ऑलमोस्ट  same है।

आपको सभी life cycle methods को implement करने की आवश्यकता नहीं है, लेंकिन आपको onCreate(), onCreateView() और onPause() methods को जरूर इम्प्लीमेंट करना चाहिए।

Fragment क्लास की 3 important sub classes भी है यदि आप चाहे तो इन्हे एक्सटेंड कर सकते है -

  1. DialogFragment - ये क्लास एक floating dialog क्रिएट करने के लिए यूज़ की जा सकती है। Dialog क्रिएट करने के लिए इस क्लास को यूज़ करना एक अच्छा alternative है। 
  2. ListFragment - ये क्लास एक items की लिस्ट display करती है जिसे आप adapter से manage कर सकते है। 
  3. PreferenceFragment - ये क्लास preference ऑब्जेक्ट्स की hierarchy को एक लिस्ट की तरह डिस्प्ले करती है ।       


Declaring fragments in layout file 


Fragments को layout file में declare  करने के लिए आपको <fragment> element डिक्लेअर करना होगा।  इस element का एक important attribute है android:name,  इसमें आप उस क्लास का नाम पास करते है जो fragment क्लास को extend करती है।  


<fragment> element में android:id attribute भी होता है, जिसमे आप एक यूनिक id पास करते है।

Example 

<fragment android:name="class name which extends Fragment class" android:id="ïd">

</fragment>

Comments

Add2

Popular posts from this blog

Android menus

Android broadcast receivers