Wie liest alle bytes, die zusammen über Bluetooth?

Ich habe eine Anwendung, die verwendet die bluetooth erhalten Sie einige Daten (bytes) von einem anderen Gerät. alles läuft gut, aber ich habe ein kleines Problem beim Empfang der bytes, die alle zusammen. Nach dem Empfang des bytes zeige ich Ihnen, auf einen Toast, nur um Sie zu testen. Wenn das andere Gerät sendet 10 Byte zusammen (zum Beispiel: "ABCDEFGHIJ"), das Programm das erste byte "A" und zeigen Sie es auf einem Toast, dann gehen Sie zu der zweiten iteration und Lesen, die anderen 9 bytes und zeigen "BCDEFGHIJ" auf dem Toast. Hier ist mein code:

byte[] buffer = new byte[1024]; //Read 1K character at a time.
int bytes = 0; //Number of bytes.

while(true)
{
    try
    {
        //Read from the InputStream.
        bytes = bInStream.read(buffer);

        //Send the obtained bytes to the MainActivity.
        mainActivityHandler.obtainMessage(MainActivity.MESSAGE_READ, bytes, -1, buffer).sendToTarget();
    }
    catch(IOException e)
    {
        connectionLost();
        break;
    }
}

In der MainActivity habe ich:

//The Handler that gets information back from the BluetoothManager.
private final Handler handler = new Handler()
{
    @Override
    public void handleMessage(Message msg)
    {
        switch(msg.what)
        {
            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);
                Toast.makeText(MainActivity.this, readMessage, Toast.LENGTH_SHORT).show();
                break;

            //...
        }
    }
};

Wie erhalte ich alle bytes zusammen?!

  • Kann ich sehen, wie Sie sind, senden Ihre Nachrichten? Tun Sie etwas, das wie bOutStream.write("ABCDEFGHIJ".getBytes()) oder Sie schreiben Zeichen ein zu einer Zeit?
  • Ein bluetooth-Modul angeschlossen ist, um arduino, so dass ich mit der serial monitor von der arduino-software zum senden der Nachricht.
InformationsquelleAutor Eng.Fouad | 2012-02-10
Schreibe einen Kommentar