- Forum-Beiträge: 7
17.06.2014, 16:47:26 via Website
17.06.2014 16:47:26 via Website
Guten Tag,
ich möchte gerne lernen wie man Daten empfängt und diese dann anzeigt über TextView. Ich habe schon viel gelesen jedoch habe ich das einfach nicht verstanden mit Stream und Handler.
Kann mir vielleicht jemand das genauer erläutern? Hier ein ein Code beispiel was ich nicht verstehe.
public void run() {
int ret = 0;
byte[] buffer = new byte[16384];
int i;
while (true) { // read data
try {
ret = mInputStream.read(buffer);
} catch (IOException e) {
break;
}
i = 0;
while (i < ret) {
int len = ret - i;
if (len >= 1) {
Message m = Message.obtain(mHandler);
int value = (int)buffer[i];
// &squot;f&squot; is the flag, use for your own logic
// value is the value from the arduino
m.obj = new ValueMsg(&squot;f&squot;, value);
mHandler.sendMessage(m);
}
i += 1; // number of bytes sent from arduino
}
}
}
Handler mHandler = new Handler() {
@Override
public void handleMessage(Message msg) {
ValueMsg t = (ValueMsg) msg.obj;
// this is where you handle the data you sent. You get it by calling the getReading() function
mResponseField.setText("Flag: "+t.getFlag()+"; Reading: "+t.getReading()+"; Date: "+(new Date().toString()));
}
};
Empfohlener redaktioneller Inhalt
Mit Deiner Zustimmung wird hier ein externer Inhalt geladen.
Mit Klick auf den oben stehenden Button erklärst Du Dich damit einverstanden, dass Dir externe Inhalte angezeigt werden dürfen. Dabei können personenbezogene Daten an Drittanbieter übermittelt werden. Mehr Infos dazu findest Du in unserer Datenschutzerklärung.