![]()
तीसरा टियर — अडैप्टिव लर्निंग के लिए तैयार
कॉन्फ़िगरेशन, डिवाइस की स्थिति और सिस्टम की स्थिति का कॉम्बिनेशन होता है. डिवाइस की स्थिति में ये शामिल हैं: स्क्रीन ओरिएंटेशन, डिसप्ले का साइज़, फ़ोल्ड किए जा सकने वाले डिवाइस की फ़ोल्ड या अनफ़ोल्ड स्थिति, बाहरी कीबोर्ड की उपलब्धता, और अटैच किए गए डिसप्ले. सिस्टम की स्थिति में डिसप्ले मोड शामिल होते हैं. जैसे, मल्टी-विंडो और मल्टी-डिसप्ले. साथ ही, इसमें उपयोगकर्ता की तय की गई सेटिंग भी शामिल होती हैं. जैसे, फ़ॉन्ट का साइज़ और स्थान-भाषा.
कॉन्फ़िगरेशन में बदलाव, डिवाइस या सिस्टम की स्थिति में होने वाले बदलाव होते हैं. जैसे, डिवाइस को घुमाना, ऐप्लिकेशन की विंडो का साइज़ बदलना, डिवाइस को खोलना, कनेक्ट किया गया पेरिफ़ेरल या अपडेट की गई उपयोगकर्ता सेटिंग.
बड़ी स्क्रीन वाले डिवाइसों में, कॉन्फ़िगरेशन में वही बदलाव होते हैं जो छोटी स्क्रीन वाले फ़ोन में होते हैं. हालांकि, बड़ी स्क्रीन वाले डिवाइसों में कॉन्फ़िगरेशन में कुछ खास बदलाव भी होते हैं. जैसे:
- डिवाइस को फ़ोल्ड और अनफ़ोल्ड करना
- मल्टी-विंडो (एक से ज़्यादा ऐप्लिकेशन, एक साथ) मोड में, डेस्कटॉप टाइप की फ़्री-फ़ॉर्म विंडो का साइज़ बदलना
गतिविधि को फिर से शुरू करना
Android, ऐप्लिकेशन के लिए कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज करता है. इसके लिए, वह उस ऐक्टिविटी को खत्म कर देता है और फिर से बनाता है जो कॉन्फ़िगरेशन में बदलाव होने के दौरान चल रही होती है. Android, नई कॉन्फ़िगरेशन के हिसाब से सेटिंग और संसाधनों के साथ गतिविधि को फिर से बनाता है.
अपने ऐप्लिकेशन को रिस्पॉन्सिव/अडैप्टिव लेआउट के साथ डिज़ाइन करें. इससे अलग-अलग स्क्रीन और ऐप्लिकेशन विंडो के साइज़ और आसपेक्ट रेशियो के साथ-साथ Android फ़्रेमवर्क के कॉन्फ़िगरेशन को मैनेज करने की सुविधा मिलेगी. इससे बड़ी और छोटी स्क्रीन पर आपका ऐप्लिकेशन सबसे सही तरीके से दिखेगा.
खुद से कॉन्फ़िगरेशन मैनेज करना
खास मामलों में, जैसे कि ऐप्लिकेशन के हिसाब से ऑप्टिमाइज़ेशन के लिए, अपने ऐप्लिकेशन को कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज करने की अनुमति दें. ऐसा करने से, Android को आपके ऐप्लिकेशन की गतिविधियों को बंद करने और फिर से शुरू करने की ज़रूरत नहीं पड़ेगी.
अपने ऐप्लिकेशन के मेनिफ़ेस्ट में, <activity> एलिमेंट के android:configChanges एट्रिब्यूट को सेट करके, कॉन्फ़िगरेशन में होने वाले उन बदलावों के बारे में बताएं जिन्हें आपका ऐप्लिकेशन हैंडल करता है.
उदाहरण के लिए, मल्टी-विंडो कॉन्फ़िगरेशन में होने वाले बदलावों को मैनेज करने के लिए, अपने ऐप्लिकेशन को चालू करें:
<activity
android:name=".MyActivity"
android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout" />
स्टेट मैनेजमेंट
Android आपके लिए कॉन्फ़िगरेशन में बदलाव करता है या आपको खुद करना होता है, इससे कोई फ़र्क़ नहीं पड़ता. आपके ऐप्लिकेशन को कॉन्टेक्स्ट और स्थिति बनाए रखनी चाहिए. कॉन्फ़िगरेशन में बदलाव होने के बाद, उपयोगकर्ताओं को बिना किसी रुकावट के आपके ऐप्लिकेशन के साथ इंटरैक्ट करने की सुविधा मिलनी चाहिए. साथ ही, उन्हें डेटा भी नहीं खोना चाहिए. उदाहरण के लिए, मीडिया चलाने या डेटा डालने के दौरान कॉन्फ़िगरेशन में बदलाव होने पर.
अगले चरण
कॉन्फ़िगरेशन में हुए बदलावों को मैनेज करने और ऐप्लिकेशन को लगातार चालू रखने के तरीके के बारे में ज़्यादा जानने के लिए, डेवलपर के लिए बनी ये गाइड देखें: