खोज…


पदावनत एपीआई को कैसे संभालें

किसी विकास प्रक्रिया के दौरान किसी डेवलपर के लिए अपग्रेड किए गए API के नहीं आने की संभावना नहीं है। एक पदावनत कार्यक्रम तत्व वह है जिसे प्रोग्रामर उपयोग करने से हतोत्साहित करते हैं, आमतौर पर क्योंकि यह खतरनाक है, या क्योंकि एक बेहतर विकल्प मौजूद है। कंप्रेस्ड और एनालाइज़र (जैसे LINT ) चेतावनी देते हैं कि जब एक पदावनत प्रोग्राम तत्व का उपयोग किया जाता है या गैर-डिप्रेस्ड कोड में ओवरराइड किया जाता है।

एक अपग्रेड किए गए एपीआई को आमतौर पर एक स्ट्राइकआउट का उपयोग करके एंड्रॉइड स्टूडियो में पहचाना जाता है। नीचे दिए गए उदाहरण में, विधि .getColor(int id) को हटा दिया गया है:

getResources().getColor(R.color.colorAccent));

यदि संभव हो तो, डेवलपर्स को वैकल्पिक एपीआई और तत्वों का उपयोग करने के लिए प्रोत्साहित किया जाता है। लाइब्रेरी के लिए एंड्रॉइड डॉक्यूमेंटेशन पर जाकर और "एपीआई स्तर एक्स में जोड़ा गया" अनुभाग की जाँच करके लाइब्रेरी की बैकवर्ड संगतता की जाँच करना संभव है:

getColor को एपीआई स्तर 1 में जोड़ा गया और एपीआई स्तर 23 में पदावनत किया गया

उस स्थिति में, जिस एपीआई का आपको उपयोग करने की आवश्यकता है, वह आपके द्वारा उपयोग किए जा रहे Android संस्करण के साथ संगत नहीं है, आपको उस लाइब्रेरी का उपयोग करने से पहले उपयोगकर्ता के एपीआई स्तर की जांच करनी चाहिए। उदाहरण के लिए:

//Checks the API level of the running device
if (Build.VERSION.SDK_INT < 23) {
    //use for backwards compatibility with API levels below 23
    int color = getResources().getColor(R.color.colorPrimary);
} else {
    int color = getResources().getColor(R.color.colorPrimary, getActivity().getTheme());
}

इस पद्धति का उपयोग करना सुनिश्चित करता है कि आपका ऐप नए एंड्रॉइड संस्करणों के साथ-साथ मौजूदा संस्करणों के साथ संगत रहेगा।

आसान विकल्प: समर्थन लाइब्रेरी का उपयोग करें

यदि समर्थन लाइब्रेरी का उपयोग किया जाता है, तो अक्सर कम क्लाइंट कोड के साथ समान कार्य को पूरा करने के लिए स्थिर सहायक विधियां होती हैं। उपर्युक्त के बजाय यदि / और ब्लॉक है, तो उपयोग करें:

final int color = android.support.v4.content.ContextCompat
    .getColor(context, R.color.colorPrimary);

अधिकांश पदावनत विधियाँ जिनमें एक अलग हस्ताक्षर के साथ नई विधियाँ हैं और कई नई सुविधाएँ जो पुराने संस्करणों पर उपयोग नहीं की जा सकी हैं उनमें इस तरह की अनुकूलता सहायक विधियाँ हैं। दूसरों को खोजने के लिए, ContextCompat , ViewCompat , आदि जैसी कक्षाओं के लिए समर्थन लाइब्रेरी के माध्यम से ब्राउज़ करें।



Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow