Synchronisierte Anfrage mit Volley in einem Hintergrundthread
In einem Dienst mit einem vorhandenen Hintergrundthread kann es wünschenswert sein, eine synchrone Anfrage durchzuführen mit Volley. Dies vermeidet unnötige Thread-Erstellung und stellt die Callback-Ausführung innerhalb desselben Threads sicher.
Um synchrone Anfragen zu erreichen, stellt Volley die RequestFuture-Klasse bereit. Hier ist ein Beispiel für eine synchrone JSON-HTTP-GET-Anfrage mit RequestFuture:
RequestFuture<JSONObject> future = RequestFuture.newFuture(); JsonObjectRequest request = new JsonObjectRequest(URL, new JSONObject(), future, future); requestQueue.add(request); try { JSONObject response = future.get(); // this will block } catch (InterruptedException e) { // exception handling } catch (ExecutionException e) { // exception handling }
Dieser Code erstellt ein RequestFuture-Objekt, initialisiert eine JsonObjectRequest, fügt sie der Anforderungswarteschlange hinzu und blockiert dann die Funktion „future.get()“ Rufen Sie an, bis die Antwort verfügbar ist. Dadurch kann die Rückrufausführung synchron innerhalb des vorhandenen Hintergrundthreads erfolgen.
Das obige ist der detaillierte Inhalt vonWie führe ich synchrone Volley-Anfragen in einem Hintergrundthread durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!