@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// The activity is being created.
}
Activity
'deki InstanceState
yapısı ile veriler geçici olarak saklanır
- Lifecycle metodlarından değildir
- Kullanıcı
Activity
'den ayrılıken çağırılır. - Bazen
onStop()
'tan önce çalışır
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save the user's current game state
savedInstanceState.putInt("score", mCurrentScore);
savedInstanceState.putInt("level", mCurrentLevel);
}
- Kaydedilen
Bundle
verilerionCreate()
callback metodunda kullanılmakta Activity
oluşturulduktan sonra çalışanonStart()
metodunun ardından çalışanonRestoreInstanceState()
callback metodunda da kullanılabilir
{% hint style="warning" %}
İlk kez uygulama oluşturulduğunda Bundle
verisi olmayacağından null
kontrolü yapılması gerekir.
{% endhint %}
@Override
protected void onCreate(Bundle savedInstanceState) {
// Always call the superclass first
super.onCreate(savedInstanceState);
// Check if recreating a previously destroyed instance.
if (savedInstanceState != null) {
// Restore value of members from saved state.
mCurrentScore = savedInstanceState.getInt("score");
mCurrentLevel = savedInstanceState.getInt("level");
} else {
// Initialize members with default values for a new instance.
// ...
}
// ... Rest of code
}