अनुप्रयोग वर्ग का उपयोग करना
इस बात पर निर्भर करते हुए कि आप अपने आरंभीकरण में क्या कर रहे हैं, आप एक नया वर्ग बनाने पर विचार कर सकते हैं, जो Applicationआपके आरंभीकरण कोड को onCreateउस वर्ग में एक विस्तृत विधि में बढ़ाता और आगे बढ़ाता है ।
public class MyApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
// TODO Put your application initialization code here.
}
}
onCreateआवेदन कक्षा में केवल, जब पूरा आवेदन बनाई गई है कहा जाता है तो उन्मुखीकरण या कीबोर्ड दृश्यता परिवर्तन पर गतिविधि पुनरारंभ यह ट्रिगर नहीं करेगा।
इस वर्ग के उदाहरण को एक सिंगलटन के रूप में उजागर करना और एप्लिकेशन वेरिएबल्स को उजागर करना अच्छा है जो आप गेटर्स और सेटर्स का उपयोग करके आरंभ कर रहे हैं।
नोट: आपको इसे पंजीकृत करने और उपयोग करने के लिए प्रकट में अपने नए एप्लिकेशन वर्ग का नाम निर्दिष्ट करना होगा:
<application
android:name="com.you.yourapp.MyApplicationClass"
कॉन्फ़िगरेशन परिवर्तन पर प्रतिक्रिया [अद्यतन: यह एपीआई 13 के बाद से हटा दिया गया है; अनुशंसित विकल्प देखें ]
एक और विकल्प के रूप में, आप अपने एप्लिकेशन को उन घटनाओं के लिए सुन सकते हैं जो पुनः आरंभ करने का कारण बनेगी - जैसे अभिविन्यास और कीबोर्ड दृश्यता परिवर्तन - और उन्हें अपनी गतिविधि के भीतर संभालें।
android:configChangesअपनी गतिविधि के प्रकट नोड में नोड जोड़कर प्रारंभ करें
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
या Android 3.2 (एपीआई स्तर 13) और नए के लिए :
<activity android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name">
फिर गतिविधि के भीतर onConfigurationChangedविधि को ओवरराइड करें और setContentViewनए ओरिएंटेशन में GUI लेआउट को फिर से करने के लिए मजबूर करने के लिए कॉल करें ।
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}