Как преобразовать массив байтов в целое число, а затем в строку, чтобы отобразить целочисленное значение? - PullRequest
2 голосов
/ 14 декабря 2011

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

byte[] writeBuf = (byte[]) msg.obj;

// construct a string from the buffer
String writeMessage = new String(writeBuf);

mConversationArrayAdapter.add("Me:  " + writeMessage);

Я пытался сделать байтовый массив целочисленным массивом, который работает, однако я не могу получить целочисленный массив в строку ... Кто-нибудь может помочь?

1 Ответ

3 голосов
/ 14 декабря 2011

Вы можете использовать ByteBuffer, если вы знаете порядок байтов (большой или младший)

byte[] writeBuf = (byte[]) msg.obj;

// construct a string from the buffer
String writeMessage = String.valueOf(ByteBuffer.wrap(writeBuf).getInt()));

Если вы хотите использовать младший порядок, вы можете использовать .order(ByteOrder.LITTLE_ENDIAN)

...