Очень нужна помощь. Уже неделю я пытаюсь правильно сохранить (необработанные) данные (байты) на SD-карту телефона Android.
Мобильный телефон получает данные через Bluetooth от микроконтроллера. Данные правильно распечатываются Терминалом, поэтому очевидно, что Java-код неверен.
Для проверки этого переменная (8 бит) увеличивается, и после этого шага значение переменной отправляется на телефон. Когда я считываю созданный файл с hex-представлением, между виновными значениями много нулей (в случае: µC ничего не отправляет) и по какой-то причине отсутствует много значений / может быть, даже Хронология неправильный.
Спасительная часть:
h=new Handler() {
public void handleMessage (android.os.Message msg) {
switch (msg.what) {
case RECIEVE_MESSAGE:
byte[] readBuf = (byte[]) msg.obj;
String path = "/sdcard/" + dateipfad.getText().toString() + ".txt";
Environment.getExternalStorageDirectory().getPath();
try {
File myFile = new File(path);
myFile.createNewFile();
FileOutputStream fOut = new FileOutputStream(myFile,true);
fOut.write(readBuf);
fOut.flush();
fOut.close();
} catch (Exception e) {
Toast.makeText(getBaseContext(), e.getMessage(),
Toast.LENGTH_SHORT).show();
}
break;
}
}
};
`