Hallo. Ich versuche einen statischen Handler zu erstellen, bekomme es aber nicht hin.
Über den Handler soll ein Handy mit Bluetooth ein Roboter steuern.
Das Kamerabild wird mit OpenCV nach roten Objekten gescannt, die dann angesteuert werden sollen.
Hier ist der Codeteil:
in MainActivity:
in onCreate():
Code:
h = new Handler() {
public void handleMessage(android.os.Message msg) {
switch (msg.what) {
case RECIEVE_MESSAGE: // if receive message
byte[] readBuf = (byte[]) msg.obj;
String strIncom = new String(readBuf, 0, msg.arg1); // create string from bytes array
sb.append(strIncom); // append string
int endOfLineIndex = sb.indexOf("\r\n"); // determine the end-of-line
if (endOfLineIndex > 0) { // if end-of-line,
String sbprint = sb.substring(0, endOfLineIndex); // extract string
sb.delete(0, sb.length()); // and clear
}
//Log.d(TAG, "...String:"+ sb.toString() + "Byte:" + msg.arg1 + "...");
break;
}
}
}
Die Android Studio IDE gibt den Hinweis das der Handler statisch sein muss da es sonnst zu Speicher Leaks kommt.
Wie geht so was?
Lesezeichen