1. HeroUser96, 23.11.2010 #1
    HeroUser96

    HeroUser96 Threadstarter Android-Hilfe.de Mitglied

    Hallo zusammen,

    ich habe folgende frage:

    ich möchte in meinem Projekt nach einer bestimmten Zeitspanne ein Ereigniss auslösen. Ich habe das versucht, indem ich in der onCreate() methode mit
    System.nanoTime die "Erstellungs" Zeit gespeichert habe und in einem Thread eine Variable immer mit der aktuellen Zeit überspeichere.

    Jetzt habe ich versucht, dass da Ereigniss ausgelöst wird, wenn die aktuelle Zeit = der StartZeit + 10000 ist. Allerdings funktioniert das nicht. Ich habe beim debuggen festgestellt, dass die Zeit "springt", also nie gleich der StartZeit + 10000 ist. Wenn ich das aber zu >= ändere, wird das Ereigniss dann immer ausgeführt und das will ich auch nicht.

    Kennt jemand eine bessere Methode?
     
  2. Stefan Baumgartner, 23.11.2010 #2
    Stefan Baumgartner

    Stefan Baumgartner Neuer Benutzer

    Stichwort: AlarmManager

    einfach mal googlen. Da gibts tausende Beispiele.
     
  3. Scavanger, 23.11.2010 #3
    Scavanger

    Scavanger Junior Mitglied

    Ist heute Tag der Timer? Der 3. Thread bei dem es im Endeffekt um das gleiche Thema geht.:rolleyes2:

    Nimm einen Handler und postDelayed():

    Code:
    private Handler myHandler = new Handler();
    
    ...
    
    // "Timer" stoppen
    myHandler.removeCallbacks(myUpdateTimeTask);
    
    // myHandlerTask mit einer Verzögerung von 100ms starten
    myHandler.postDelayed(myUpdateTimeTask, 100);
    
    ...
    
    // 
    private Runnable myHandlerTask = new Runnable() {
       public void run() {
       
       // Hier Methode ausführen, Ereignis auslösen, usw...   
    
       }
    
    };
    
    und wenn du in die run() am Ende noch mal ein postDelayed(..) rinpackst hast du nen perfekten TimerTask ersatz:

    siehe:
    Updating the UI from a Timer | Android Developers
     
  4. Fr4gg0r, 23.11.2010 #4
    Fr4gg0r

    Fr4gg0r App-Anbieter (Werbung)

    10000 Nanosekunden?

    Dann wohl eher nen Handler nehmen und postDelayed(Runnable r, delayTime) nehmen.
     
  5. HeroUser96, 23.11.2010 #5
    HeroUser96

    HeroUser96 Threadstarter Android-Hilfe.de Mitglied

    Danke, läuft perfekt :D
     
Die Seite wird geladen...
Similar Threads - Zeit messen Android Forum Datum
Wie realisiere ich eine zeitgesteuerte Berechnung und die Anzeige von PDF's Android App Entwicklung 21.02.2017
Zeitkritische Programmierung - Einfache Möglichkeiten..? Android App Entwicklung 05.02.2017
Warum erhalte ich ein "IllegalArgumentException" zur Laufzeit ? Android App Entwicklung 02.02.2017