Bundle
- это контейнер для всей информации, которую вы хотите сохранить.Вы используете функции put * для вставки данных в него.Вот краткий список (есть еще) функций пут, которые вы можете использовать для хранения данных в Bundle
.
putString
putBoolean
putByte
putChar
putFloat
putLong
putShort
putParcelable (used for objects but they must implement Parcelable)
В вашей функции onCreate
эта Bundle
возвращается в программу,Лучший способ проверить, перезагружается ли приложение или запускается впервые:
if (savedInstanceState != null) {
// Then the application is being reloaded
}
Чтобы вернуть данные, используйте функции get * так же, как функции put *.Данные хранятся в виде пары имя-значение.Это похоже на хэш-карту.Вы предоставляете ключ и значение, затем, когда вы хотите вернуть значение, вы даете ключ, и функция получает значение.Вот краткий пример.
@Override
public void onSaveInstanceState(Bundle outState) {
outState.putString("message", "This is my message to be reloaded");
super.onSaveInstanceState(outState);
}
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
if (savedInstanceState != null) {
String message = savedInstanceState.getString("message");
Toast.makeText(this, message, Toast.LENGTH_LONG).show();
}
}
Ваше сохраненное сообщение будет отображаться на экране.Надеюсь, это поможет.