tiempo temporizador reloj regresiva hilos cuenta cronometro contador con botones java multithreading blackberry java-me

java - temporizador - ¿Cómo puedo programar un hilo en particular en Blackberry?



temporizador en java con hilos (4)

Mientras la aplicación se esté ejecutando, simplemente crea el hilo y después de cada bit de trabajo llama a Thread.sleep por el tiempo que necesites para permanecer inactivo.

Si necesita que se despierte en un momento determinado, en lugar de solo dormir durante un tiempo determinado, puede hacer algo como lo siguiente:

Date wakeUpAt = ...; // Get this however Date now = new Date(); long millisToSleepFor = wakeUpAt.getTime() - now.getTime(); Thread.sleep(millisToSleepFor);

Quiero programar automáticamente un hilo con un intervalo de tiempo particular. También necesito ejecutar esto en segundo plano continuamente sin colgar en el dispositivo.

Lo he intentado con Application Manager Class pero es para la programación de aplicaciones y necesito programar el hilo dentro de la aplicación.


Suponiendo que desea ejecutar un hilo en el inicio del dispositivo: cree un segundo proyecto y enumérelo como un punto de entrada alternativo. En su UiApplication o Application main (), verifique el argumento pasado al proyecto. Haga sus cosas periódicas allí a través de Thread.sleep y no llame a enterEventDispatcher.

busque "autostart": http://docs.blackberry.com/en/developers/deliverables/1076/development.pdf

O si desea hacer algo una vez que el usuario lo "inicia", entonces busque crear un nuevo hilo para hacer su trabajo de sincronización. Anule la pantalla de su pantalla en Cerrar () y use Application.getActivation (). Deactivate () para poner la pantalla en segundo plano.

O hay otras maneras de hacer algo como esto como invokeLater, etc. Tal vez los oyentes de eventos pueden hacer lo que necesita, pero no dio muchos detalles.


Yo usaría TimerTask :

public class MyScreen extends MainScreen { private Timer mTimer; public MyScreen() { mTimer = new Timer(); //start after 1 second, repeat every 5 second mTimer.schedule(mTimerTask, 0, 5000); } TimerTask mTimerTask = new TimerTask() { public void run() { // some processing here } }; }

ver BlackBerry API Hidden Gems (Parte dos)


use UiApplication.getUiApplication().invokeLater() acepta un retraso y repite los parámetros y realizará exactamente lo que necesita.

EDITAR

Sé que esta publicación es antigua, pero esta es de lejos la mejor opción para programar eventos repetitivos y me gustaría agregar que para detener el evento programado, se requiere lo siguiente:

//Start repeating "runnable" thread every 10 seconds and save the event ID int eventId = UiApplication.getUiApplication().invokeLater(runnable, 10000, true); //Cancel the repetition by the saved ID UiApplication.getUiApplication().cancelInvokeLater(eventId);