AsyncTask mit Rückgabewert

  • Antworten:1
Coder
  • Forum-Beiträge: 1

18.12.2012, 16:42:46 via Website

Hallo,

ich habe eine APP geschrieben die JSON Objekte aus dem Internet läd und diese Anzeigen soll. Das hat im ersten Versuch auch alles ganz gut Funktioniert. Nun wollte ich die Objekte per AsyncTask herunterladen und dann verarbeiten.

Meine Idee war:

Activity wird gestartet
ACtivity stößt den Download an
Activity bekommt das JSON Objekt übergeben
Anzeigen

Da ich mehre Activitys habe wollte ich gern den AsyncTask in eine eigene Klasse auslagern. Nur ich weiß nicht wie ich das JSON Objekt an die Klasse zurück geben kann?

Besten dank

Antworten
Gelöschter Account
  • Forum-Beiträge: 694

18.12.2012, 19:34:42 via Website

Ich habe mir einen "onAsyncTaskCompletedListener" gebaut. Mit dessen Hilfe sind 100% meiner AsyncTasks in externen Klassen. Die Activities werfen die Tasks an und warten dann auf das Eintreffen der Ergebnisse. Damit eine Activity mit mehreren Tasks gleichzeitig rumspielen kann habe ich dem Listener eine TaskId spendiert: Diese TaskId wird beim Start des Tasks im Konstruktor übergeben:

1public interface MyOnAsyncTaskCompletedListener {
2
3 public abstract void onAsyncTaskCompleted(int taskId, Object taskResult);
4}

In den Code Snippets 3 Bretter weiter verwende ich das in einem Beitrag. Der startet mit "AsyncTask" und endet in "externe Klasse" ;-)

— geändert am 19.12.2012, 07:03:33

Antworten