0

Ich habe ein Problem. Ich möchte den Status eines Switches auf der Hauptbenutzeroberfläche auf der Basis dessen, was ich von einem Server erhalte, aktualisieren. Wie wir wissen, erlaubt Android nicht die Internetverbindung auf Hauptgewinde.Async iterative zu UI aktualisieren

Also habe ich Async verwendet. Leider kann ich die Benutzeroberfläche in Async nicht ändern. Ich möchte eine AsyncTask, die eine "while (true)" mit meinem Code innerhalb machen. Es fragt den Server und auf der Basis der Antwort aktualisieren Sie die Benutzeroberfläche immer und immer.

Jemand kann mir helfen?

Vielen Dank im Voraus und Entschuldigung für mein schlechtes Englisch!

Edit: Ich spreche von einer Android-Anwendung.

Antwort

0

AsyncTask verfügt über Methoden, die mit der Benutzeroberfläche arbeiten sollen, z. B. onPostExecute. Aber AsyncTask sollte nur für Vorgänge verwendet werden, die einige Sekunden dauern und andere AsyncTasks hängen können. So

tun ein "while (true)" mit meinem Code in

ist keine Option. Zum Chatten mit dem Server möchten Sie möglicherweise service verwenden.

Überprüfen Sie weitere Informationen über Prozesse und einige gotchas.

+0

Ich löste durch eine Weile (wahr) in einem Thread, der AsyncTask aufruft. Eigentlich weiß ich nicht, ob das ein akzeptabler Weg ist! Gib mir Bescheid! –

+0

AsyncTasks werden seriell auf einem einzelnen Hintergrundthread (von API 11) ausgeführt, weshalb lang laufende Worker andere blockieren können. –

+0

Ich weiß, also ist es besser, den Service zu nutzen? Recht? –