Wie bekomme ich die Daten von meiner AsyncTask? Meine MainActivity ruft die DataCall.getJSON-Funktion auf, die die AsyncTask auslöst, aber ich bin nicht sicher, wie die Daten zu der ursprünglichen Aktivität zurückgeholt werden.
MainActivity mit Aufruf von DataCall, der eine Zeichenfolge zurückgeben und in state_data
DataCall:
%Vor%Der Schlüssel für mich war, eine Klasse namens URLWithParams oder so etwas zu erstellen, weil AsyncTask nur 1 Typ IN senden lässt, und ich benötigte sowohl die URL als auch die Parameter für die HTTP-Anfrage.
%Vor%und dann sende ich es an einen JSONClient:
%Vor%Dann rufe es von meiner Hauptklasse wie folgt auf
%Vor% Ändern Sie Ihre AsyncTask
wie folgt:
und verwende es in deiner Aktivität
%Vor%HINWEIS : Für die Leute, die das lesen.
Bitte beachten Sie diese Post für die beste und vielleicht richtige Implementierung.
Obwohl ich die Erstellung einer neuen Aktivität für diese einfache Aufgabe nicht stimme, gibt es
%Vor%um Daten von einer anderen Aktivität zu erhalten.
Überprüfen Sie dies . Sie können Ihre Daten in den Extras der Intent speichern. Aber wenn Sie eine große Menge an Daten haben, schreiben Sie besser in eine Datei, erhalten Sie das Ergebnis der anderen Aktivität, die heruntergeladen wird, und lesen Sie dann die Datei.
Einige Optionen:
a) Lassen Sie Ihr Bean Serializable
interface implementieren, dann können Sie Ihre Bean durch Intent übergeben.
b) Implementieren Sie Application
interface (Sie müssen einen Eintrag im Manifest erstellen). Verfügen Sie über die Methode setter \ get in Ihrer Anwendungsklasse. Sie können Ihre Bean in der Anwendung von AsyncTask
setzen und später von Activity abrufen.
Tags und Links java android android-asynctask