Kann nicht Verstehen, mHandler.obtainMessage() in Android-Bluetooth-Probe

Arbeite ich auf Bluetooth rfcomm-Verbindung. Es gibt eine Zeile in der Android-Probe, die ich nicht verstehen kann und leider ich konnte nicht finden eine gute Antwort in anderen Fragen und Ressourcen.

Hier ist der gesamte code:

public void run() {
        byte[] buffer = new byte[1024];  //buffer store for the stream
        int bytes; //bytes returned from read()

        //Keep listening to the InputStream until an exception occurs
        while (true) {
            try {
                //Read from the InputStream
                bytes = mmInStream.read(buffer);
                //Send the obtained bytes to the UI activity
                mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
                        .sendToTarget();
            } catch (IOException e) {
                break;
            }
        }
    }

    /* Call this from the main activity to send data to the remote device */
    public void write(byte[] bytes) {
        try {
            mmOutStream.write(bytes);
        } catch (IOException e) { }
    }

Ich nicht Verstehen kann, ist diese Zeile:

 //Read from the InputStream
                    bytes = mmInStream.read(buffer);    
//Send the obtained bytes to the UI activity
                        mHandler.obtainMessage(MESSAGE_READ, bytes, -1, buffer)
                                .sendToTarget();

mHandler ist nicht definiert in diesem code und auch MESSAGE_READ

Ich kann nicht verstehen, was bedeutet bytes tun?

Ich denke und wie bereits im Kommentar sendet er die empfangenen Bytes zu den Aktivitäten, die ich als meine Wichtigste Tätigkeit. Kann ich eine Static TextView in meiner Haupt-Tätigkeit statt sendToTarget() zum anzeigen der empfangenen Nachricht?

mHandler ist wohl eine Instanzvariable, deklariert, irgendwo in Ihrer Klasse. MESSAGE_READ ist wohl eine Konstante, die in der Klasse definiert oder über einen statischen import.

InformationsquelleAutor Bimbow | 2013-08-03

Schreibe einen Kommentar