2014-01-19 2 views
-1

Что я хочу:Как реализовать функцию ожидания внутри моего onSensorChanged метода

После того, значение достигается на датчике, программа должна ждать в течение нескольких секунд, а затем перейти в цикл в то время, что не является истинным до тех пор, достигается определенное значение датчика. Выйдя из цикла while, остальная часть кода продолжает обрабатывать и сохранять значения в некоторой базе данных sql.

Что я пробовал:

Нити Обработчики и Runnables ... слишком много попыток создавать код.

Моя проблема:

итерации цикла While. Он всегда работает всего один раз.

Результаты:

Ничего близко к моему желаемому Ресулу

+0

Почему бы не использовать 'Thread.sleep (1000)'? – Kon

+0

Это не проблема, с которой я сейчас сталкиваюсь. Я использовал time.sleep дважды в моем процессе ... один раз для оператора if (который является runnable) и один раз внутри цикла while ... цикл while - это еще один runnable, вызванный из другого runnable. Повторяющийся цикл while вызывает себя снова и снова до тех пор, пока не будет достигнуто другое значение ... но теперь я не могу заставить цикл while закрываться ... он просто работает вечно. – LousDColeman

+0

Я сделал это, потому что после 20 попыток я приложил все усилия, чтобы поместить весь мой код, который я хочу запустить, после того, как оператор в основной runnable теперь, поскольку это была самая близкая попытка, которую я имел к моей желаемой цели. Однако это было несколько попыток назад, и я забыл, как выглядел код. Моя попытка воссоздания привела к медленному пользовательскому интерфейсу с циклом while, который не заканчивается – LousDColeman

ответ

0

Вы можете заставить выполняющийся поток спать в течение некоторого количества миллисекунд. Например:

//Condition to sleep occurs 
try { 
    Thread.sleep(3000); 
} 
catch (InterruptedException ex) { 
    //log 
} 

Это заставит поток спать в течение 3 секунд, прежде чем продолжить выполнение (если не прерывается). Темы - это мощная вещь, которую нужно знать на Java. Я бы начал здесь: http://docs.oracle.com/javase/tutorial/essential/concurrency/

Урок параллелизма в Javadocs фантастический, на мой взгляд.

Смежные вопросы