Bo najpierw musisz zrobić zmienną sb.
StringBuffer sb = new StringBuffer();
Słuszna uwaga:) teraz skompilowało się bez żadnych błędów
public void handleMessage(Message msg) {
switch (msg.what) {
case UsbService.MESSAGE_FROM_SERIAL_PORT:
String data = (String) msg.obj;
StringBuffer sb = new StringBuffer();
sb.append(data);
int endOfLineIndex = sb.toString().indexOf("\n", 4);
if (endOfLineIndex >= 0) {
String wholeText = sb.toString();
String sbprint = wholeText.substring(0, endOfLineIndex);
mActivity.get().display.setText(sbprint);
sb.delete(0, sb.length());
sb.append(wholeText.substring(endOfLineIndex));
break;
}
}
}
Natomiast efekt jest taki że zupełnie nic nie wyświetla.
String który jest odbierany zawiera sześć znaków
cztery wyświetlane 1234 oraz znak powrotu karetki \r
i nowej liniii \n
podmieniłem
mActivity.get().display.setText(sbprint);
na
mActivity.get().display.append(data);
i też nic nie wyświetla
tak jakby pętla if się nie wykonywała
(jak wstawiłem przed if to mam dalej
1234
1234
1234 itd)