2010-09-20 9 views
2

Je veux lancer un compte à rebours, dans lequel je veux montrer les jours, heures, sec et milisec restants pour une date spécifique. et sera continuer à changer jusqu'à la fin de la date spécifique. J'espère que vous pouvez comprendre.compte à rebours en android

Merci d'avance.

+2

Et quel est exactement votre question? Comment faire fonctionner la minuterie, comment faire changer l'interface utilisateur à chaque milliseconde? Ou voulez-vous juste que nous colions tout le code dont vous avez besoin? – Janusz

Répondre

4

Eh bien, je pense que le problème est, que vous ne savez pas, comment travailler avec le temps. Ici, j'ai une méthode que j'utilise pour calculer la quantité de temps de certains éléments que j'analyse sur un db. Le param est une double valeur, qui a tout le temps en secondes. Il renvoie une chaîne avec l'heure en jours, heures, minutes et secondes sous forme de chaîne.

public String timeCalculate(double ttime) { 

    long days, hours, minutes, seconds; 
    String daysT = "", restT = ""; 

    days = (Math.round(ttime)/86400); 
    hours = (Math.round(ttime)/3600) - (days * 24); 
    minutes = (Math.round(ttime)/60) - (days * 1440) - (hours * 60); 
    seconds = Math.round(ttime) % 60; 

    if(days==1) daysT = String.format("%d day ", days); 
    if(days>1) daysT = String.format("%d days ", days); 

    restT = String.format("%02d:%02d:%02d", hours, minutes, seconds); 

    return daysT + restT; 
} 

Pour le compte à rebours lui-même ... prendre l'horodatage cible moins d'une réelle et le tour est joué, vous avez secondes :) Mettre les secondes à cette méthode et vous avez le temps restant. Maintenant, vous avez juste besoin de faire des choses de l'interface utilisateur;) Oh, et pour l'habituel Unix Timestamp vous pouvez utiliser cette méthode peu:

public static long getTimestamp() { 
    return System.currentTimeMillis()/1000; 
} 
+0

Merci beaucoup Keenora .... – Sujit

+0

@keenora Fluffball J'ai utilisé le code ci-dessus et a obtenu les heures jours minutes et secondes, mais quand je définir le textview dans onTick() de countdowntimer compte à rebours ne démarre pas.S'il vous plaît Voir pour plus d'informations http://stackoverflow.com/questions/13833850/countdown-issue-while-displaying-days-hours-minutes-seconds-using-count-down-tim/13834196#comment19041515_13834196 –

+0

@Sujit J'ai utilisé le code ci-dessus et j'ai obtenu les heures jours minutes et secondes mais quand je mets le textview dans onTick() du compte à rebours countdowntimer ne commence pas.S'il vous plaît Voir pour plus d'informations http://stackoverflow.com/questions/13833850/countdown-issue-while-displaying-days -heures-minutes-secondes-en-utilisant-count-down-tim/13834196 # comment19041515_13834196 –