Добрый день!
Помогите мне, пожалуйста, с откровенно детским вопросом по Java. Имеем :
public class MyActivity extends Activity {
...
private class MyThread extends Thread {
public void run() {
// читаем из последовательного порта
...
if( crc ) {
onDataReceived( data, data.length );
}
}
}
protected void onDataReceived( final byte[] buffer, final int size )
{
// обрабатываю
}
}
Как Вы уже могли догадаться, данный код работает под Android и читает данные из последовательного порта. Проблема заключается в том, что иногда (примерно в 1ом и 3-4 случаев) данные до метода onDataReceived добираются битыми. Подозреваю, что что-то делаю не так, а именно не синхронизирую потоки.
С Java скорее на Вы, чем на ты. Подскажите, пожалуйста, как правильно передавать данные из private нитки в главный (ui) поток. Готов ответить на любые дополнительные вопросы.