कॉन्फ़िगरेशन और कंटिन्युइटी

टीयर 3 के लिए, बड़ी स्क्रीन पर इस्तेमाल करने के लिए तैयार आइकॉन

तीसरा टीयर — बड़ी स्क्रीन के लिए उपलब्ध

कॉन्फ़िगरेशन, डिवाइस की स्थिति और सिस्टम की स्थिति का कॉम्बिनेशन होता है. डिवाइस की स्थिति में, स्क्रीन ओरिएंटेशन, डिसप्ले का साइज़, फ़ोल्ड किए जा सकने वाले डिवाइस की फ़ोल्ड की गई या अनफ़ोल्ड की गई स्थिति, बाहरी कीबोर्ड की उपलब्धता, और अटैच किए गए डिसप्ले शामिल होते हैं. सिस्टम की स्थिति में, डिसप्ले मोड शामिल होते हैं. जैसे, मल्टी-विंडो और मल्टी-डिसप्ले. साथ ही, उपयोगकर्ता की तय की गई सेटिंग भी शामिल होती हैं. जैसे, फ़ॉन्ट साइज़ और स्थानीय भाषा.

कॉन्फ़िगरेशन में होने वाले बदलाव, डिवाइस या सिस्टम की स्थिति में होने वाले बदलाव होते हैं. जैसे, डिवाइस का घूमना, ऐप्लिकेशन विंडो का साइज़ बदलना, डिवाइस को अनफ़ोल्ड करना, कनेक्ट किया गया डिवाइस या उपयोगकर्ता की सेटिंग अपडेट होना.

बड़ी स्क्रीन वाले डिवाइसों में, छोटी स्क्रीन वाले फ़ोन की तरह ही कॉन्फ़िगरेशन में बदलाव किए जाते हैं. हालांकि, बड़ी स्क्रीन वाले डिवाइसों में कॉन्फ़िगरेशन में कुछ खास बदलाव भी किए जाते हैं. जैसे:

  • डिवाइस को फ़ोल्ड और अनफ़ोल्ड करना
  • मल्टी-विंडो मोड में, फ़्री फ़ॉर्म और डेस्कटॉप-टाइप विंडो का साइज़ बदलना

गतिविधि से जुड़ी जानकारी

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

अपने ऐप्लिकेशन को रिस्पॉन्सिव/अडैप्टिव लेआउट के साथ डिज़ाइन करें. ये लेआउट, स्क्रीन और ऐप्लिकेशन विंडो के अलग-अलग साइज़ और आसपेक्ट रेशियो के साथ काम करते हैं. साथ ही, Android फ़्रेमवर्क के कॉन्फ़िगरेशन मैनेजमेंट की मदद से, बड़े और छोटे डिवाइसों पर आपके ऐप्लिकेशन को बेहतर तरीके से दिखाया जा सकता है.

खुद से कॉन्फ़िगरेशन मैनेज करना

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

अपने ऐप्लिकेशन के मेनिफ़ेस्ट में <activity> एलिमेंट के android:configChanges एट्रिब्यूट को सेट करके, उन कॉन्फ़िगरेशन बदलावों के बारे में बताएं जिन्हें आपका ऐप्लिकेशन हैंडल करता है.

उदाहरण के लिए, अपने ऐप्लिकेशन को मल्टी-विंडो कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज करने की सुविधा दें:

<activity
  android:name=".MyActivity"
  android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" />

स्टेट मैनेजमेंट

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

अगले चरण

कॉन्फ़िगरेशन में हुए बदलावों को मैनेज करने और ऐप्लिकेशन के काम करने के तरीके को बनाए रखने के बारे में ज़्यादा जानने के लिए, यहां दी गई डेवलपर गाइड देखें: