सपोर्ट लाइब्रेरी

ध्यान दें: Android 9.0 (एपीआई लेवल 28) के रिलीज़ होने के बाद, सहायता लाइब्रेरी के नए वर्शन को AndroidX, जो Jetpack का हिस्सा है. AndroidX लाइब्रेरी इसमें मौजूदा सपोर्ट लाइब्रेरी और Jetpack के सबसे नए कॉम्पोनेंट शामिल हैं.

सहायता लाइब्रेरी का इस्तेमाल जारी रखा जा सकता है. ऐतिहासिक आर्टफ़ैक्ट (जो 27 और उससे पुराने वर्शन के हैं और android.support.* के तौर पर पैकेज किए गए हैं) ये Google Maven पर उपलब्ध रहेंगे. हालांकि, सभी नई लाइब्रेरी में AndroidX लाइब्रेरी में दिखेगा.

हमारा सुझाव है कि सभी नए प्रोजेक्ट में AndroidX लाइब्रेरी का इस्तेमाल करें. आपको यह भी समझना चाहिए कि साथ ही, मौजूदा प्रोजेक्ट को AndroidX पर माइग्रेट करना होगा.

एक से ज़्यादा एपीआई वर्शन के साथ काम करने वाले ऐप्लिकेशन डेवलप करते समय, हो सकता है कि आपको Android के पुराने वर्शन पर नई सुविधाएं देने के लिए एक मानक तरीका है या वापस समान फ़ंक्शन पर लौट सकते हैं. कोड बनाने के बजाय प्लैटफ़ॉर्म के पुराने वर्शन इस्तेमाल करने के लिए, इन लाइब्रेरी का इस्तेमाल किया जा सकता है. ताकि साथ मिलकर काम करने की सुविधा मिल सके. इसके अलावा, सहायता लाइब्रेरी अतिरिक्त सुविधा क्लास और सुविधाएँ उपलब्ध कराएँ जो आसान डेवलपमेंट और सहायता के लिए स्टैंडर्ड फ़्रेमवर्क एपीआई डिवाइस.

मूल रूप से ऐप्लिकेशन के लिए एक बाइनरी लाइब्रेरी, Android Support Library इसे ऐप्लिकेशन डेवलपमेंट के लिए लाइब्रेरी के सुइट के तौर पर डेवलप किया गया है. इनमें से कई लाइब्रेरी को अब ऐप्लिकेशन का हिस्सा बनाने का सुझाव दिया जाता है. हालांकि, अगर यह ज़रूरी नहीं है, तो डेवलपमेंट.

यह दस्तावेज़ आपकी मदद करने के लिए, सहायता लाइब्रेरी के बारे में खास जानकारी देता है इसके कॉम्पोनेंट और अपने ऐप्लिकेशन में उनका असरदार तरीके से इस्तेमाल करने का तरीका समझें.

चेतावनी: सपोर्ट लाइब्रेरी की रिलीज़ 26.0.0 के साथ शुरू करें (जुलाई 2017), ज़्यादातर लाइब्रेरी में काम करने वाला कम से कम एपीआई लेवल ज़्यादातर लाइब्रेरी पैकेज के लिए, को Android 4.0 (एपीआई लेवल 14) तक बढ़ाया गया है. इसके लिए ज़्यादा जानकारी के लिए, वर्शन सहायता और पैकेज देखें नाम पर क्लिक करें.

सहायता लाइब्रेरी के लिए इस्तेमाल

सपोर्ट लाइब्रेरी के कुछ अलग इस्तेमाल हैं. पीछे जाएं इस प्लैटफ़ॉर्म के पुराने वर्शन के साथ काम करने की क्लास उन्हें. सपोर्ट लाइब्रेरी को इस्तेमाल करने के तरीकों की पूरी सूची यहां दी गई है ऐप्लिकेशन में:

  • नए API के लिए पुराने सिस्टम के साथ काम करने की सुविधा - बड़ी संख्या में सपोर्ट लाइब्रेरी, नए फ़्रेमवर्क के लिए पुराने सिस्टम के साथ काम करने की सुविधा देती हैं क्लास और तरीके. उदाहरण के लिए, Fragment सहायता क्लास, वर्शन पर चलने वाले डिवाइस पर फ़्रैगमेंट के लिए सहायता देती है Android 3.0 (एपीआई लेवल 11) से पहले का वर्शन हो.
  • सुविधा और हेल्पर क्लास - सहायता लाइब्रेरी हेल्पर क्लास की संख्या बढ़ाई गई है, खास तौर पर यूज़र इंटरफ़ेस डेवलपमेंट के लिए. इसके लिए उदाहरण के लिए, RecyclerView क्लास उपयोगकर्ता को बहुत लंबी सूचियों को दिखाने और मैनेज करने के लिए इंटरफ़ेस विजेट. इसे इन पर इस्तेमाल किया जा सकता है एपीआई लेवल 7 और उसके बाद के वर्शन से Android के वर्शन.
  • डीबग और उपयोगिताएं - कई सुविधाएं मौजूद हैं जो आपके ऐप्लिकेशन में शामिल किए जाने वाले कोड के अलावा अन्य सुविधाएं भी देते हैं. इनमें ये शामिल हैं support-annotations इसके लिए, तरीके के इनपुट और Multidex सहायता पर बेहतर कोड लिंट की जांच करने की लाइब्रेरी 65,536 से ज़्यादा तरीकों से ऐप्लिकेशन कॉन्फ़िगर और डिस्ट्रिब्यूट करना.

