2016-02-03 2 views
1

Я получаю 22 байт данных с устройства Bluetooth каждые 10 миллисекундбуфера Slow В чтение данных с устройства Bluetooth

Теперь проблема в том, что буфер Принимая больше времени, чтобы прочитать данные таким образом, я недостающие данные из устройства

inputStream = btSocket.getInputStream(); 
byte[] buffer = new byte[22]; 

while (inputStream != null) { 
    if (inputStream != null && inputStream.available() > 0) { 
     long startTime = System.currentTimeMillis(); 
     inputStream.read(buffer); 
     long stopTime = System.currentTimeMillis(); 
     Log.e("time to execute code",stopTime - startTime+""); 

Так что мне нужно, чтобы закончить чтение до 10 миллисекунд каждый раз

Вот мой Logcat

logcat

ответ

0

Чтение только с байтом [] блокирует само по себе. Вы можете использовать read(byte[], int offset, int size), чтобы читать только те байты, которые вы хотите.

Вы можете проверить, сколько байтов возвращается чтением (byte []) путем проверки его возвращаемого значения.

+0

Хотя я только видел, что чтение (byte []) эквивалентно чтению (byte [], 0, buffer.length). – ThaMe90

+0

Те же результаты –

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