2014-12-30 2 views
0

Я разрабатываю приложение для Android, где я хочу читать последовательные данные через порт телефона (я использую кабель OGT). Для этого я использую следующий librayЧтение int последовательно через android usb

https://github.com/mik3y/usb-serial-for-android

Библиотека будет читать последовательные данные в виде массива байтов, где я хочу, чтобы прочитать его как целое значение между 0-255. Причина в том, что я использовал метод read() для входного потока в «java.io.InputStream». Здесь метод read вернет int evenn, хотя он читает их как байты.

Теперь я пытаюсь перенести этот код в приложение для Android, но я не смог найти метод для чтения целого числа из последовательного ввода.

Я попытался преобразования байта в целое, используя следующий код

ByteBuffer wrapped = ByteBuffer.wrap(arr); // big-endian by default 
short num = wrapped.getShort(); // 1 

Где «аранжировка» является массив чтения из последовательного ввода. Но это привело к краху приложения между ними, и цифры не были чем-то между 0-255.

Я не могу изменить свои требования «целочисленные значения между 0-255», так как на этом компьютере построен целый проект, построенный на этой машине с использованием Java.

Любые предложения по его решению?

ответ

0

Используйте Byte(arr[0]).intValue() (используя индекс 0, как раз в качестве примера).

+0

Это не помогло: / – Akshika47

Смежные вопросы