Je télécharge un fichier JSON volumineux à partir d'une API, puis je l'écris dans un fichier. Pour obtenir le JSON, j'utilise une classe VolleySingleton et ma méthode GET;Volley GET Demande de l'application de blocage
public void sendJSONRequest(){
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET,
URL,
(String) null,
new Response.Listener<JSONObject>() {
@Override
public void onResponse(JSONObject response) {
Toast.makeText(getContext(), response.toString(), Toast.LENGTH_SHORT).show();
}
}, new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
}
});
mRequestQueue.add(jsonObjectRequest);
}
Mais quand je l'appelle sendJSONRequest() sur la méthode OnCreate de mon activité mes gels app et cesser de travailler, vous aurez une option pour fermer l'application ou attendre, je pensais que Volley était asynchrone, que suis-je mal faire?
Si vous chargez probablement le contenu de texte volumineux dans un Toast, l'interface utilisateur sera gelée. La requête est asynchrone. L'onResponse ne l'est pas. –
postez votre code. –