Uygulama Sınıfını Kullanma
Başlatma işleminizde ne yaptığınıza bağlı olarak Application
, başlatma kodunuzu genişleten ve onCreate
bu sınıf içindeki geçersiz kılınmış bir yönteme taşıyan yeni bir sınıf oluşturmayı düşünebilirsiniz .
public class MyApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
// TODO Put your application initialization code here.
}
}
onCreate
Tüm uygulama oluşturulduğunda yönelim veya klavye görünürlük değişiklikleri Etkinlik yeniden başlatıldığında o tetiklememeleri için başvuru sınıftaki tek çağrılır.
Bu sınıfın örneğini tekil olarak göstermek ve alıcıları ve ayarlayıcıları kullanarak başlattığınız uygulama değişkenlerini ortaya çıkarmak iyi bir uygulamadır.
NOT: Yeni Uygulama sınıfınızın, kaydedilmesi ve kullanılması için manifest'te adını belirtmeniz gerekir:
<application
android:name="com.you.yourapp.MyApplicationClass"
Yapılandırma Değişikliklerine Tepki [UPDATE: API 13'ten beri kullanımdan kaldırılmıştır; önerilen alternatife bakın ]
Başka bir alternatif olarak, uygulamanızın yeniden başlatma gibi yönlendirme ve klavye görünürlüğü değişikliklerine neden olacak olayları dinlemesini ve bunları Etkinliğiniz içinde işlemesini sağlayabilirsiniz.
android:configChanges
Düğümü, Etkinliğinizin manifest düğümüne ekleyerek başlayın
<activity android:name=".MyActivity"
android:configChanges="orientation|keyboardHidden"
android:label="@string/app_name">
veya Android 3.2 (API seviye 13) ve daha yenisi için :
<activity android:name=".MyActivity"
android:configChanges="keyboardHidden|orientation|screenSize"
android:label="@string/app_name">
Daha sonra Etkinlik içinde onConfigurationChanged
yöntemi geçersiz kılın ve setContentView
GUI mizanpajını yeni yönde yeniden yapılmaya zorlayın.
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
setContentView(R.layout.myLayout);
}