Можно ли передавать любые типы данных с помощью метода putExtra в Intent?

Метод putExtra в Intent позволяет передавать данные различных типов, но не любые.

Короткий ответ

Что ответить на собеседовании

Метод putExtra в Intent позволяет передавать данные различных типов, но не любые. Он поддерживает примитивные типы (int, boolean, float и т.д.), строки, массивы, а также объекты, реализующие интерфейсы Parcelable или Serializable. Если попытаться передать объект, который не реализует эти интерфейсы, приложение вызовет ошибку во время выполнения. Поэтому для передачи сложных объектов их нужно либо сериализовать, либо сделать Parcelable.

Подробный разбор

Ответ с пояснениями

Метод putExtra в Intent позволяет передавать данные различных типов, но не любые. Он поддерживает примитивные типы (int, boolean, float и т.д.), строки, массивы, а также объекты, реализующие интерфейсы Parcelable или Serializable. Если попытаться передать объект, который не реализует эти интерфейсы, приложение вызовет ошибку во время выполнения. Поэтому для передачи сложных объектов их нужно либо сериализовать, либо сделать Parcelable.

Пример передачи строки и Parcelable объекта:

Intent intent = new Intent(this, NextActivity.class);
intent.putExtra("username", "user123");
intent.putExtra("userData", userParcelableObject); // userParcelableObject реализует Parcelable
startActivity(intent);

Практика в реальном времени

Подготовьтесь к следующему собеседованию

Interview Boost учитывает вакансию, резюме и технологии и помогает сформулировать ответ прямо во время интервью.

Начать подготовку