SD-карта-› Отсутствует значение

Очень нужна помощь. Уже неделю я пытаюсь правильно сохранить (необработанные) данные (байты) на 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;
        }
    }
};

`


person bandschuka    schedule 25.07.2016    source источник


Ответы (1)


Вы не извлекаете данные из сообщения.
msg.getData.getByteArray("keyOfTheMessage");

person confusedProgrammer    schedule 26.07.2016
comment
Спасибо за ваш ответ. Вы уверены, что это проблема? Я имею в виду, что недостаточно создать Filestream следующим образом: byte[] readBuf = (byte[]) msg.obj; fOut.write(readBuf); fOut.flush(); fOut.close(); Если нет, не могли бы вы объяснить, почему нет и как это сделать правильно, я программирую с Android Studio, я очень новичок в этой IDE и в JAVA. И как вставить вашу строчку кода в мою? -> keyOfMessage? - person bandschuka; 27.07.2016
comment
Что отправляет сообщение вашему обработчику? - person confusedProgrammer; 27.07.2016
comment
µc через Bluetooth (класс: 2.0). BLE: HC06 (Uарт). Возможно, это та же проблема: stackoverflow .com/questions/35157297/ ? - person bandschuka; 27.07.2016
comment
Просто прочитайте эту информацию: Максимальная единица передачи в BLE/GATT составляет 20 байт. Итак, я могу получить только 20 байт и должен разделить свой поток? Это правильно? Понимание того, что я делаю неправильно, очень помогло бы мне. - person bandschuka; 27.07.2016