सपोर्ट बनाम फ़्रेमवर्क एपीआई का इस्तेमाल करना

सहायता लाइब्रेरी ऐसी क्लास और मेथड उपलब्ध कराती हैं जो इन एपीआई से काफ़ी मिलते-जुलते होते हैं Android फ़्रेमवर्क के बारे में ज़्यादा जानें. इसका पता चलने पर, आपको सोचना होगा कि क्या आपको एपीआई के फ़्रेमवर्क वर्शन या इसके बराबर की सहायता लाइब्रेरी का इस्तेमाल करना होगा. यहां सहायक लाइब्रेरी क्लास का इस्तेमाल कब करना चाहिए, इसके लिए दिशा-निर्देश दिए गए हैं फ़्रेमवर्क एपीआई की मदद से:

  • किसी खास सुविधा के साथ काम करता है या नहीं - अगर आपको उन डिवाइसों पर हाल ही की प्लैटफ़ॉर्म सुविधा प्लैटफ़ॉर्म पर, सहायता लाइब्रेरी से मिलती-जुलती क्लास और तरीकों का इस्तेमाल करें.
  • मिलती-जुलती लाइब्रेरी की सुविधाओं के साथ काम करना - यह ज़्यादा बेहतर है सहायता लाइब्रेरी की क्लास, एक या उससे ज़्यादा अतिरिक्त सहायता पर निर्भर कर सकती है लाइब्रेरी क्लास का इस्तेमाल करना चाहिए, ताकि आपको उनके लिए सहायक लाइब्रेरी क्लास का इस्तेमाल करना चाहिए निर्भरता. उदाहरण के लिए, ViewPager सहायता क्लास का इस्तेमाल FragmentPagerAdapter या FragmentStatePagerAdapter सहायता क्लास के साथ किया जाना चाहिए.
  • डिवाइस पर काम करने की सामान्य सुविधा - अगर आपके पास कोई खास प्लैटफ़ॉर्म की वह सुविधा जिसे आपको अपने ऐप्लिकेशन के साथ, पुराने सिस्टम के साथ काम करने की सुविधा के साथ इस्तेमाल करना है इस तरह से, अपने ऐप्लिकेशन में सहायता लाइब्रेरी क्लास का इस्तेमाल करना भी अच्छा आइडिया है. उदाहरण के लिए, हो सकता है कि आप फ़्रेमवर्क Activity क्लास की जगह ActivityCompat का इस्तेमाल करना चाहें, ताकि आप नई सुविधाओं का फ़ायदा पा सकें बाद में, जैसे कि अनुमतियों के नए मॉडल को शामिल करना Android 6.0 (एपीआई लेवल 23).

लाइब्रेरी की उन क्लास की मदद करना जो प्लैटफ़ॉर्म को साथ में लागू करने की सुविधा देती हैं ऐसा हो सकता है कि एपीआई क्लास, सभी सुविधाएं न दे होस्ट डिवाइस की सीमाओं की वजह से, यह सुविधा हाल ही में रिलीज़ की गई है प्लैटफ़ॉर्म वर्शन है. इन मामलों में, Support Library की क्लास को ग्रेसफ़ुल तरीके से डिग्रेड किया जा सकता है और हो सकता है कि वह इसकी सभी सुविधाएं या डेटा उपलब्ध न कराए मौजूदा प्लैटफ़ॉर्म एपीआई है. इस वजह से, आपको रेफ़रंस फ़ाइल की समीक्षा करनी चाहिए इस्तेमाल किए जाने वाले तरीकों और लाइब्रेरी की क्लास से जुड़े दस्तावेज़. का इस्तेमाल करके, YouTube TV के साथ काम करने वाला ऐसा सबसे पुराना वर्शन चला रहे हैं जो आपका ऐप्लिकेशन.

ध्यान दें: सहायता लाइब्रेरी इसके बराबर उपलब्ध नहीं हैं क्लास और तरीके की जानकारी देता है. कुछ मामलों में आपको इन चीज़ों की ज़रूरत पड़ सकती है SDK टूल के वर्शन की साफ़ तौर पर जांच के साथ फ़्रेमवर्क के तरीके वाला कॉल रैप करें और ऐसा कोड डालें जो किसी डिवाइस पर उपलब्ध न हो. ज़्यादा के लिए अपने कोड में वर्शन की जाँच इस्तेमाल करने के बारे में जानकारी पाने के लिए, अलग-अलग वर्शन के साथ काम करना देखें प्लैटफ़ॉर्म के वर्शन.

