Назад к вопросам
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) // Значение по умолчанию
}