Bluetoot Chat Example Read Modifikation

  • 0 Antworten
  • Letztes Antwortdatum
P

Pommes9485

Fortgeschrittenes Mitglied
6
Hallo,

nachdem ich nur Probleme mit meinem eigenen Skript zum Abrufen von Daten über Bluetooth hatte, habe ich das Bluetooth Chat Example von Google übernommen bzw. leicht modifiziert.

Um den eingehenden String zu einem großen zu machen füge ich einfach alles eingehende zusammen, bis das Stop Zeichen kommt. Das klappt auch soweit, nur das sich das eingehende irgendwie vermischt. Eigentlich sollte es so aussehen:
Zeile 1 (Infos)
Zeile 2 - n (jeweils 6 Werte durch ";" getrennt)
Stop

Allerdings bekomme ich abundzu vermischte Zeilen, wenn ich das Example kompiliere und installiere habe ich das gleiche Ergebnis. Woran kann das liegen?

Hier die wichtigen Zeilen:
BluetoothChatService
Code:
 @Override
		public void run() {
            Log.i(TAG, "BEGIN mConnectedThread");
            byte[] buffer = new byte[1024];
            int bytes;

            // Keep listening to the InputStream while connected
            while (true) {
                try {
                    // Read from the InputStream
                    bytes = mmInStream.read(buffer);

                    // Send the obtained bytes to the UI Activity
                    mHandler.obtainMessage(BluetoothChat.MESSAGE_READ, bytes, -1, buffer)
                            .sendToTarget();
                } catch (IOException e) {
                    Log.e(TAG, "disconnected", e);
                    connectionLost();
                    // Start the service over to restart listening mode
                    BluetoothChatService.this.start();
                    break;
                }
            }
        }

Handler, welche die Nachricht Empfängt:
Code:
  case MESSAGE_READ:
                byte[] readBuf = (byte[]) msg.obj;
                // construct a string from the valid bytes in the buffer
                String readMessage = new String(readBuf, 0, msg.arg1);
                allIn += readMessage;
                if(allIn.contains("ENDE")){
                	h.obtainMessage(0, allIn).sendToTarget();
                	mChatService.stop();
                }
                Log.i("IN:", readMessage);
                break;

Kann sich das einer erklären?
 
Zurück
Oben Unten