안녕하세요. 안드로이드 개발자 여러분,.

 

ENC라는 펌웨어 업데이트용 파일을 읽어서 버퍼에 16진수로 저장하고 싶습니다.

나름 찾아서 아래와 같이 strPath 에 읽는 것은 성공했는데 전송할 버퍼에 다음과 같이 어떻게

저장해야 할지 몰라서 여쭈어보니 이 초보에게 가르침 좀 부탁 드립니다.

 

 

요지는 ENC파일을 읽으면 다음과 같이 strPath에

011213B9123B27EA2AFB38E5  주우욱 들어옵니다.

 

저는 이것을 전송할 버퍼에 2개씩 끊어서 저장하고 싶습니다.

 

SendMessage[0] = 0x01;

SendMessage[1] = 0x12;

SendMessage[2] = 0x13;

SendMessage[3] = 0xB9;

.

.

.

 

아래는 제가 작성하다만 코드입니다;;;;

  Button ftn = (Button) findViewById(R.id.button5);

  ftn.setOnClickListener(
         new View.OnClickListener(){
          public void onClick(View v){
           
         BufferedReader bufferReader = null; 
         FileInputStream fis; 
         String strPath=null;
        
         try {
          File path = new File(Environment.getExternalStorageDirectory() +"/external_sd" + "/ENC" +"/MDB300_KO_DOM02_GLED_BLINK_V99.99.ENC");
          fis = new FileInputStream(path);
          bufferReader = new BufferedReader(new InputStreamReader(fis)); 
          strPath = bufferReader.readLine();
          byte[] SendMessage = new byte[strPath.length()];
         
         // for(int i=0; i < strPath.length(); i++){
          
         //  SendMessage[i] = " 문자열을 두개씩 끊어서 저장한다.
         // }
                               
          Toast.makeText(BluetoothChat.this, strPath, Toast.LENGTH_LONG).show();
         } catch (FileNotFoundException e) {
          e.printStackTrace();
         } catch (IOException e) {
          e.printStackTrace();
       }    
         

           //버퍼에 데이터가 정상적일 경우 전송한다.
               //mChatService.write(SendMessage);
            }
         }); 

 

 

 

 

이것은 MFC로 작성한 코드입니다. 사실 이부분을 안드로이드에서 구현하려고 하는건데 아 계속 헤메고 있습니다..

 

  InFile = fopen(sFilePathName.GetBuffer(0), "rb");    // 멀티코드
  // Read the whole file into the buffer
  while(!feof(InFile))
  {
    fscanf(InFile, "%2X", &buffer[nCodeSize++]);
  }
  nCodeSize--;