Junior — Middle
Може ли да се обясни принципът на работа на API за резултати от фрагменти и неговото предназначение в архитектурата на Android приложенията?
sobes.tech AI
Отговор от AI
Fragment Result API в Android предназначен для обмена данными между фрагментами без необходимости напрямую связывать их друг с другом.
Принцип работы:
- Один фрагмент устанавливает слушатель на определённый ключ результата.
- Другой фрагмент отправляет результат с этим ключом.
- Система передаёт данные слушателю, который их обрабатывает.
Это упрощает коммуникацию между фрагментами, особенно когда они не находятся в прямой иерархии или когда нужно избежать тесной связности.
Пример использования:
// В принимающем фрагменте
setFragmentResultListener("requestKey") { key, bundle ->
val result = bundle.getString("bundleKey")
// обработка результата
}
// В отправляющем фрагменте
val result = Bundle().apply { putString("bundleKey", "данные") }
setFragmentResult("requestKey", result)
Таким образом, Fragment Result API способствует более чистой архитектуре и облегчает управление навигацией и обменом данными между фрагментами.