1. Hast Du Lust, bei uns mitzuarbeiten und das AH-Team zu verstärken? Alle Details zu dieser aktuellen Herausforderung findest Du hier.
  1. keinbrain, 11.03.2012 #1
    keinbrain

    keinbrain Threadstarter Fortgeschrittenes Mitglied

    Hi, ich arbeite an einem Programm, welches Werte in Textviews ausgebiet, jedoch sind dort auch Werte vorhanden (z.B. Die Uptime des Geräts) , welche jede Sekunde neu abgerufen und ins Textview eingefügt werden müssen.

    Jetzt meine Frage: Wie kann ich das ganze Programm in eine Schleife stecken, die jede Sekunde alle Werte aktualisiert und ins TV einträgt?

    Vielen Dank im Vorraus :)
     
  2. snowman2, 11.03.2012 #2
    snowman2

    snowman2 Erfahrener Benutzer

    Währe Timer und TimerTask evtl. etwas für dich?
     
  3. keinbrain, 11.03.2012 #3
    keinbrain

    keinbrain Threadstarter Fortgeschrittenes Mitglied

    Wenn du mir sagt wie genau ich das machen soll, ich bin leider noch anfänger :confused:
     
  4. snowman2, 11.03.2012 #4
    snowman2

    snowman2 Erfahrener Benutzer

    Ich habe hier bei mir ein Buch liegen, das könnte ich abtippen. Dazu bin ich aber zu faul. Hast du schon mal Goggle benutzt.

    PS: Gogglehilfe : "Android Timer Example"
     
  5. keinbrain, 11.03.2012 #5
    keinbrain

    keinbrain Threadstarter Fortgeschrittenes Mitglied

    ja hab ich schon versucht, es geht nicht darum wie man einen timer startet, sondern eine schliefe die sich jede sukunde aktualisiert. kannst du nicht kurz die schleife abtippen pls ?
     
  6. snowman2, 11.03.2012 #6
    snowman2

    snowman2 Erfahrener Benutzer

  7. keinbrain, 11.03.2012 #7
    keinbrain

    keinbrain Threadstarter Fortgeschrittenes Mitglied

    ok, erstmal danke, aber ich blick da nicht so richtig durch. das ich nicht mit schleifen arbeiten muss hat mir schonmal geholfen, thx ^^
     
  8. snowman2, 11.03.2012 #8
    snowman2

    snowman2 Erfahrener Benutzer

    Mal ein beliebter Vergleich. Du sollst jede Minute einmal kurz das Licht in deinem Zimmer einschalten dazu gibt es zwei Möglichkeiten.

    1. (Schleife) Du starrst die ganze Zeit auf deine Uhr und wenn der Sekundenzeiger auf 0 springt schaltest du das Licht ein. Dumm ist nur du bist so damit beschäftigt auf die Uhr zu guggen, das du nebenbei nochnichteinmal eine Cola trinken kannst

    2. (TimerTakt) Du stellst dir eine Eieruhr hin, die jede Minute einmal bimmelt. Wenn die Uhr Bimmelt gehst zu zum Lichtschalten und schaltest das Licht ein. Der Vorteil, In der Zwischenzeit kannst du zum Kühlschrank gehen, die Cola herausholen, die Pizza in den Backofen stecken usw.

    Du hast ein Programm deine App. Diese besteht aus der Activity mit deinem TextView. Diese Activity kümmert sich unter anderm um das Anzeigen der Views und dem Zweck deiner App. (Listing 10.35)

    Als zweites hast du ein zweites Programm/Task (Eieruhr) der kümmert sich nur darum wann ist entlich die Sekunde rum (Listing 10.34). Es wird also jede Sekunde einmal der Programmcode in "public void run()" durchlaufen. Blöd ist nur die Methode "run" vom TimerTask hat keinen zugriff auf die Views deiner Activity, da hat nur die Activity zugriff drauf. Also muss der Programmcode in "run()" der Activity eine Nachricht schicken "hey eine Sekunde ist rum".

    Nun klingelt jemand (die Eieruhr) ander Haustür der Activity ... "Ah eine Nachricht für micht" dann schaut die Activity sich an was das für eine Nachricht ist" ... oh eine "hey eine Sekunde ist rum"-Nachricht dan werde ich jetzt mal die Views auffrischen.

    Nun bist du drann. Etwas eigeninitiative muss man schon aufbringen beim Programmieren oder ersteinmal etwas ohne Tasks programmieren.
     
    keinbrain gefällt das.
  9. keinbrain, 15.03.2012 #9
    keinbrain

    keinbrain Threadstarter Fortgeschrittenes Mitglied

    korrekt :D vielen vielen dank, DAS hilft mir wirklich weiter ;)
     
Die Seite wird geladen...
Du betrachtest das Thema "Gesammtes Programm jede Sekunde refreshen" im Forum "Android App Entwicklung",