마스터Q&A 안드로이드는 안드로이드 개발자들의 질문과 답변을 위한 지식 커뮤니티 사이트입니다. 안드로이드펍에서 운영하고 있습니다. [사용법, 운영진]

bluetooth chat 예제 수정

0 추천

 

 

 

안녕하세요!? 반갑습니다.

 라즈베리파이에서 마이크로 입력 받은 값을 안드로이드로 보내고 다시 받는 작업에 있습니다.(0~16000까지의 문자열 스트리밍)

안드로이드 스튜디오에 있는 Bluetooth Chat 예제를 그대로 사용해서 진행중인데요.

라즈베리 파이에서 보낸 값을 받는것은,

이 코드 처럼, 받아서 폰에 디스플레이하는 것 까지는 했습니다.(아래그림)

 

여기서 받은 값을, 2배로하여 다시 라즈베리파이로 돌려보내고 싶습니다 ㅜㅜ

보내는 코드는,

이렇게 나와있는데,

문제는 받자마자 Send 버튼을 안누르고 바로 보내고 싶은데, 그 방법을 잘 모르겠습니다..

 자바는 거의 초보라 예제의 전체적인 구성도 잘 모르겠고, 버튼추가하는 것도 간신히 하고있습니다.

도와주시면 감사하겠습니다!! ㅜ.ㅜ

 

 

 

핑스 (170 포인트) 님이 2015년 12월 7일 질문

2개의 답변

0 추천
 
채택된 답변

수신받은 readMessage변수를 숫자형태로 바꿔서 원하시는 연산(x2)을 하시고 sendMessage함수를 호출하시면 될 것 같네요.

case Constants.MESSAGE_READ:
	byte[] readBuf = (byte[]) msg.obj;
	String readMessage = new String(readBuf, 0, msg.arg1);
	Log.d("_pi", "read message: " + readMessage);
	
	try{
		int number = Integer.parseInt(readMessage);
		number *= 2; // multiply
		sendMessage(String.valueOf(number)); // Send
	} catch (NumberFormatException e) {
		Log.d("_xml", "Exception: " + e);
	}

 

 

 

버드Y (640 포인트) 님이 2015년 12월 8일 답변
핑스님이 2015년 12월 8일 채택됨
0 추천
들어온 데이터를 integer로 형변환 하여 곱하기 2해주시고, 곱하기2한 것을 string으로 다시 형변환하여,  그 데이터를 날려주면 되겠네요
androidddd (520 포인트) 님이 2015년 12월 8일 답변
try구문에서 선언하신 number을 지역변수에서 전역변수로 선언하면 다른 함수에서도 쓸수있나요??ㅠㅠ저렇게 코드를 짜봤는데 디버깅에선 문제가 없더니 어플이 튕겨버립니다ㅠㅠ 조언부탁드릴게요!
...