Download-Warteschlange in Android

8

Was ist der beste Weg, um eine Download-Warteschlange in Android zu implementieren?

Ich vermute, dass es einige Plattformklassen geben könnte, die die meiste Arbeit erledigen könnten.

    
hpique 02.12.2010, 15:02
quelle

4 Antworten

17
  

Was ist der beste Weg, um eine Download-Warteschlange in Android zu implementieren?

Verwende ein IntentService . Er stellt die Warteschlange und den Hintergrundthread für Sie bereit. Sie müssen lediglich Ihre Download-Logik in onHandleIntent() einfügen. Siehe hier für ein Beispielprojekt , das dies demonstriert.

    
CommonsWare 02.12.2010, 16:02
quelle
2

Ich würde vorschlagen, das java.util.concurrent-Paket zu betrachten und genauer zu lesen unter Executors

Sie können einen ExecutorService erstellen, der nur eine Anzahl von runfähigen Objekten gleichzeitig ausführt und die restlichen Aufgaben automatisch in die Warteschlange stellt. Sobald einer der ausgeführten Threads die Ausführung beendet, wird das nächste Runnable-Objekt in der Warteschlange zur Ausführung abgerufen.

    
Prashast 02.12.2010 15:54
quelle
2

Die Verwendung eines IntentService macht es ziemlich schwierig, die Löschung zu unterstützen. Es ist nur etwas, was Sie beachten müssen. Wenn Sie können, ist es API Level 9, Sie werden besser Ссылка

verwenden     
Nils Kassube 10.03.2011 13:09
quelle
1

Ab API 11 empfiehlt es sich, einen FixedThreadPool mit asynchronen Tasks zu verwenden. Tun Sie einmal:

%Vor%

Dabei steht 3 für die Anzahl der Downloads, die gleichzeitig ausgeführt werden sollen. Wenn bereits 3 Downloads ausgeführt werden, wird die Task in die Warteschlange gestellt und die Task später automatisch ausgeführt. Starten Sie Ihre asynchronen Aufgaben mit:

%Vor%

Params ist wahrscheinlich die URL, zu der Sie eine Verbindung herstellen möchten. Sie können es in onPostExecute Ihrer asynctask auslesen und mit dem Server eine HttpURLConnection Verbindung herstellen .

Stellen Sie sicher, dass Sie dies beim Herunterfahren aufrufen:

%Vor%     
Frank 13.08.2012 10:29
quelle

Tags und Links