वर्शन के लिए सहायता और पैकेज के नाम

Support Library के कुछ पैकेज में पैकेज के नाम होते हैं, जो एपीआई का वह कम से कम लेवल हो सकता है जिसका वे मूल रूप से इस्तेमाल कर रहे थे, v# नोटेशन का इस्तेमाल करें, जैसे कि support-v4 पैकेज उपलब्ध है. सपोर्ट लाइब्रेरी के वर्शन 26.0.0 के साथ शुरू किया जा रहा है (इस अवधि में रिलीज़ किया जाएगा जुलाई 2017), कम से कम काम करने वाले एपीआई लेवल को Android 4.0 (API) में बदल दिया गया है लेवल 14). इस कारण से, हाल ही में रिलीज़ की गई सहायता लाइब्रेरी है, तो आपको यह नहीं मानना चाहिए कि v# पैकेज नोटेशन से यह पता चलता है कि एपीआई की सुविधा कम से कम कितनी काम करती है. हाल ही में रिलीज़ किए गए इस बदलाव का मतलब यह भी है कि v4 वाले लाइब्रेरी पैकेज और v7 ज़रूरी है कि वे एपीआई के कम से कम लेवल के बराबर हों जिन पर ये काम करते हैं. उदाहरण के लिए, support-v4 और support-v7 पैकेज, दोनों ही 26.0.0 और उसके बाद के वर्शन से सपोर्ट लाइब्रेरी की रिलीज़ के लिए, एपीआई लेवल 14.

लाइब्रेरी रिलीज़ किए गए वर्शन पर काम करें

सपोर्ट लाइब्रेरी का रिलीज़ वर्शन, जैसे कि 24.2.0 या 25.0.1 है यह उसमें मौजूद किसी भी लाइब्रेरी के साथ काम करने वाले कम से कम एपीआई लेवल से अलग हो रिलीज़.रिलीज़ वर्शन नंबर से पता चलता है कि प्लैटफ़ॉर्म का कौनसा वर्शन इसी एपीआई के आधार पर इसे बनाया गया था. इसलिए, सबसे हाल के एपीआई क्या हो सकते हैं लाइब्रेरी के इस वर्शन में शामिल किया गया है.

खास तौर पर, रिलीज़ वर्शन नंबर के पहले सेक्शन में, उदाहरण के लिए वर्शन 24.2.0 में 24, आम तौर पर प्लैटफ़ॉर्म एपीआई रिलीज़ होने के बाद भी उपलब्ध होता है. रिलीज़ वर्शन लेवल सहायता लाइब्रेरी से पता चलता है कि उसमें उस एपीआई की कुछ सुविधाएं शामिल हैं लेकिन आपको यह नहीं मानना चाहिए कि यह सभी के साथ काम करता है नए प्लैटफ़ॉर्म एपीआई वर्शन में रिलीज़ की गई सुविधाएं शामिल हैं.

लाइब्रेरी डिपेंडेंसी

Android Support Library सुइट की ज़्यादातर लाइब्रेरी की कुछ सुविधाएं अलग-अलग होती हैं एक या एक से ज़्यादा लाइब्रेरी होनी चाहिए. उदाहरण के लिए, करीब-करीब सभी सपोर्ट लाइब्रेरी में यह support-compat पैकेज पर निर्भर करता है. आम तौर पर, आपको मुझे लाइब्रेरी डिपेंडेंसी के बारे में चिंता करने की ज़रूरत नहीं है, क्योंकि Gradle बिल्ड यह टूल, लाइब्रेरी डिपेंडेंसी को अपने-आप मैनेज करता है. इसके लिए, डिपेंडेंट लाइब्रेरी पर लागू होते हैं.

अगर आपको यह देखना हो कि किन लाइब्रेरी और लाइब्रेरी डिपेंडेंसी में क्या-क्या शामिल हैं अपना ऐप्लिकेशन डाउनलोड करने के लिए, अपने ऐप्लिकेशन डेवलपमेंट के बिल्ड रूट में नीचे दिया गया कमांड चलाएं प्रोजेक्ट पर जाकर, उस प्रोजेक्ट की डिपेंडेंसी की रिपोर्ट पाएं. इसमें यह जानकारी भी शामिल है Android सहायता लाइब्रेरी और अन्य लाइब्रेरी:

gradle -q dependencies your-app-project:dependencies

अपने डेवलपमेंट में सहायता लाइब्रेरी जोड़ने के बारे में ज़्यादा जानकारी के लिए के लिए, Gradle का उपयोग करके कोई प्रोजेक्ट बनाएं, तो सहायता लाइब्रेरी का सेटअप. Gradle के साथ काम करने के बारे में ज़्यादा जानकारी के लिए, देखें कॉन्फ़िगर करें आपका बिल्ड.

ध्यान दें कि सभी Android सहायता लाइब्रेरी भी कुछ बुनियादी लेवल पर निर्भर करती हैं हाल ही की रिलीज़ के लिए, Android 4.0 (एपीआई लेवल 14) या उच्च.