Sobes.tech
Junior

Wofür wird die Klasse Bundle in Android verwendet?

sobes.tech KI

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