Передача картинки по bluetooth

246
31 июля 2017, 11:57

Пишу приложение для Android, которое принимает данные по bluetooth(картинку jpg), для тестирования использую программу HTerm и bluetooth передатчик. Проблема в том, что при передачи картинки в виде массива байт, не определяется конец передачи данных и метод Inputstream.read(bufer) не возвращает -1 а ждет, что ему еще передадут данные. Подскажите как с этим боротся.

private void methodTest(InputStream is) throws IOException {
    // буфер для чтения, разумного объема
    byte[] buffer = new byte[1024*64];
    // Выходной поток
    ByteArrayOutputStream baos = new ByteArrayOutputStream();
    // цикл чтения
    while (true) {
        // читаем данные в буфер
        int readBytesCount = is.read(buffer);
        Log.d(TAG, "Колличество байт readBytesCount" + readBytesCount);
        if (readBytesCount!= -1) {
            // данные были считаны - есть, что записать
            Log.d(TAG, "Пишем в буфер " + readBytesCount);
            baos.write(buffer, 0, readBytesCount);
        } else {
            // данные закончились
            Log.d(TAG, "Данные закончились " + readBytesCount);
            baos.flush();
            baos.close();
            data = baos.toByteArray();
            Log.d(TAG, Arrays.toString(data));
         Bitmap bitmap = BitmapFactory.decodeByteArray(data , 0, data.length);
            imageView.setImageBitmap(bitmap);
            return;
        }
    }

}
READ ALSO
Помогите разобраться с JSON

Помогите разобраться с JSON

С JSON особо не знаком, но хочу попробовать решить задачу с помощью негоТакая проблема, есть URL на данные, данные выглядят примерно так:

256
Android - как узнать создался ли элемент

Android - как узнать создался ли элемент

Динамический создаю кнопку, как мне узнать что кнопка создана? Точнее, мне нужно условие (пока кнопка не создана) не делать того-то?

267