Android - calculs avec le temps écoulé dans le Chronomètre
Au Chronomètre, comment peut-on extraire le temps écoulé et de les stocker séparément dans des variables.
Par exemple, de stocker le nombre d'heures, de minutes, de secondes écoulées en séparer les variables int?
Est-il possible? Si Oui, Comment?
En dehors de Chronomètre peut-il être mieux fait en utilisant un autre concept? Si Oui, quel est-il?
OriginalL'auteur | 2012-11-08
Vous devez vous connecter pour publier un commentaire.
Vous pouvez obtenir la valeur de temps (en millisecondes):
Il vous suffit ensuite de récupérer les heures, les minutes et les secondes comme suit :
OriginalL'auteur flawyte
Quelques idées de sauter hors de moi:
getText()
et analyser le temps avec chaque":"
(ou quelle que soit l'heure locale de séparateur).Vous pouvez également calculer l'heure actuelle en millisecondes sur votre propre, la transmettre à un Java Calendrier de l'objet et de l'utiliser de
get()
méthode:Oui, vous pouvez effectuer aucune manipulation de Chaîne sur
getText().toString()
.pourriez-vous veuillez donner des précisions vous répondre plus., en fournissant plus de code.
OriginalL'auteur Sam
Vous pouvez également créer votre propre Chronomètre, voici un exemple que j'ai utiliser comme un compte à rebours, mais l'idée est la même chose dans le sens inverse, vous devriez seulement besoin de changer la CountQueue CountDownTimer pour ajouter des minutes et des heures au lieu de les soustrayant, changer le @Override onTick pour stocker iSec 60 moins la valeur actuelle et la modification de "nulle setTimeText()" pour cependant vous souhaitez afficher les valeurs. setTrainingCountdown() devrait aussi changer de sorte qu'il commence à 0 par défaut.
Pour l'utiliser, il vous suffit d'associer n'importe quel TextView lors de la création d'un nouveau SkillQCountdown et vous démarrez avec setTrainingCountdown (), vous pouvez créer un moyen de mettre en pause et redémarrer le compte à rebours (juste à l'arrêt de la minuterie, et de stocker les valeurs, puis redémarrer avec les valeurs stockées).
Si vous souhaitez stocker et afficher les millisecondes ainsi, modifiez cette ligne "compteur = new CountQueue(60000, 100);" de sorte que vous pouvez enregistrer le onTick chaque seconde au lieu de toutes les 60 secondes, la deuxième valeur est la façon récurrentes, il tente de mettre à jour le TextView avec de nouvelles valeurs.
Toutefois, si vous voulez juste pour stocker les valeurs précisément, vous pouvez obtenir l'heure actuelle en millisecondes au début du comte et quand vous le souhaitez pour obtenir les valeurs, puis de soustraire des valeurs et de calculer les secondes, les minutes et les heures le même comme vous pouvez le voir, il est fait à l'intérieur de "public void setTrainingCountdown(long diffInMis)"
OriginalL'auteur Aerinx