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