Tengo un problema con el inicio del cronómetro a partir de la hora específica. Hay un objeto Date Quiero mi salida del cronómetro:¿Cómo establecer el cronómetro Android base desde el objeto Date?
Date d = new Date(); //now, just for example
chronometer.setBase(d.getTime()); //long value of d
Log.d("Date: " , "d.getTime() time is [" + d.getTime() +"]");
Log.d("Chron: " , "chronometer.getBase() is [" + chronometer.getBase() +"]");
//let's print out elapsedRealtime from official sample
Log.d("Chron: " , "SystemClock.elapsedRealtime() is [" + SystemClock.elapsedRealtime() +"]");
Salida:
06-02 13:35:23.025: D/Date:(928): d.getTime() time is [1338644123032]
06-02 13:35:23.037: D/Chron:(928): chronometer.getBase() is [1338644123032]
06-02 13:35:23.037: D/Chron:(928): SystemClock.elapsedRealtime() is [11624388]
En realidad, ¿por qué este largo valores de Difiere de tiempo (11624388 y 1338644123032)?
Cuando comienzo mi cronómetro de la base
chronometer.setBase(SystemClock.elapsedRealtime());
- siempre funciona bien ("00:00" y en aumento)
Pero cuando intento para establecer la fecha de un pasado Fecha (Fe ayer):
chronometer.setBase(yesterday.getTime());
- se muestra "00: 0 (" y cambia cada segundo la última char a ")", "*", "/", y otros
¿Podría avisar cómo puedo configurar la base del cronómetro en un objeto Date?
Gracias Marcos. Mi objetivo es crear un reloj digital que muestre la duración del tiempo entre dos actividades (almacenadas en la base de datos con registro de tiempo). ¿Podría aconsejarnos las mejores prácticas para esto? – Vitalliuss
@Vitalliuss: si sus tiempos de inicio y fin están fijos en una base de datos, simplemente use 'TextView', ya que su valor no cambiará. Si su hora de inicio está fijada en una base de datos y está contando desde allí, necesitará crear su propio equivalente de 'Cronómetro' que tome una hora de inicio en la base de tiempo 'System.currentTimeMillis() ', en lugar de' elapsedRealtime() '. Dado que ['Chronometer' no es una clase muy larga] (https://github.com/android/platform_frameworks_base/blob/master/core/java/android/widget/Chronometer.java), clonarlo y hacer uno propio debe ser razonablemente fácil. – CommonsWare
Intentaré reescribir el cronómetro para mi proyecto. ¡Muchas gracias! – Vitalliuss