Назад к вопросам
Junior
139
questionbank

Откуда поступает и куда направляется бандл в Android?

Sobes Copilot

Получайте ответы в реальном времени

Ответ от нейросети

sobes.tech AI

Бандл (Bundle) в Android используется для передачи данных между компонентами приложения (такими как Activity, Fragment, Service, BroadcastReceiver).

Откуда поступает:

  • Из создающего компонента: Компонент, который инициирует взаимодействие с другим компонентом, создает Bundle и наполняет его данными.

Куда направляется:

  • В получающий компонент: Созданный Bundle передается в целевой компонент.

Примеры использования:

  • При запуске Activity через Intent. Данные добавляются в Intent с помощью putExtra(), а затем могут быть извлечены в новой Activity с помощью getIntent().getExtras().
  • При создании Fragment и передаче ему аргументов. Данные добавляются в Bundle и устанавливаются как аргументы с помощью setArguments().
  • При передаче данных между Activity и Service или BroadcastReceiver через Intent.

Пример передачи данных между Activity:

// Отправляющая Activity
val intent = Intent(this, TargetActivity::class.java)
val bundle = Bundle()
bundle.putString("key_string", "hello")
bundle.putInt("key_int", 123)
intent.putExtras(bundle)
startActivity(intent)
// Получающая Activity (TargetActivity)
override fun onCreate(savedInstanceState: Bundle?) {
    super.onCreate(savedInstanceState)
    setContentView(R.layout.activity_target)

    val bundle = intent.extras
    if (bundle != null) {
        val stringValue = bundle.getString("key_string")
        val intValue = bundle.getInt("key_int")
        // Использование полученных данных
    }
}