Textview fehler...

  • 0 Antworten
  • Letztes Antwortdatum
J

Javist

Neues Mitglied
0
Hallo zusammen,

ich sende in 1 sec HEX_Wert via Bluetooth, jetzt hätte ich gern das meine Textview die Werte anzeigt nur dann kommt Fehlermeldung

Fehler beim Empfangen: java.lang.RuntimeException: Can't create handler inside thread that has not called Looper.prepare()

So sende ich:
PHP:
 public void senden(View v) {
        TimerTask mt = new TimerTask() {
            @Override
            public void run() {
                 byte[] message = new byte[]{0x20};
                byte[] msgBuffer = (message);
                 if (is_connected) {
                    Log.d(LOG_TAG, "Sende Nachricht: " + message);
                    try {
                        stream_out.write(msgBuffer);
                    } catch (IOException e) {
                        Log.e(LOG_TAG,
                                "Bluetest: Exception beim Senden: " + e.toString());
                    }
                 }
                 empfangen();
             }
        };
             timer1.schedule(mt,1000,2000);
 
    }
Das Empfangen funktioniert über Botton aber nicht automatisch


PHP:
public void empfangen() {
  
                byte[] buffer = new byte[1025]; // Puffer
               int laenge; // Anzahl empf. Bytes
        try {
            if (stream_in.available() > 0) {
                //if (is_connected) {
               // String msg="";
                laenge = stream_in.read(buffer);
                Log.d(LOG_TAG,
                        "Anzahl empfangender Bytes: " + String.valueOf(laenge));
                 // Message zusammensetzen:
                for (int i=0;i<laenge;i++) {
                    msg= String.format("%x", buffer[i]);//;
                     Log.d(LOG_TAG, "Message: " + msg);
                    Toast.makeText(this,  msg, Toast.LENGTH_LONG).show();
                    ((TextView) findViewById(R.id.hex)).setText(msg);
                   
                 }
                }else Toast.makeText(this, "Nichts empfangen", Toast.LENGTH_LONG).show();
                //Toast.makeText(this, "Nichts empfangen", Toast.LENGTH_LONG)
                       // .show();
             }catch(Exception e){
                Log.e(LOG_TAG, "Fehler beim Empfangen: " + e.toString());
            }
 
    }
Ich muss glaube ein Handler einbauen, aber wie und wo?
Herzlichen Dank für eure Hilfe
 
Zurück
Oben Unten