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

블루투스 데이터 수신 부탁드립니다. [closed]

0 추천
void beginListenForData() {

        final Handler handler = new Handler()                      

        readBufferPosition = 0;                

        mWorkerThread = new Thread(new Runnable() 

        {

            @Override

            public void run() {

                while(!Thread.currentThread().isInterrupted()) {

                    try {

                        int byteAvailable = mInputStream.available();   

                        if(byteAvailable > 0) {                        

                            byte[] packetBytes = new byte[byteAvailable];

                            

                            mInputStream.read(packetBytes);

                            for(int i=0; i<byteAvailable; i++) {

                                byte b = packetBytes[i];



                               if(b == mCharDelimiter){



                                    byte[] encodedBytes = new byte[readBufferPosition];

       

                             System.arraycopy(readBuffer, 0, encodedBytes, 0, encodedBytes.length);

                                    

                                    final String data = new String(encodedBytes, "US-ASCII");

                                    readBufferPosition = 0;

                                    

                                    handler.post(new Runnable(){

                                        

                                        @Override

                                        public void run() {

                                         

                                            tv_RB.setText(tv_RB.getText().toString() + data+ mStrDelimiter);

                                        }

                                        

                                    });

                                }

                                else {

                                    readBuffer[readBufferPosition++] = b;

 

일반적으로 많이 쓰이는 블루투스 송수신코드입니다. 

아트메가로 87 이라는 데이터를 보내고 있는데 화면에 출력이 되지 않아서 toast를 통해 코드가 어디까지 동작하는지 확인해본 결과

 if(b == mCharDelimiter)

아래부터 toast메세지가 출력되지 않습니다. 

저 부분을 어떻게 해결해야 데이터가 출력될까요?

질문을 종료한 이유: gadg
sokq1234 (160 포인트) 님이 2018년 11월 12일 질문
sokq1234님이 2018년 11월 21일 closed
...