BT Kommunikation - Datenausgabe in TextView

  • Hallo,


    ich bin neu in der Android Entwicklung und habe mir ein kleines Script "gebastelt" welches mit einem Bluetooth-Gerät kommuniziert und die empfangenen Daten anzeigen SOLL.
    Soweit funktioniert der connect und die Übertragung. Dummerweise hängt mir Android die empfangenen Daten immer "hinten" an. Ich weiss auch warum:


    Code
    runOnUiThread(new Runnable() {
    @Overridepublic void run() {textStatus.append(strReceived);}});


    textStatus.append(strReceived); ist hier das "Problem", sobald ich es durch textStatus.setText(strReceived) ersetze werden die ankommenden Daten "zerrupft".


    Zur Info: Ich habe einen kleinen Arduino als Datenquelle mittels BT angebunden um Testdaten zu senden.


    Jemand nen Hinweis für mich?


    Grüße
    calc

  • wie definierst du zerrupft :D?
    also setText setzt natürlich das immer gerade angekommene textstück als text und append fügt es hinten an.
    wenn du bestimmte pakete aneinanderfügen willst und erst dann settext machen möchtest, brauchst du in deinem datenstream irgendein zeichen was das ende deines wortes definiert. z.b. paket1paket2;paket3;paket4paket5;
    da ist immer das ; das wortende. Dann kannst du mit einem if und ein paar string operationen deine wörter zusammensetzen.

  • Möchtest du, dass die zuletzt erhaltende Daten immer an oberster Stelle stehen?
    Dann könntest dafür eine Hilfsvariable nutzen

    Java
    runOnUiThread(new Runnable() {
        @Override
        public void run() {
            helperString = strReceived
            helperString.append(textStatus)
            textStatus = helperString;
        }
    });

    Gibt sicherlich noch performantere Lösungmöglichkeiten dafür.
    Gruß nobody

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!