#android #bluetooth #bytearray #inputstream #outputstream
#Android #bluetooth #bytearray #входной поток #outputstream
Вопрос:
В настоящее время я пытаюсь создать приложение для передачи файлов, адаптированное из примера Bluetooth-чата.
Моя проблема в том, что когда я отправляю файл через Bluetooth с помощью outputstream и получаю его с помощью inputstream, данные, отправленные и полученные с одного устройства на другое, не совпадают.
Приложение использует массив байтов для транзакций, в то время как для буфера массива байтов на принимающей стороне установлено значение 1024. Таким образом, устройство будет получать фрагменты, добавляйте массивы байтов по мере их поступления.
Я даже пытался отправить строку чисел и изменить размер буфера на 4, но безуспешно.
Что я делаю не так?
Комментарии:
1. Не могли бы вы опубликовать свой код отправки и получения?
2. Я понял, что я делал неправильно, я вызывал write один за другим, поэтому outputstream отправлял не только первую партию байтовых массивов, но и другую партию параллельно с первым вызовом. Итак, данные были странными. Спасибо тем, кто потратил время на попытки решить мою проблему
3. DroidDummy, не могли бы вы опубликовать решение, чтобы люди, которые позже столкнутся с этим вопросом, могли увидеть, как вы его решили? Вы можете принять отправленный вами ответ и получить очки репутации 🙂
4. Мне еще предстоит найти решение, в принципе, мне нужно, чтобы один поток приостановил его выполнение до тех пор, пока другой не закончит использовать outputstream.
5. Хорошо, хорошо, когда у вас все получится, пожалуйста, поделитесь ответом 🙂