Android: Проблемы с передачей файлов приложений Bluetooth

#android #bluetooth #bytearray #inputstream #outputstream

#Android #bluetooth #bytearray #входной поток #outputstream

Вопрос:

В настоящее время я пытаюсь создать приложение для передачи файлов, адаптированное из примера Bluetooth-чата.

Моя проблема в том, что когда я отправляю файл через Bluetooth с помощью outputstream и получаю его с помощью inputstream, данные, отправленные и полученные с одного устройства на другое, не совпадают.

Приложение использует массив байтов для транзакций, в то время как для буфера массива байтов на принимающей стороне установлено значение 1024. Таким образом, устройство будет получать фрагменты, добавляйте массивы байтов по мере их поступления.

Я даже пытался отправить строку чисел и изменить размер буфера на 4, но безуспешно.

Что я делаю не так?

Комментарии:

1. Не могли бы вы опубликовать свой код отправки и получения?

2. Я понял, что я делал неправильно, я вызывал write один за другим, поэтому outputstream отправлял не только первую партию байтовых массивов, но и другую партию параллельно с первым вызовом. Итак, данные были странными. Спасибо тем, кто потратил время на попытки решить мою проблему

3. DroidDummy, не могли бы вы опубликовать решение, чтобы люди, которые позже столкнутся с этим вопросом, могли увидеть, как вы его решили? Вы можете принять отправленный вами ответ и получить очки репутации 🙂

4. Мне еще предстоит найти решение, в принципе, мне нужно, чтобы один поток приостановил его выполнение до тех пор, пока другой не закончит использовать outputstream.

5. Хорошо, хорошо, когда у вас все получится, пожалуйста, поделитесь ответом 🙂