Android-игра Bluetooth, необходимо передавать Int [] через поток байтов - PullRequest
0 голосов
/ 02 декабря 2011

Вот ситуация: я делаю многопользовательскую версию понга для Android.Когда мое весло соединяется с мячом, я хочу отправить другому игроку точку удара мяча (в виде координаты x, y), чтобы экран другого игрока мог обновиться, чтобы показать, откуда исходит мяч, а такжеположение моего весла.Другое устройство рассчитает траекторию шара и, в конечном итоге, повторяет этот процесс.По сути, мне нужно что-то, похожее на это -

static final int RESPONSE_CODE = (some #);

int[] return_data = {RESPONSE_CODE, myPaddle.x, myPaddle.y, ballImpactPosition.x, ballImpactPosition.y};

blueToothConnection.write(return_data);

Проблема здесь в том, что bluetoothConnection.write() опирается на java.io.OutputStream и поэтому поддерживает только запись байта [].

Итак, есть ли способ преобразовать мой int [] в байт [] (и обратно позже)?Если это поможет, мой int [] всегда будет содержать ровно 5 дюймов, все всегда положительные.Я не уверен, каковы максимальные значения моих целых, потому что это зависит от размера экрана устройства.

1 Ответ

1 голос
/ 02 декабря 2011

В этом случае ByteBuffer - ваш друг:

Ссылка Android API для ByeBuffer

...