Android Async, Handler oder Timer?

8

Ich möchte alle 5 Sekunden meinen Webservice aufrufen und Text (nicht Bilder) abrufen und dann in meinem ImageAdapter anzeigen. Was wäre der beste Weg, dies zu erreichen?

    
Raptrex 21.07.2011, 21:20
quelle

3 Antworten

7

Es kommt darauf an, ob Sie einen anderen Thread verwenden möchten oder nicht. Soll der Benutzer während des Herunterladens der Bilder mit der Anwendung auf dem UI-Thread interagieren können? Wenn ja, würde ich definitiv eine AsyncTask mit einem kleinen ProgressBar ( style="@android:style/Widget.ProgressBar.Small" )

Wenn Sie sich nicht um Threading kümmern, was @inazaruk sagte.

Bearbeiten: Die Wahrheit ist, dass die meisten modernen Apps, die Daten von einem Webservice abrufen, eine AsyncTask mit einem diskreten kleinen Loader in der Ecke verwenden, um den Benutzer wissen zu lassen, dass er aktualisiert wird.

Edit 2: Hier ist ein Beispiel für die Verwendung einer TimerTask, um alle 5 Sekunden etwas auszuführen. Der Schlüssel ist runOnUiThread() . Es gibt vielleicht bessere Möglichkeiten, alle Elemente miteinander zu verbinden , aber das zeigt genau alle Teile.

%Vor%     
citizen conn 21.07.2011, 21:25
quelle
8
%Vor%     
srinivas Nidadavolu 09.01.2013 07:14
quelle
0

Sie sollten asynctask im Hauptthread der Anwendung aufrufen. Asynctask kann nicht in einem Hintergrundthread aufgerufen werden.

    
Sree Rama 29.05.2012 06:30
quelle