Zeitabhängikkeit

  • 5 Antworten
  • Letztes Antwortdatum
N

nikobellic

Neues Mitglied
0
Hallo Zusammen,
Ich bin bei der Android programmierung ein frischling bitte nicht hart dran nehmen :p

Ich möchte eine bestimmte Aktion nur jede 2 Sekunde ausführen.
Zum testen habe ich mir folgendes überlegt :

Code:
            long testVar = 0;
            final long aktuelleZeit = System.currentTimeMillis();
              
            
              if(aktuelleZeit==aktuelleZeit+2000)
              {
                  testVar = aktuelleZeit;
              
              }
              test.setText("test\n"+aktuelleZeit+"\n "+testVar+"");
Der Wert von "testVar" bleibt immer 0, der Wert von "aktuelleZeit" ändert sich ständig wie er es soll.
Wird meine Bedingung für die Zuweisung nie erfüllt ?

(Ich will die Werte der Koordinatenachsen X Y Z nur jede 2 Sekunde aktuallisieren lassen und ausgeben, der Wert der ausgegeben wird soll solange zu sehen sein bis neue Daten kommen. (die Sensoren liefern ja die ganze Zeit Daten) ich krieg momentan nur die ständige ausgabe der Werte hin...)

MfG Niko
 
das kann nicht funktionieren.

du schreibst in einer zeile
final long aktuelleZeit = System.currentTimeMillis();
dann in der zeile danach

if(aktuelleZeit==aktuelleZeit+2000)

da müsste die app von der 1. bis zur 2. zeile exakt 2000 millisekunden benötigen, damit die if bedingung erfüllt ist.

der ansatz ist falsch.

schau dir mal das thema handler an. dort genauer nach postDelayed
 
Und selbst dann wuerde die Zeile keinen Sinn ergeben... ;)

Sollte dann eher if(System.currentTimeMillis() == aktuelleZeit +2000) sein.
Nur als kleine Anmerkung. ;) Ansonsten swordis Vorschlag bzgl der Handler ( Handler | Android Developers) beachten. :)
 
Nur so am Rande: Bei Zeitvergleichen benutzt man <= bzw >=.
 
Einmal die Antwort reicht ja sicher auch :)

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
Zurück
Oben Unten