Jetzt kostenlos registrieren. Mitglieder surfen ohne Werbung auf Android-Hilfe.de!
Zurück   Android-Hilfe.de > Android Developer > Android App Entwicklung

Stopuhr mit currentTimeMillis - Pause Problem

Das Thema "Stopuhr mit currentTimeMillis - Pause Problem" befindet sich unter Android App Entwicklung auf Android-Hilfe.de.


Antwort

 

Themen-Optionen Ansicht
Alt 18.06.2011, 12:58   #1 (permalink)
Erfahrener Benutzer
 
Benutzerbild von MetBo

Modell: Galaxy S i9100

Registriert seit: 14.05.2010
Beiträge: 278
Abgegebene Danke: 9
Erhielt 5 Danke für 5 Beiträge
Standard Stopuhr mit currentTimeMillis - Pause Problem

Hallo,

ich entwickel gerade eine kleine Stopuhr, die in meiner App eingebaut wird.

Damit die Stopuhr wenig CPU Ressourcen zieht, habe ich mich für die Variante mit einem Handler entschlossen (Siehe Updating the UI from a Timer | Android Developers).

Start und Stop beim Timer funktionieren, nur die Pause-Funktion möchte noch nicht ganz

Mit
Code:
protected OnClickListener mRecordListener = new OnClickListener() {
		@Override
		public void onClick(View arg0) {
			mTimer.removeCallbacks(mUpdateTimerTask);
			
			if (!mIsRecord) {
				if (mStartTime == 0L) {
					mStartTime = System.currentTimeMillis();
				}
				
				mTimer.postDelayed(mUpdateTimerTask, 100);	
			} else {
				mResumeTime = System.currentTimeMillis();
			}
			
			mIsRecord = mIsRecord ? false : true;
		}
	};
wird die Stopuhr gestartet und pausiert.

Das eigentliche "zählen" passiert hier
Code:
protected Runnable mUpdateTimerTask = new Runnable() {
		@Override
		public void run() {
			final long start = mStartTime;
			long millis = 0L;
			
			if (mResumeTime == 0L) {
				millis = System.currentTimeMillis() - start;
			} else {
				millis = System.currentTimeMillis() - (mResumeTime);
			}
			
			int seconds = (int) (millis / 1000);
		    int minutes = seconds / 60;
		    seconds     = seconds % 60;
		
		    if (seconds < 10) {
		        mTextTimer.setText("" + minutes + ":0" + seconds);
		    } else {
			    mTextTimer.setText("" + minutes + ":" + seconds);            
		    }
			
			mTimer.postDelayed(mUpdateTimerTask, 100);
		}
	};
Mein Problem: Wenn ich nach dem Pausieren die Stopuhr weiterlaufen lassen möchte, dann wird komischerweise die Zeit nicht korrekt berechnet ...

Habt ihr eine Idee, wie ich das Pausieren am elegantesten lösen kann?

Vielen Dank
MetBo ist offline   Mit Zitat antworten
Antwort

Stichworte
-

Themen-Optionen
Ansicht


Ähnliche Themen

Thema Autor Forum Antworten Letzter Beitrag
Gutes Headset (mit Pause/Play-Button und Micro)? jandariko Zubehör für LG Optimus Speed 43 27.07.2011 20:04
Kopfhörer (keine In-Ear) mit Pause/Play Taste Paddi Zubehör für Samsung Galaxy S 15 20.10.2010 14:47
Einfache Stopuhr Alvar Hanso Android App Entwicklung 1 06.04.2010 00:40
Stopuhr auf dem Milestone? Rayk Business und Organisation 4 07.02.2010 20:45
Klingelton: Pause zu lang yahooooo Android Allgemein 2 13.08.2009 13:59




Du liest gerade: "Stopuhr mit currentTimeMillis - Pause Problem" unter "Android App Entwicklung" auf Android-Hilfe.de.


Powered by vBulletin®
Copyright ©2000 - 2012, vBulletin Solutions, Inc.
Search Engine Friendly URLs by vBSEO
© Android-Hilfe.de 2012 - All rights reserved.