2011-04-29 2 views
0

자바에서 Android 앱을 사용하여 블루투스를 통해 수신 한 데이터를 화면에 표시되도록 배열 어댑터에 씁니다. 일부 데이터에는 새로운 행과 캐리지 리턴이 포함되어 있으며 arrayadapter에서 각각의 연산을 실행하는 대신에 리터럴 ASCII 값 (\ n, \ r)을 arrayadapter에 표시하려고합니다. Android SDK에서이를 수행 할 자연적인 방법이 있습니까? 아니면이를 수행하기 위해 데이터를 구문 분석해야합니까? 모든 입력에 대한직접 ASCII 값 쓰기

byte[] writeBuf = (byte[]) msg.obj; 
String writeMessage = new String(writeBuf); 
conversationArrayAdapter.add("Me: " + writeMessage); 

감사 : 여기가 ArrayAdapter와를 설정하는 데 사용하는 코드의 비트입니다!

답변

0

"\ n"및 "\ r"으로 표시되도록 문자열 내부에서 이스케이프 처리해야합니다. 그렇지 않으면보기가 문자 자체를 반복합니다. 다음과 같습니다.

String writeMessage = new String(writeBuf); 
String escaped = writeMessage.replaceAll("\n","\\n").replaceAll("\r","\\r"); 

해당 구문을 100 % 확신 할 수는 없지만 생각해보십시오.

+0

아, 유망 해 보입니다. 조언 해 주셔서 감사합니다! – Dustin

관련 문제