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

    elTorro Threadstarter Neuer Benutzer

    Hi,
    Ich habe folgendes Problem, ich möchte das UI anzeigen lassen, im Hintergrund läuft ein code, dieser soll aber kurz warten und dann weiter ausgeführt werden. Es handelt sich um ein Spiel, das warten hat den Sinn, dass man sieht was der CPU-Gegner tut. Für den PC hatte ich das ganze schon implementiert. Ohne CPU funktioniert das ganze.
    Hier mal der Code der für Android nicht funktioniert.
    Zur übersicht hab ich einiges entfernt. Wenn ich diesen Code ausführe stürzt die App ab.

    Code:
    public class Waiter extends Thread {
    
        public Waiter(){
            super();
    
        }
        
        public void run(){
    
    //warten für 2 sekunden
            try {
                Thread.sleep(2000);
            } catch (InterruptedException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
    
      //code weiter ausführen-UI Elemente werden neu gesetzt
        }
    
        public void start(){
            this.start();       
        }
    }
    
    
    Es wäre toll, wenn jemand einen Hinweis, noch besser eine Lösung, für mich hätte.
    Da ich auch gegoogelt habe bin ich auf Handler, postDelay(), postInvalidate() gestoßen und hab auch einiges versucht aber nichts hat zum erfolg geführt.

    LG
     
  2. elTorro, 28.07.2011 #2
    elTorro

    elTorro Threadstarter Neuer Benutzer

    Ich habe es selbst gelöst, weil ich es doch noch richtig verstanden habe.
    Code:
    public Class Waiter{
    ....
        public void run(){
    
            Handler handler = new Handler(); 
            handler.postDelayed(new Runnable() { 
                 public void run() { 
                     //code weiter ausführen
                 } 
            }, 2000); 
       }
    ...
    }
    
     
  3. swordi, 28.07.2011 #3
    swordi

    swordi Gewerbliches Mitglied

    asynctask ist ne schöne variante für sowas
     
    elTorro gefällt das.
  4. elTorro, 29.07.2011 #4
    elTorro

    elTorro Threadstarter Neuer Benutzer

    Hat das einen Vorteil asynctask zu nutzen, wenn ich das richtig verstehe ist das im Grunde als würde man einen Backgroundthread starten, mit dem man trotzdem noch UI manipulationen vornehmen kann, das warten müsste man aber trozdem implementieren.
    Ich habe eben mal meine Variante daraf getestet, ob die UI noch wärend des warten auf Eingaben reagiert und es scheint so als ginge es. Aber vielleicht treten bei anderen Projekten deswegen Fehlverhalten auf. Immoment reicht das für meine Anforderungen, aber vielleicht lösen wir dadurch Probleme anderer oder Zukünftige Probleme.

    Danke und LG
     
  5. swordi, 29.07.2011 #5
    swordi

    swordi Gewerbliches Mitglied

    wenn du im UI thread wartest, wird das sicher zu problemen führen.
     
Die Seite wird geladen...
Ähnliche Themen Forum Datum
Automatisierung Android TV Box Android App Entwicklung Montag um 21:46 Uhr
Android App mit Raspberry Pi über Bluetooth verbinden Android App Entwicklung Samstag um 14:20 Uhr
Integer-Wert übertragen auf zweite Activity Android App Entwicklung 17.11.2017
[OFFEN] Android Studio 4 Knöpfe nebeneinander Android App Entwicklung 17.10.2017
[OFFEN] Taschenrechner-Verstehe Code nicht Android App Entwicklung 14.10.2017
[OFFEN] Android app selber entwickeln mit Bluetooth Android App Entwicklung 13.10.2017
[Offen] Android Layout funktioniert nicht Android App Entwicklung 08.09.2017
[ERLEDIGT] LL zur Laufzeit erstellen, Abstand zwischen LL und LL möglich ? Android App Entwicklung 06.09.2017
[OFFEN] App schließt nach Öffnen sofort Android App Entwicklung 04.09.2017

Benutzer fanden diese Seite durch die Suche nach:

  1. android app programmieren sleep

Du betrachtest das Thema "Android code anhalten (Thread.sleep)" im Forum "Android App Entwicklung",