ध्यान दें: Android 9.0 (एपीआई लेवल 28) के रिलीज़ होने के साथ ही, सपोर्ट लाइब्रेरी का नया वर्शन भी रिलीज़ हुआ है. इसे AndroidX कहा जाता है. यह Jetpack का हिस्सा है.
AndroidX लाइब्रेरी में, मौजूदा सपोर्ट लाइब्रेरी शामिल होती है. साथ ही, इसमें Jetpack के नए कॉम्पोनेंट भी शामिल होते हैं.
आपके पास सहायता लाइब्रेरी का इस्तेमाल जारी रखने का विकल्प है.
ऐतिहासिक कलाकृतियां (वर्शन 27 और इससे पहले के वर्शन, जिन्हें android.support.*
के तौर पर पैकेज किया गया है) Google Maven पर उपलब्ध रहेंगी. हालांकि, लाइब्रेरी से जुड़े सभी नए डेवलपमेंट, AndroidX लाइब्रेरी में होंगे.
हमारा सुझाव है कि सभी नए प्रोजेक्ट में AndroidX लाइब्रेरी का इस्तेमाल करें. आपको मौजूदा प्रोजेक्ट को भी AndroidX पर माइग्रेट करना चाहिए.
Support Libraries, ऐप्लिकेशन बनाने के लिए कई तरह की क्लास उपलब्ध कराती हैं. इनमें ऐप्लिकेशन के बुनियादी कॉम्पोनेंट, यूज़र इंटरफ़ेस विजेट, मीडिया हैंडलिंग, और टीवी ऐप्लिकेशन के कॉम्पोनेंट शामिल हैं. इनमें से कई क्लास, पुराने वर्शन के साथ काम करने वाली सुविधाओं को लागू करती हैं. हालांकि, इनमें से कुछ क्लास नई सुविधाएं हैं.
इस दस्तावेज़ में, support library में उपलब्ध सुविधाओं की अहम कैटगरी के बारे में खास जानकारी दी गई है. साथ ही, इसमें उन खास क्लास के बारे में बताया गया है जिनके बारे में आपको अपना ऐप्लिकेशन बनाते समय पता होना चाहिए.
ऐप्लिकेशन डेवलपमेंट प्रोजेक्ट में Support Library कोड जोड़ने के तरीके के बारे में जानने के लिए, Support Library Setup देखें. अपने प्रोजेक्ट में सहायता लाइब्रेरी के खास पैकेज शामिल करने के तरीके के बारे में जानने के लिए, Support Library Packages देखें.
ऐप्लिकेशन कॉम्पोनेंट
Support Library की ये क्लास, प्लैटफ़ॉर्म की अहम और मुख्य सुविधाओं को पुराने वर्शन के साथ काम करने वाले तरीके से लागू करती हैं. आम तौर पर, ये लागू करने की प्रोसेस, क्लास के पुराने वर्शन को बढ़ाती है, ताकि प्लैटफ़ॉर्म की हाल ही की रिलीज़ में जोड़े गए नए तरीकों और सुविधाओं को हैंडल किया जा सके. इनमें से कुछ क्लास पूरी हो चुकी हैं. ये फ़्रेमवर्क एपीआई के स्टैटिक इंप्लीमेंटेशन हैं.
- गतिविधियां
ActivityCompat
- इसमें, गतिविधियों की हाल ही की मुख्य सुविधाओं के लिए, पीछे की ओर काम करने वाला वर्शन शामिल है. जैसे, रनटाइम अनुमतियां और ऐनिमेशन ट्रांज़िशन.FragmentActivity
- यहFragment
औरLoader
एपीआई के सपोर्ट लाइब्रेरी वर्शन का इस्तेमाल करने के लिए, गतिविधियों के साथ काम करने वाला बैकवर्ड-कंपैटिबल इंप्लीमेंटेशन उपलब्ध कराता है.AppCompatActivity
- यह पुराने डिवाइसों को, मटीरियल कलर थीम, विजेट टिंटिंग, और ऐप्लिकेशन बार की सुविधा देता है. इस क्लास का इस्तेमाल करने के लिए, आपकोTheme.AppCompat
थीम का इस्तेमाल करना होगा, ताकि विज़ुअल प्रज़ेंटेशन एक जैसा रहे.
Fragment
- यह फ़्रेमवर्कFragment
क्लास को अलग से लागू करने की सुविधा देता है. इस क्लास का इस्तेमालFragmentActivity
के साथ किया जाना चाहिए.ContextCompat
- यहContext
क्लास की हाल ही की रिलीज़ में जोड़ी गई सुविधाओं के लिए सहायता उपलब्ध कराता है. इनमें अनुमतियों से जुड़ी सहायता, फ़ाइल ऐक्सेस, और रंग की जानकारी शामिल है.IntentCompat
-Intent
क्लास के हाल ही के वर्शन में जोड़ी गई सुविधाओं के लिए सहायता उपलब्ध कराता है. इसमें खास गतिविधियों को चुनने और शुरू करने के तरीके शामिल हैं.Loader
- यह फ़्रेमवर्कLoader
क्लास का स्टैटिक इंप्लीमेंटेशन उपलब्ध कराता है. साथ ही, यहAsyncTaskLoader
औरCursorLoader
सपोर्ट क्लास के लिए बेसिक क्लास है.Preference
- यह क्लास और इसकी सब-क्लास, ऐप्लिकेशन की सेटिंग के यूज़र इंटरफ़ेस को बैकवर्ड-कंपैटिबल तरीके से लागू करती हैं.ContentResolverCompat
-ContentResolver
क्लास के हाल ही के वर्शन में जोड़ी गई सुविधाओं के लिए सहायता उपलब्ध कराता है. खास तौर पर,query()
तरीके के लिए सहायता उपलब्ध कराता है. इससे प्रोसेस हो रही क्वेरी को रद्द किया जा सकता है.
यूज़र इंटरफ़ेस
ये सपोर्ट लाइब्रेरी क्लास, मुख्य यूज़र इंटरफ़ेस (यूआई) विजेट और व्यवहारों को लागू करने की सुविधा देती हैं. साथ ही, ये पुराने डिवाइसों पर ज़्यादा मॉडर्न ऐप्लिकेशन इंटरफ़ेस बनाने में आपकी मदद करती हैं. इनमें से कुछ विजेट, सिर्फ़ सपोर्ट लाइब्रेरी के ज़रिए उपलब्ध हैं.
अलग-अलग कामों के लिए इस्तेमाल किए जाने वाले लेआउट कंटेनर
ये सपोर्ट क्लास, यूज़र इंटरफ़ेस कंटेनर उपलब्ध कराती हैं. इन्हें अलग-अलग डिज़ाइन के इस्तेमाल के हिसाब से बदला जा सकता है.
RecyclerView
- यह लंबी सूचियों को दिखाने के लिए लेआउट बनाता है. इसके लिए, यह ऐसी रणनीति का इस्तेमाल करता है जिससे ज़्यादा मेमोरी खर्च न हो. इस क्लास की मदद से, बड़े डेटा सेट में सीमित विंडो व्यू बनाया जा सकता है. इससे सूची दिखाते समय, ज़्यादा मेमोरी का इस्तेमाल नहीं होता.RecyclerView
का इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, Recycler View गाइड देखें.ViewPager
- यह एक ऐसा लेआउट उपलब्ध कराता है जिसमें उपयोगकर्ता, डेटा के पेजों को बाईं और दाईं ओर स्वाइप कर सकता है.GridLayout
- यह एक लेआउट उपलब्ध कराता है. इसमें इसके चाइल्ड विजेट, आयताकार ग्रिड में होते हैं. यह लगातार सेल के किसी भी स्पैन और स्पेस के फ़्लेक्सिबल डिस्ट्रिब्यूशन के साथ काम करता है. यह क्लास, Android 4.0 (एपीआई लेवल 14) में पेश की गईGridLayout
क्लास का, पुराने सिस्टम के साथ काम करने वाला वर्शन उपलब्ध कराती है.PercentFrameLayout
औरPercentRelativeLayout
- ऐसे लेआउट उपलब्ध कराएं जो चाइल्ड व्यू और कॉन्टेंट के लिए, प्रतिशत के आधार पर डाइमेंशन और मार्जिन को सपोर्ट करते हों.
ध्यान दें: ViewPager
, RecyclerView
, PercentFrameLayout
, और PercentRelativeLayout
क्लास सिर्फ़ Support Libraries से उपलब्ध हैं.
खास मकसद के लिए लेआउट कंटेनर
ये सहायता क्लास, लेआउट के कुछ पैटर्न के साथ काम करने वाले कोड उपलब्ध कराती हैं. जैसे, स्क्रीन के किनारे से खींची जा सकने वाली ड्रॉअर व्यू, स्लाइडिंग पैनल, और सूचियों में नेस्टिंग सूचियां.
DrawerLayout
- इससे ऐसा लेआउट बनता है जिसमें इंटरैक्टिव ड्रॉअर व्यू को व्यू विंडो के किनारे से बाहर निकाला जा सकता है.SlidingPaneLayout
- यह ऐप्लिकेशन के यूज़र इंटरफ़ेस के टॉप लेवल पर इस्तेमाल करने के लिए, हॉरिज़ॉन्टल मल्टी-पैन लेआउट उपलब्ध कराता है. इससे ऐसे लेआउट बनाए जा सकते हैं जो अलग-अलग स्क्रीन साइज़ के हिसाब से आसानी से अडजस्ट हो जाते हैं. ये बड़ी स्क्रीन पर फैल जाते हैं और छोटी स्क्रीन पर फ़िट होने के लिए छोटे हो जाते हैं.NestedScrollView
- यह स्क्रोल करने वाला लेआउट है. इसमें स्क्रोल करने वाले अन्य व्यू को नेस्ट किया जा सकता है. इससे आपको ऐसी सूचियां बनाने में मदद मिलती है जिनमें आइटम के साथ-साथ चाइल्ड सूचियां भी शामिल होती हैं. इन नेस्ट की गई सूचियों में ऐसे आइटम शामिल हो सकते हैं जिन्हें पैरंट सूची से अलग, दाएं से बाएं या ऊपर से नीचे की ओर स्क्रोल किया जा सकता है.SwipeRefreshLayout
- यह एक लेआउट उपलब्ध कराता है. इससे, उंगली से स्वाइप करने के जेस्चर का इस्तेमाल करके, सूचियों या अन्य लेआउट के डेटा को रीफ़्रेश किया जा सकता है.
व्यू, डायलॉग, और विजेट
Support libraries, कॉन्टेंट दिखाने और लेआउट में उपयोगकर्ता इंटरैक्शन एलिमेंट उपलब्ध कराने के लिए कई क्लास उपलब्ध कराती हैं.
CardView
- यह एक सपोर्ट लाइब्रेरी कस्टम क्लास है. इसका इस्तेमाल, Material Design स्टाइल वाले डिसप्ले कार्ड बनाने के लिए किया जाता है. यह क्लास, गोल कोनों और ड्रॉप शैडो वाले FrameLayout पर आधारित है.AppCompatDialogFragment
- यहDialogFragment
को बढ़ाकर औरAppCompatDialog
का इस्तेमाल करके, एक जैसे स्टाइल वाले डायलॉग उपलब्ध कराता है.NotificationCompat
- यह पुराने सिस्टम के साथ काम करने की सुविधा के साथ, सूचनाओं की नई स्टाइल के लिए सहायता उपलब्ध कराता है.SearchView
- यह क्लास, उपयोगकर्ता को सर्च क्वेरी डालने और सर्च इंजन को अनुरोध सबमिट करने की सुविधा देती है. इसका इस्तेमाल मुख्य रूप से ऐप्लिकेशन बार में किया जाता है.
मटीरियल डिज़ाइन
सपोर्ट लाइब्रेरी में, Material Design के यूज़र इंटरफ़ेस से जुड़े सुझावों को लागू करने के लिए कई क्लास उपलब्ध होती हैं.
CoordinatorLayout
- यह लेआउट के लिए टॉप-लेवल कंटेनर उपलब्ध कराता है. इसमें मटीरियल डिज़ाइन के कॉम्पोनेंट और व्यवहार शामिल होते हैं. इस क्लास का इस्तेमाल, एक या एक से ज़्यादा चाइल्ड व्यू के साथ खास इंटरैक्शन के लिए कंटेनर के तौर पर भी किया जा सकता है.AppBarLayout
- यह Material Design के ऐप्लिकेशन बार कॉन्सेप्ट की कई स्क्रोलिंग सुविधाओं को लागू करता है.FloatingActionButton
- यह प्रमोट की गई किसी खास तरह की कार्रवाई को दिखाने के लिए, फ़्लोटिंग बटन बनाता है. यह मटेरियल डिज़ाइन यूज़र इंटरफ़ेस एलिमेंट, ऐप्लिकेशन के यूज़र इंटरफ़ेस के ऊपर तैरते हुए एक सर्कल वाले आइकॉन के तौर पर दिखता है. ज़्यादा जानकारी के लिए, फ़्लोटिंग ऐक्शन बटन जोड़ना लेख पढ़ें.DrawerLayout
- इससे नेविगेशन पैनल बनता है. यह एक यूज़र इंटरफ़ेस (यूआई) पैनल होता है, जिसमें आपके ऐप्लिकेशन का मुख्य नेविगेशन मेन्यू दिखता है. यह तब दिखता है, जब उपयोगकर्ता स्क्रीन के बाईं ओर से स्वाइप करता है या ऐप्लिकेशन बार में मौजूद ड्रॉअर आइकॉन पर टैप करता है. ज़्यादा जानकारी के लिए, नेविगेशन ड्रॉअर बनाना लेख पढ़ें.TabLayout
- इससे टैब वाले पेजों को दिखाने के लिए लेआउट मिलता है. इस विजेट कोViewPager
क्लास के साथ इस्तेमाल करने के लिए बनाया गया है.Snackbar
- यह स्नैकबार पॉप-अप का इस्तेमाल करके, किसी ऑपरेशन के बारे में कम शब्दों में जानकारी दिखाने के लिए एक विजेट उपलब्ध कराता है.
ग्राफ़िक्स
android.support.graphics.drawable
पैकेज, वेक्टर ड्रॉएबल के लिए सहायता उपलब्ध कराता है.
वेक्टर ड्रॉएबल का इस्तेमाल करके, कई पीएनजी ऐसेट को एक ही वेक्टर ग्राफ़िक से बदला जा सकता है. यह ग्राफ़िक, एक्सएमएल में तय किया जाता है.
VectorDrawableCompat
, एपीआई लेवल 9 और इसके बाद के वर्शन पर वेक्टर ड्रॉएबल के लिए सहायता उपलब्ध कराता है. AnimatedVectorDrawableCompat
, एपीआई लेवल 11 और इसके बाद के वर्शन पर ऐनिमेटेड वेक्टर ड्रॉएबल के लिए सहायता उपलब्ध कराता है.
सुलभता
android.support.v4.view.accessibility
पैकेज, सुलभता सुविधाओं को लागू करने के लिए कंपैटिबिलिटी क्लास उपलब्ध कराता है. ये सुविधाएं, एपीआई लेवल 14 और उसके बाद के वर्शन में उपलब्ध हैं. इनकी मदद से, सुलभता सेवाएं स्क्रीन पर दिखाए गए आइटम के साथ उपयोगकर्ता के इंटरैक्शन को देख सकती हैं और उसकी पहचान कर सकती हैं.
ExploreByTouchHelper
- यह कस्टम View में ऐक्सेसिबिलिटी सपोर्ट देता है. यह व्यू, व्यू जैसे लॉजिकल आइटम के कलेक्शन को दिखाता है.
मीडिया प्लेबैक
Android Support Library, मीडिया राउटर की सुविधा को Android 4.1 (एपीआई लेवल 16) से पहले के वर्शन वाले डिवाइसों पर उपलब्ध कराती है. इन क्लास की मदद से, कनेक्ट किए गए Android डिवाइसों पर मीडिया प्लेबैक को कंट्रोल किया जा सकता है:
MediaRouter
- इसकी मदद से, ऐप्लिकेशन को मीडिया चैनल और स्ट्रीम को मौजूदा डिवाइस से बाहरी स्पीकर और डेस्टिनेशन डिवाइसों पर रूट करने की सुविधा मिलती है.MediaControllerCompat
- इससे ऐप्लिकेशन को चालू मीडिया सेशन के साथ इंटरैक्ट करने की अनुमति मिलती है. ऐप्लिकेशन, इस सुविधा के ज़रिए मीडिया कंट्रोल करने वाले बटन उपलब्ध करा सकते हैं. साथ ही, सेशन में मीडिया चलाने से जुड़े अन्य निर्देश भेज सकते हैं.MediaSessionCompat
- यह मीडिया चलाने के लिए, रिमोट कंट्रोल इंटरफ़ेस उपलब्ध कराता है. इससे मीडिया कंट्रोलर, वॉल्यूम बटन, मीडिया बटन, और अन्य ऐप्लिकेशन या अलग-अलग डिवाइसों पर मौजूद ट्रांसपोर्ट कंट्रोल के साथ इंटरैक्ट किया जा सकता है.
टीवी ऐप्लिकेशन
Android SDK, बड़ी स्क्रीन और उनसे जुड़े कंट्रोलर जैसे फ़ॉर्म फ़ैक्टर के साथ काम करने के लिए लाइब्रेरी उपलब्ध कराता है. कोई ऐप्लिकेशन, अलग-अलग प्लैटफ़ॉर्म वर्शन पर काम करने के लिए, सही सपोर्ट लाइब्रेरी पर निर्भर हो सकता है. साथ ही, बाहरी स्क्रीन, स्पीकर, और अन्य डेस्टिनेशन डिवाइसों पर कॉन्टेंट उपलब्ध करा सकता है.
- android.support.v17.leanback.* पैकेज
Wear ऐप्लिकेशन
Android SDK, स्मार्टवॉच के साथ काम करने वाली लाइब्रेरी उपलब्ध कराता है. ये लाइब्रेरी, ऐप्लिकेशन को ऐसी सुविधाएं देती हैं जो लोगों को तब मिलती हैं, जब वे स्मार्टवॉच पहने होते हैं.
- android.support.wear.* पैकेज
काम की सेवाएं
Android Support Library में कई ऐसी सुविधाएं मिलती हैं जो फ़्रेमवर्क में पहले से मौजूद नहीं होती हैं. ये लाइब्रेरी, कई तरह के टूल उपलब्ध कराती हैं. इनका इस्तेमाल ऐप्लिकेशन कर सकते हैं.
- android.support.v4.util पैकेज