Sobes.tech
Junior

¿Para qué se utiliza la clase Bundle en Android?

sobes.tech AI

Respuesta de la IA

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) // Значение по умолчанию
}