Comunicação bidirecional bluetooth-android

Comecei há muito recentemente com a programação em Java, meu código está completo com exceção de uma coisa. Eu desejo que meu programa tenha uma comunicação bidirecional, eu consigo enviar informações para o arduino e também consigo enviar informações do arduino para o app, contudo, toda a informação mandada para o app é particionada em bytes, por esse motivo o meu dataString fica variando de valor até que receba o último byte…

Como faço pra concatenar esses bytes e transformar os mesmos em uma string?

Segue abaixo o código:

public static Handler handler = new Handler() {
@Override
public void handleMessage(Message msg) {

        Bundle bundle = msg.getData();
        byte[] data = bundle.getByteArray("data");
        String dataString = new String(data);

        if (dataString.equals("---N"))
            statusMessage.setText("Ocorreu um erro durante a conexão");
        else if (dataString.equals("---S"))
            statusMessage.setText("Conectado");
        else {

            textSpace.setText(new String(dataString));
        }
    }
};

Exemplo, eu mando o comando salaLuzON e o meu programa recebe assim --> s a l a L u Z O N… Cada letra deletando a anterior até chegar em N.

Se alguém puder ajudar eu agradeço.