안드로이드 개발 질문/답변
(글 수 45,052)
RS232 데이터를 블루투스 컨버터를 이용해서 스마트 폰으로 받으려고 합니다. 수신 데이터는 12바이트이고
각 바이트는 측정 값인데 따로 TextEdit창에 뿌려주려고 합니다. C++에서는
memcpy( tmp, Receive_buf, 9 );
Receive_buf[1] = tmp[1];
Receive_buf[2] = tmp[0];
이런 방식으로 버퍼에 데이터를 따로 처리했는데요. 안드로이드에서는 어떻게 처리해야 할지 모르겠네요
아랫쪽은 제가 참고하고 있는 소스인데요. 블루투스 메세지 수신부분입니다.
도와주시면 정말 감사하겠습니다.
public void run() {
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
try {
InputStream instream = socket.getInputStream();
int bytesRead = -1;
String message = "";
while (true) {
message = "";
bytesRead = instream.read(buffer);
if (bytesRead != -1) {
while ((bytesRead==bufferSize)&&(buffer[bufferSize-1] != 0)) {
message = message + new String(buffer, 0, bytesRead);
bytesRead = instream.read(buffer);
}
message = message + new String(buffer, 0, bytesRead - 1);
handler.post(new MessagePoster(textView, message));
socket.getInputStream();
}
}
} catch (IOException e) {
Log.d("BLUETOOTH_COMMS", e.getMessage());
각 바이트는 측정 값인데 따로 TextEdit창에 뿌려주려고 합니다. C++에서는
memcpy( tmp, Receive_buf, 9 );
Receive_buf[1] = tmp[1];
Receive_buf[2] = tmp[0];
이런 방식으로 버퍼에 데이터를 따로 처리했는데요. 안드로이드에서는 어떻게 처리해야 할지 모르겠네요
아랫쪽은 제가 참고하고 있는 소스인데요. 블루투스 메세지 수신부분입니다.
도와주시면 정말 감사하겠습니다.
public void run() {
int bufferSize = 1024;
byte[] buffer = new byte[bufferSize];
try {
InputStream instream = socket.getInputStream();
int bytesRead = -1;
String message = "";
while (true) {
message = "";
bytesRead = instream.read(buffer);
if (bytesRead != -1) {
while ((bytesRead==bufferSize)&&(buffer[bufferSize-1] != 0)) {
message = message + new String(buffer, 0, bytesRead);
bytesRead = instream.read(buffer);
}
message = message + new String(buffer, 0, bytesRead - 1);
handler.post(new MessagePoster(textView, message));
socket.getInputStream();
}
}
} catch (IOException e) {
Log.d("BLUETOOTH_COMMS", e.getMessage());