PDA

Ver la Versión Completa : [PROGRAMACION] Mostrar la hora en Android


bamsbamx
23/04/12, 19:01:34
hola , acabo de diseñar una aplicacion, peroel caso es que me falta algo y no se lo que es:enfadadisimo::enfadadisimo::enfadadisimo::enfad adisimo::enfadadisimo::risitas: creo que tengo que actualizar la pantalla o algo, a ver si me podeis decir que falta ;). el programa consiste en mostrar la hora del reloj, pero en cuanto la muestra ahi se queda y no avanza...



import java.util.Calendar;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class TimeToSpeechActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

final TextView txtHour = (TextView)findViewById(R.id.TxtHour);
final TextView txtMinutes = (TextView)findViewById(R.id.TxtMinute);
final TextView txtSeconds = (TextView)findViewById(R.id.TxtSeconds);
final TextView txtMilliseconds = (TextView)findViewById(R.id.TxtMilliseconds);

Integer hora = new Integer(Calendar.HOUR_OF_DAY);
Integer minutos = new Integer(Calendar.MINUTE);
Integer segundos = new Integer(Calendar.SECOND);
Integer milisegundos = new Integer(Calendar.MILLISECOND);

txtHour.setText(hora.toString());
txtMinutes.setText(minutos.toString());
txtSeconds.setText(segundos.toString());
txtMilliseconds.setText(milisegundos.toString());


}
}

BoliViCmtb
13/05/12, 20:54:46
Me podrías decir si has solucionado ese problema? Estoy desarrollando una aplicación y me falla lo mismo que a ti. Gracias de antemano y saludos!

bamsbamx
13/05/12, 22:23:08
Si, lo solucione creando una especie de subprograma, el cual se actualiza cada x tiempo con un Timer... si puedo, en un rato te pongo un ejemplo..

bamsbamx
13/05/12, 23:16:22
mira, aqui esta:

primero, lo que se hace es crear un ojeto del tipo Runnable

final Runnable updateTask = new Runnable() {
public void run() {
//Aqui pones lo que quieras que se actualice
}
};


y luego un Timer:



timer = new Timer("DigitalClock");
timer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
runOnUiThread(updateTask);
}
}, 1, 1000);}

al final del todo, 1000 significa el periodo de actualizacion ( en milisegundos )

Si tienes alguna pregunta, pregunta :sisi1::sisi1:, que si a mi me han ayudado, yo tendre que ayudar...X-D