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

블루투스 채팅 질문 좀 드릴꼐요 ㅠ

0 추천
기본적으로 1번 수신시 1줄씩 쓰게끔 돼어있는 부분을

 

2번 수신하고 1줄에 표시 하게끔 만들고 싶습니다. 조언좀 부탁드려요 ㅠㅠ

 

그리고 가끔씩0465라는 데이터가 수신됐을때 0 466 또는 0466 또는4660 이런식으로 데이터가 수신되는때 해결방법 도 가르쳐 주시면 감사하겠습니다. ㅠ
냐냐얌 (400 포인트) 님이 2013년 2월 27일 질문

2개의 답변

0 추천
1번째는 boolean값 하나 만드셔서 스위치처럼 쓰시고(true면 false, false면 true)

if문으로 분기하셔서 한번은 tv.append("\n");를 하시면 됩니다
수상한i (8,050 포인트) 님이 2013년 2월 27일 답변
자세하게 설명해주시면안될까요 진짜 죄송한데 진짜 초보라서요 ㅠㅠㅠ
0 추천
두번수신하고 한줄에 표시하신다면 그냥 readLine으로 받은 string에서 개행문자를 찾아 없애거나

개행 문자가 없다면 그냥 이어붙여서 스트링빌드 하시면 쉽게 구현 가능합니다.

만약 개행문자를 포함한 정보를 보존해야 할 필요가 있을때면 한번의 전송이 일어났을때 마지막이 개행문자일때만 chomp 하여 쓰시면 됩니다.

 

두번째 문제는 아예 데이터가 손실되어 전송된다는 이야기인데. 블루투스 통신은 ECC 가 보장되기 때문에 사실상 일어나기 힘든 문제입니다. 소스코드에 오타가 있거나 잘못 구현한 부분이 있는지 확인하시는게 우선이라고 생각합니다.
Noizbuster (11,970 포인트) 님이 2013년 2월 28일 답변
답변감사합니다. 제가 안드로이드 한지 일주일도 안됀 새네기라서 자세히 설명 부탁드려도 되나요?ㅠ 그리고 2번쨰는 폰끼리 데이터 전송할땐 문제가 없었습니다. 그리고 현제 받는 데이터값도 터미널상에서 출력되었을땐 깨짐없이 완벽하게 나옴니다. ㅠ
개발환경이나 이런것은 명기 안해주셨기 때문에
더이상 어떻게 자세히 설명드려야할지 잘 모르겠습니다.

폰끼리 통신에서는 괜찮았는데 다른 디바이스에 물렸을때 데이터가
잘 못 나온다는것은 개발, 작동환경에 따른 문제인데 명시를 안해주셨지요..
리시버 단에서 폰과 다른 프로토콜을 사용하고 있거나 물리적인 결함이 있지는 않은지 확인하는게 우선으로 보입니다.
...