Слияние двух byteArray в Android - PullRequest
1 голос
/ 25 марта 2011

Я хочу отправить растровое изображение через Bluetooth вместе с другим содержимым, таким как char и int.Проблема состоит в том, чтобы преобразовать эти вещи в однобайтовый массив.Я попытался сделать это как двухбайтовый массив и объединить их, но copyTo не работает.Есть ли другой способ сделать это?

1 Ответ

1 голос
/ 25 марта 2011

Используйте Система .arraycopy для копирования одного массива в другой

int lenA = arrayA.length;
int lenB = arrayB.length;
byte[] outArray = new byte[lenA + lenB];

System.arraycopy (arrayA, 0, outArray, 0, lenA);
System.arraycopy (arrayB, 0, outArray, lenA, lenB);

Я не тестировал его, но должен работать.

edit:

И, конечно, это не рекомендуется для больших массивов.Таким образом вы удваиваете данные в памяти.Я не знаю, что именно вы делаете с этими данными, но если можете, используйте вместо этого потоковую передачу.

...