2011-04-06 21 views
6

Tengo un pequeño problema de Android, tengo un requisito para tener un temporizador para calcular la duración desde el momento en que se activó una actividad específica hasta que se hace clic en un determinado botón en esa actividad, simplemente cuánto tiempo estuvo abierta la actividad. Mientras busqué en Google, encontré TimerTask, pero parece que solo ejecuta un hilo durante un cierto intervalo y no parece ideal para el trabajo desde mi pequeña experiencia con AndroidCalcular duración

¿Alguna idea sobre cómo calcular la duración? Preferiblemente de una manera muy simple

Cualquier ayuda es bienvenida

Saludos, MilindaD

Respuesta

17

sólo tiene que utilizar System.currentTimeMillis() para capturar el momento en que se inicia la actividad y se detiene. Por ejemplo:

long startTime = System.currentTimeMillis(); 
// wait for activity here 
long endTime = System.currentTimeMillis(); 
long seconds = (endTime - startTime)/1000; 
+1

hermosa respuesta – Ayudh

+0

una solución tan simple y fácil, muchas gracias! – MilindaD

+0

Esto le da segundos, ¿hay alguna forma de que pueda obtener 'minutes',' hours' y 'days'? No me refiero al método de divide por 60. Buscando una mejor solución que eso. ¿Hay algo disponible? –

0

Si desea saber cuánto tiempo de actividad está abierta.

Puede escribir el código correspondiente en

  • onCreate() método

    y onDestory() método. o

  • onResume() método método onPause().

según su necesidad.

y hacer uso del siguiente código

long t1 = new Date().getTime(); 
long t2 = new Date().getTime(); 
long t3 = t2 - t1; 
Cuestiones relacionadas