Назад к вопросам
Junior
144
questionbank
Для чего используется класс Bundle в Android?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Bundle используется для передачи данных между компонентами приложения, такими как Activity, Fragment или Service.
Основные функции:
- Хранение данных: Может содержать различные примитивные типы данных (int, boolean, String и т.д.), массивы примитивов, а также Parcelable или Serializable объекты.
- Ключ-значение: Данные хранятся в виде пар ключ-значение, где ключом является строка.
- Сохранение состояния: Применим для сохранения и восстановления состояния Activity (например, в методах
onSaveInstanceState()иonRestoreInstanceState()). - Аргументы Fragment: Используется для передачи аргументов в Fragment через метод
setArguments(). - Дополнительные данные в Intent: Позволяет передавать дополнительные данные в Intent с помощью методов
putExtra()иgetExtras().
Пример использования для передачи данных между Activity:
// Отправка данных из Activity A в Activity B
val intent = Intent(this, ActivityB::class.java)
val bundle = Bundle()
bundle.putString("username", "john.doe")
bundle.putInt("age", 30)
intent.putExtras(bundle)
startActivity(intent)
// Получение данных в Activity B
val extras = intent.extras
if (extras != null) {
val username = extras.getString("username")
val age = extras.getInt("age", -1) // Значение по умолчанию
}