Ich weiß, dass es schon einige Diskussionen gibt und ich habe im Internet viel nach einer Lösung gesucht, ich habe 3 Aufrufe (Volley) Ich möchte nacheinander ausführen, weil der nächste holen muss Variablen, die vorher auf den get gesetzt wurden, scheint aber hier nicht zu funktionieren. Wenn ich den gesamten Prozess debugge, funktionierte es natürlich gut, aber wenn ich die App normalerweise ausführe, bekomme ich keine Daten, die ich beim Debuggen bekommen hätte.Async-Tasks nacheinander ausführen
Jetzt habe ich versucht, statische boolean Variablen zu setzen diese ganze Sache Arbeit zu machen, aber Theres bisher keinen Erfolg ..
public class AsyncToken extends AsyncTask<String , Void, Void> {
private PacketBuilder pb = new PacketBuilder();
private Context context;
AsyncUser u = new AsyncUser(context);
@Override
protected Void doInBackground(String... params) {
while(task1finished == false)
{
try
{
Log.d("App", "Waiting for GetTask");
Thread.sleep(1000);
}
catch (InterruptedException e)
{
e.printStackTrace();
}
}
Log.d("App", "GetTask finished");
// Do what ever you like
// ...
pb.Get("token", "", params[0], context);
return null;
}
protected void onPostExecute(String ... params)
{
task2finished = true;
}
public AsyncToken(Context context)
{
this.context = context;
}
}
habe ich versucht, diese Lösung und zu überprüfen, ob diese Arbeit tut i, wenn die Variablen überprüft i aus dem get bekam gesetzt wurden, nichts, im diesen Fehler: Versuch, virtuelle Methode ‚java.lang.String org aufzurufen. json.JSONObject.getString (java.lang.String) 'für einen Null-Objektverweis. Und entweder debugge ich falsch oder es springt nicht in onPostExecute. –
@AlexandraK. Kannst du diesen Code posten? –
bearbeitet es, zuerst ist die Ausführung der ersten Aufgabe, wo ich auch nach jeder Aufgabe überprüfen, ob ich das Objekt mit dem get, wenn ja, ich habe eine neue Aktivität, das zweite Bild ist die erste Aufgabe, die dritte, die letzte Aufgabe. –