Equivalente a javax.swing.Timer en Android
¿Hay algo que se parece al javax.swing.Timer
en Android. Sé cómo crear propios hilos, pero hay algo que es como el swing-temporizador?
- No recibe datos de ubicación del hilo
- Temporizador de cuenta atrás Android La barra de progreso circular no coincide con el temporizador
- Mostrar temporizador en texto contiene días, horas, minutos y segundos en android
- Eliminación del fondo de una animación de marco en Android
- Programación de Android Timer vs. scheduleAtFixedRate
- Cómo detener un temporizador después de cierto número de veces
- Eventos retardados en Android
- Lanzar null pointerException en Timer.Schedule ();
- Android Java: ¿Cómo restar dos veces?
- Timer y TimerTask en Android
- Cambiar horario scheduleAtFixedRate
- Cómo mostrar el temporizador en android
- Android: desea que la aplicación realice tareas cada segundo
También hay TimerTask de Java. He aquí un ejemplo de mi código en el que estoy reproduciendo muestras de audio:
import java.util.Timer; import java.util.TimerTask; // from constructor, shown here out of place timer = new Timer(); // and in method, again, shown out of place: INTERVAL_MILLISECONDS = (int)((double)(bufSize) / (double)(nativeSampleRate * 2) * 1000); timer.scheduleAtFixedRate( new TimerTask() { public void run() { synchronized(this){ track.write(data, 0, bufSize); track.play(); } } }, 0, INTERVAL_MILLISECONDS);
Probablemente estés buscando la clase android.os.CountDownTimer
Puede heredar la clase de esta manera:
class MyTimer extends CountDownTimer { public MyTimer(int secsInFuture) { super(secsInFuture*1000, 1000); //interval/ticks each second. } @Override public void onFinish() { Log.d("mytag","timer finished!"); } @Override public void onTick(long millisUntilFinished) { //fired on each interval Log.d("mytag","tick; " + millisUntilFinished + " ms left"); } }
El punto principal de javax.swing.Timer
es que ejecuta tareas en el hilo GUI (EDT – hilo de despacho de eventos). Esto hace que sea seguro manipular componentes Swing.
En Android también hay EDT y sólo debe manipular elementos GUI en EDT . Para retrasar su código y luego ejecutarlo en EDT use view.postDelayed(runnable)
.