현재 카메라모듈이 달린 임배디드모듈을 만들어서 블루투스를 통해서 안드로이드폰과 사진전송 및 명령어 전송을 하고 있습니다.

간단한 명령어를 보내고 받는 부분은 해결했고 문제없이 작동하고 있는데

저의 문제는

임배디드 모듈에서 사진을 보내주는데, 이게 이미지파일을 보내주는게 아니라.

rgb565로 포맷된 픽셀정보를 보내줍니다. 1픽셀에는 2바이트씩 먹고, 320x240 pixel 입니다.

그래서 총 보내주는 바이트가 153600 바이트인데, 이걸 또 10바이트씩 짤라서 보내줍니다. (이부분은 하드웨어상 어쩔 수 없는부분)

그래서 어플에서 블루투스를 이용해서 10바이트씩 받은 값을 가지고 한 배열로 모아서 파일 저장을 하려고 하는데

생각처럼 되지를 않네요..  혹시 도움을 주실분 계시나요..?   


블루투스를 통해서 데이터가 올때
-------------------------------------
private final Handler mHandler = new Handler() {
       
  @Override
        public void handleMessage(Message msg) {
            switch (msg.what) {
case MESSAGE_READ:
             
                readBuf = (byte[]) msg.obj;
                  if (file_write == 1) {

                 byte temp_data[] = null;

                  for ( j=0 ; j<10 ; j++ ) {
                   temp_data[i*10+j] = readBuf[j];
                  }
 
                  i=i+1;
                  
                  if ( i == 15360 ) {   //블투를 통해서 15360번의 데이터가 날라온다 (이미지 1개당)
                  
         
                  
                   ByteArrayInputStream in = new ByteArrayInputStream(temp_data);
                        
                      FileOutputStream out = null;
                try {
                 out = new FileOutputStream("/sdcard/test/capture.png");
                 
                } catch (FileNotFoundException e) {
                 // TODO Auto-generated catch block
                 e.printStackTrace();
                }
                
                      Bitmap bitmap = BitmapFactory.decodeStream(in);
                    
                      bitmap.compress(Bitmap.CompressFormat.PNG , 100, out);

                         image_box.setImageBitmap(bitmap);    //이미지 띄울 부분

         i=0;
         file_write = 0;
                  }
                    }

             

소스 코딩의 일부입니다. 한번 실행하면 데이터가 써지지도 않고 파일이 생기지도 않고 그냥 앱이 종료되어버립니다..

무엇이 문제일까요..?