블루투스 장치에서 데이터를 수신 할 소켓을 설정했습니다. 수신 버퍼는 스레드를 나가기 전에 8 바이트의 데이터를 수집하도록 설정되었지만 버퍼는 데이터의 다음 바이트를 저장하기 위해 전진하지 않습니다. 버퍼를 8로 설정하고 버퍼가 가득 찰 때까지 반복합니다.블루투스 데이터 수신
private class ConnectedThread extends Thread {
private final InputStream mmInStream;
private final OutputStream mmOutStream;
public ConnectedThread(BluetoothSocket socket) {
InputStream tmpIn = null;
OutputStream tmpOut = null;
// Get the input and output streams, using temp objects because
// member streams are final
try {
tmpIn = btSocket.getInputStream();
tmpOut = btSocket.getOutputStream();
} catch (IOException e) { }
mmInStream = tmpIn;
mmOutStream = tmpOut;
}
public void run() {
// Keep listening to the InputStream until an exception occurs
while (true) {
try {
InputStream mmInStream = btSocket.getInputStream();
byte[] readBuffer = new byte[8];
int read = mmInStream.read(readBuffer);
while(read != -1){
Log.d(TAG, " SizeRR " + read);
read = mmInStream.read(readBuffer);
}
} catch (IOException e) {
break;
}
}
}
는 Log.d (SizeRR 1) 추상 INT를 반환하도록 설계되었습니다() 8 회
는 기대 어떤 출력? – frogmanx
readBuffer [7]을 통해 배열 readBuffer [0]에 데이터를 가져 오려고했습니다. –