The Activity class provides two methods onSaveInstanceState() and onRestoreInstanceState(), for saving and restoring activity state. The onSaveInstanceState( ) method is a callback method that is used to save the application state.
@Override
public void onSaveInstanceState(Bundle savedInstanceState) {
super.onSaveInstanceState(savedInstanceState);
// Save UI state changes to the savedInstanceState.
// This bundle will be passed to onCreate if the process is killed and restarted.
savedInstanceState.putBoolean("key1", true);
savedInstanceState.putDouble("key2", 1.9);
savedInstanceState.putInt("key3", 1);
savedInstanceState.putString("key4", "Welcome back to Android");
}
The Bundle is essentially a way of storing a Key value map. And it will get passed in to onCreate() and also onRestoreInstanceState() where you can extract the values as follows.
@Override
public void onRestoreInstanceState(Bundle savedInstanceState) {
super.onRestoreInstanceState(savedInstanceState);
// Restore UI state from the savedInstanceState.
// This bundle has also been passed to onCreate.
boolean myBoolean = savedInstanceState.getBoolean("key1");
double myDouble = savedInstanceState.getDouble("key2");
int myInt = savedInstanceState.getInt("key3");
String myString = savedInstanceState.getString("key4");
}