Implementieren einer While-Schleife in Android

8

Ich kann die Implementierung einer while-Schleife in Android nicht verstehen.

Immer wenn ich eine while-Schleife im onCreate() -Bundle implementiere, (Code unten)

%Vor%

Nichts fährt hoch und das Programm tritt nach einiger Zeit in einen "hängenden" Zustand ein und ich kann nicht verstehen warum. Testbyte ist wie folgt:

%Vor%

und updateAuto() sollen den Code pro Sekunde aktualisieren und im TextView-Bereich angezeigt werden. Ich habe setText in updateAuto () verwendet, wie unten gezeigt, und alles funktioniert gut, aber sobald ich die while-Schleife implementiere, sehe ich nur einen schwarzen Bildschirm und dann eine Option, um nach einigen Sekunden zu schließen, weil sie nicht reagiert. .

%Vor%

Ich habe es in ein Tastenformat geändert (was bedeutet, dass ich auf die Schaltfläche klicken muss, um sich selbst zu aktualisieren), aber ich möchte, dass es sich selbst aktualisiert, anstatt es manuell anzuklicken.

Implementiere ich die while-Schleife falsch?

Ich habe auch versucht, die While-Schleife in einer separaten Funktion aufzurufen, aber es gibt mir immer noch den schwarzen Bildschirm des Nichts.

Ich habe etwas über einen Handler Service gelesen ... was macht es? Kann der Handler-Dienst my TextView auf eine sichere oder speichereffiziente Weise aktualisieren?

Vielen Dank, wenn jemand mir ein paar Hinweise geben würde, was ich hier tun soll.

    
Kyle Yeo 20.09.2011, 00:47
quelle

1 Antwort

28

Halte dich. Und versuchen Sie genau zu folgen, dies wird als Entwickler von unschätzbarem Wert sein.

While-Schleifen sollten eigentlich nur in einem separaten Thread implementiert werden. Ein separater Thread ist wie ein zweiter Prozess, der in Ihrer App ausgeführt wird. Der Grund, warum er geschlossen wurde, liegt darin, dass Sie die Schleife im UI-Thread ausgeführt haben, sodass die UI nur durch diese Schleife gehen konnte. Sie müssen diese Schleife in den zweiten Thread einfügen, damit der UI-Thread frei ausgeführt werden kann. Beim Threading können Sie die GUI nur aktualisieren, wenn Sie sich im UI-Thread befinden. Hier ist, wie es in diesem Fall gemacht würde.

Zuerst erstellen Sie eine ausführbare Datei, die den Code enthält, der in der run-Methode der Schleife durchlaufen wird. In diesem Runnable müssen Sie ein zweites Runnable erstellen, das an den UI-Thread sendet. Zum Beispiel:

%Vor%

Weiter erstellen Sie einfach Ihren Thread mit der Runnable und starten Sie es.

%Vor%

Sie sollten jetzt sehen, dass Ihre App ohne Schlupf geschlossen wird.

    
Zaid Daghestani 20.09.2011, 01:05
quelle