Demande synchrone avec Volley dans un thread en arrière-plan
Dans un Service avec un thread en arrière-plan existant, il peut être souhaitable d'effectuer une requête synchrone en utilisant Volée. Cela évite la création de threads inutiles et garantit l'exécution de rappels au sein du même thread.
Pour réaliser des requêtes synchrones, Volley fournit la classe RequestFuture. Voici un exemple de requête JSON HTTP GET synchrone utilisant 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 }
Ce code crée un objet RequestFuture, initialise un JsonObjectRequest, l'ajoute à la file d'attente des requêtes, puis bloque le future.get() appelez jusqu'à ce que la réponse soit disponible. Cela permet à l'exécution du rappel de se produire de manière synchrone dans le thread d'arrière-plan existant.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!