अलग-अलग प्लैटफ़ॉर्म के वर्शन के साथ काम करता है

जबकि Android के नवीनतम वर्शन आपके ऐप्लिकेशन के लिए अक्सर बेहतरीन API प्रदान करते हैं, आपको जारी रखना चाहिए का इस्तेमाल करें. यह लेसन में यह बताया गया है कि पुराने एपीआई का इस्तेमाल करते हुए नए एपीआई का फ़ायदा कैसे लिया जा सकता है वर्शन भी हैं.

सक्रिय ऐप्लिकेशन की उपलब्धता का पता लगाने के लिए, Android Studio का नया प्रोजेक्ट विज़र्ड का इस्तेमाल करें Android के सभी वर्शन पर चलने वाले डिवाइस पर. यह डिस्ट्रिब्यूशन, उन डिवाइसों की संख्या पर आधारित है Google Play Store पर जाएं. हमारा सुझाव है कि आप तकरीबन 90% चालू डिवाइसों को सपोर्ट करें. साथ ही, आपके ऐप्लिकेशन को नए वर्शन पर टारगेट करने में.

सलाह: आपको बेहतरीन सुविधाएं देने के लिए, कई Android वर्शन की सुविधाओं का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन में Android सपोर्ट लाइब्रेरी का इस्तेमाल करना चाहिए, इससे आपको पुराने वर्शन पर, हाल ही के कई प्लैटफ़ॉर्म एपीआई इस्तेमाल करने की सुविधा मिलती है.

कम से कम और टारगेट एपीआई लेवल की जानकारी देना

AndroidManifest.xml फ़ाइल आपके ऐप्लिकेशन के बारे में जानकारी देता है और पहचान करता है कि Android के कौनसे वर्शन काम करते हैं. खास तौर पर, minSdkVersion और <uses-sdk> एलिमेंट के लिए targetSdkVersion एट्रिब्यूट उस निचले एपीआई लेवल की पहचान करें जिसके साथ आपका ऐप्लिकेशन काम करता है. साथ ही, एपीआई लेवल के मुकाबले सबसे ज़्यादा एपीआई लेवल की पहचान करें जिसे आपने ऐप्लिकेशन को डिज़ाइन और टेस्ट किया है.

उदाहरण के लिए:

<manifest xmlns:android="http://schemas.android.com/apk/res/android" ... >
    <uses-sdk android:minSdkVersion="4" android:targetSdkVersion="15" />
    ...
</manifest>

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

रनटाइम के दौरान सिस्टम का वर्शन देखें

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

Kotlin

private fun setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        actionBar.setDisplayHomeAsUpEnabled(true)
    }
}

Java

private void setUpActionBar() {
    // Make sure we're running on Honeycomb or higher to use ActionBar APIs
    if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) {
        ActionBar actionBar = getActionBar();
        actionBar.setDisplayHomeAsUpEnabled(true);
    }
}

ध्यान दें: एक्सएमएल संसाधनों को पार्स करते समय, Android एक्सएमएल को अनदेखा कर देता है ऐसे एट्रिब्यूट जो मौजूदा डिवाइस पर काम नहीं करते. इसलिए आप सुरक्षित रूप से एक्सएमएल एट्रिब्यूट का इस्तेमाल कर सकते हैं, सिर्फ़ नए वर्शन पर काम करते हैं. उन्हें पुराने वर्शन के टूटने की चिंता नहीं करनी होती उस कोड को पहचानें. उदाहरण के लिए, यदि आप targetSdkVersion="11", आपके ऐप्लिकेशन में डिफ़ॉल्ट रूप से ActionBar शामिल है Android 3.0 और इसके बाद के वर्शन पर काम करता है. कार्रवाई बार में मेन्यू आइटम जोड़ने के लिए, आपको android:showAsAction="ifRoom" आपके मेन्यू संसाधन एक्सएमएल में. ऐसा करना सुरक्षित है में नहीं, क्योंकि Android के पुराने वर्शन showAsAction एट्रिब्यूट का इस्तेमाल करें (इसका मतलब है कि आपको अलग से नहीं वर्शन res/menu-v11/ में).

प्लैटफ़ॉर्म स्टाइल और थीम का इस्तेमाल करें

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

अपनी गतिविधि को डायलॉग बॉक्स की तरह दिखाने के लिए:

<activity android:theme="@android:style/Theme.Dialog">

अपनी गतिविधि का बैकग्राउंड पारदर्शी बनाने के लिए:

<activity android:theme="@android:style/Theme.Translucent">

/res/values/styles.xml में तय की गई अपनी पसंद के मुताबिक बनाई गई थीम लागू करने के लिए:

<activity android:theme="@style/CustomTheme">

अपने पूरे ऐप्लिकेशन (सभी गतिविधियां) पर कोई थीम लागू करने के लिए, android:theme जोड़ें विशेषता <application> एलिमेंट में:

<application android:theme="@style/CustomTheme">

थीम बनाने और उनका इस्तेमाल करने के बारे में ज़्यादा जानने के लिए, स्टाइल और थीम गाइड पढ़ें.