как посчитать количество полученных сообщений, полученных в другой ветке - PullRequest
0 голосов
/ 06 апреля 2019

Я постоянно получаю сообщения по bluetooth в другом потоке, мне нужно поместить эти данные в arrayList, а затем работать с этим массивом в основном потоке

В этом коде я получаю сообщение от Bluetooth и передаю его в EditText, но я не знаю, как вставить его в ArrayList

     public ConnectedThread(BluetoothSocket bluetoothSocket) {
        InputStream inputStream = null;
        OutputStream outputStream = null;
        try {
            inputStream = bluetoothSocket.getInputStream();
            outputStream = bluetoothSocket.getOutputStream();
        }catch (IOException e) {
            e.printStackTrace();
        }
        this.inputStream = inputStream;
        this.outputStream = outputStream;
        isConnected = true;
    }

    @Override
    public void run() {
        BufferedInputStream bis = new BufferedInputStream(inputStream);
        final StringBuffer buffer = new StringBuffer();//Формирует из пришедшего симаола строку
        final StringBuffer sbConsole = new StringBuffer();
        final ScrollingMovementMethod movementMethod = new ScrollingMovementMethod();
        while (isConnected) {
            try {
                final int bytes = bis.read();
                buffer.append((char)bytes);
                int eof = buffer.indexOf("\r\n");
                if (eof > 0) {
                    turn =buffer.toString();
                    sbConsole.append(buffer.toString());
                    buffer.delete(0, buffer.length());
                    handler.sendEmptyMessage(bytes);

                    runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            etConsole.setText(sbConsole);
                            etConsole.setMovementMethod(movementMethod);
                        }
                    });
                }
            }catch (IOException e){
                e.printStackTrace();
            }
        }
...