Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 28/10/13, 20:28:03
Array

[xs_avatar]
st4rw0lf st4rw0lf no está en línea
Usuario muy activo
 
Fecha de registro: abr 2013
Mensajes: 1,165
Modelo de smartphone: LG G2 / Huawei Y300-0100 / iPhone 4
Tu operador: Yoigo
Temporizador

Buenas noches, desde hace un par de días estoy con el android studio comiéndome la cabeza para poner una cuenta atrás para que si no haces ninguna acción en X segundos te redirija a otra pantalla.
Os agradecería que ayudarais con alguna idea de como hacerlo y así investigar
Muchas gracias a todos.
Responder Con Cita


  #2  
Viejo 28/10/13, 21:52:01
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Yo lo hago con un handler y el método handler.sendMessageDelayed(...) con el tiempo que le pongas y algo que identifique el mensaje (yo tengo una variable, llamémosla TIMEOUT_MESSAGE de tipo int que vale 1).

En el onCreate tengo esto:
Código:
        handler = new Handler(){
			@Override
			public void handleMessage(Message msg) {
				super.handleMessage(msg);
				if (msg.what == TIMEOUT_MESSAGE){
					// Lo que quieras hacer
				}
			}
        };
Luego tengo un startTimer y un stopTimers (tengo más temporizadores)

Código:
 
        private void startTimer(){
		handler.sendMessageDelayed(handler.obtainMessage(TIMEOUT_MESSAGE), TIEMPO_QUE_SEA);
	}

	private void stopTimers(){
		if (handler != null){
			handler.removeMessages(TIMEOUT_MESSAGE);
		}
	}
Si el usuario hace algo, se para la actividad o lo que sea paras el timer con stopTimers y ya está.

En el onResume por ejemplo lo inicias con startTimer.

Supongo que me habré dejado algo porque he hecho medio copy-paste de una de mis apps, pero la idea es esa, aprovecharse del handler para enviar mensajitos. Lo bueno del handler es que funciona en el hilo principal, así que puedes hacer de todo en el método handleMessage.
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
  #3  
Viejo 28/10/13, 23:25:02
Array

[xs_avatar]
kriogeN kriogeN no está en línea
Colaborador/a
· Votos compra/venta: (1)
 
Fecha de registro: oct 2010
Localización: Murcia
Mensajes: 4,637
Modelo de smartphone: Samsung Galaxy S7 Edge SM-G935F
Tu operador: Vodafone
Muy bueno Mocelet, yo lo hago de una forma muchísimo más compleja, esto me lo apunto para a partir de ahora hacerlo así.
Responder Con Cita
  #4  
Viejo 28/10/13, 23:52:03
Array

[xs_avatar]
mocelet mocelet no está en línea
Desarrollador
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -

Gracias, desde que descubrí los handlers los uso todo lo que puedo
Otra cosa, para la cuenta atrás es trivial añadir los ticks del contador para actualizar un textview, basta definir otro tipo de mensaje (TICK_MESSAGE con valor 2 por ejemplo) y lanzarlo cada segundo (en mi app como la cuenta es de 5 segundos los programo de golpe: un tick en el momento, otro en 1 segundo, otro en 2... , y a los 5 el mensaje de timeout).
__________________
El mejor Cuatro en Raya de Android (Hilo en HTCMania, Play Store) ¡Un millón de descargas!
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android



Hora actual: 16:05:30 (GMT +1)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.

Contactar por correo / Contact by mail / 邮件联系 /