Можно ли сложить массивы примитивов в Intent

«Можно ли сложить массивы примитивов в Intent» — вопрос из категории Android компоненты, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Нет, напрямую сложить массивы примитивов в Intent нельзя. Intent поддерживает передачу только определенных типов данных, включая массивы объектов, но не примитивов.

Для передачи массива примитивов (int[], long[], double[] и т.д.) нужно использовать методы putExtra() с соответствующими ключами:

int[] numbers = {1, 2, 3};
Intent intent = new Intent(this, TargetActivity.class);
intent.putExtra("numbers_array", numbers);

Для получения массива в целевой Activity:

int[] receivedNumbers = getIntent().getIntArrayExtra("numbers_array");

Если нужны массивы других примитивов, используйте:

  • putExtra(String name, long[] value) / getLongArrayExtra()
  • putExtra(String name, double[] value) / getDoubleArrayExtra()
  • и т.д. для других типов