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

bufferdstream 질문드립니다.

0 추천

제가 블루투스 어플에서 bufferdstream을 사용하여 데이터를 받고 싶어서 다음과 같이 소스를 변경해주었습니다.

그런데 데이터가 들어오지 않고있어요. 어디가 문제인걸까요?
    private class ConnectedThread extends Thread {
        private final BluetoothSocket mmSocket;
        private final InputStreamReader mmInStream;
        private final OutputStream mmOutStream;
 
        public ConnectedThread(BluetoothSocket socket) {
            Log.d(TAG, "create ConnectedThread");
            mmSocket = socket;
            InputStream tmpIn = null;
            OutputStream tmpOut = null;
 
         
            try {
                tmpIn = socket.getInputStream();
                tmpOut = socket.getOutputStream();
            } catch (IOException e) {
                Log.e(TAG, "temp sockets not created", e);
            }
 
            mmInStream = new InputStreamReader(tmpIn);
            mmOutStream = tmpOut;
        }
 
        public void run() {
            Log.i(TAG, "BEGIN mConnectedThread");
       
            BufferedReader in = new BufferedReader(mmInStream);
          
            while (true) {
                try {
                 String s;
                      s = in.readLine()
               byte[] asd = s.getByte();  
                    mHandler.obtainMessage(BluetoothGPS.COORDINATE, -1, -1, asd)
                            .sendToTarget();
                } catch (IOException e) {
                    Log.e(TAG, "disconnected", e);
                    connectionLost();
                    break;
                }}

 

와따까따뿌따 (180 포인트) 님이 2014년 6월 28일 질문

1개의 답변

0 추천
while (true) 문에서 빠져나가는 조건이 없네요 아래와 같이 해보셔요

while ((s= in.readLine( )) == null) {
nicehee (73,100 포인트) 님이 2014년 6월 28일 답변
저ㅇ렇게 넣어줘도 안되더라구요. 문제를 모르겠어요. 예전친구도 저렇게 해서 됬다고 하는데 이유를 모르겠네요.ㅠㅠ
...