안녕하세요. 안드로이드 개발자 여러분,.
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--;



