2017-07-30 2 views
-3

MainActivity:Volley onResponse android ne fonctionne

RequestQueue requestQueue; 
String url = "http://andriodtest.eb2a.com/show.php"; 
TextView textView; 
ListView listView; 

@Override 
protected void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 

    textView = (TextView) findViewById(R.id.TextView); 

requestQueue = Volley.newRequestQueue(this); 
JsonObjectRequest jsonObjectRequest = new JsonObjectRequest(Request.Method.GET, url, 
     new Response.Listener<JSONObject>() { 
      @Override 
      public void onResponse(JSONObject response) { 
       Toast.makeText(MainActivity.this, response.toString(), Toast.LENGTH_LONG).show(); 

       try { 
        JSONArray jsonArray = response.getJSONArray("users"); 
        for (int i = 0; i < jsonArray.length(); i++) { 
         JSONObject respons = jsonArray.getJSONObject(i); 
         String id = respons.getString("id"); 
         String info = respons.getString("name"); 
         textView.append(id); 
        } 
       } catch (JSONException e) { 
        e.printStackTrace(); 
       } 

      } 

     }, new Response.ErrorListener() { 
    @Override 
    public void onErrorResponse(VolleyError error) { 
     Log.e("VOLLEY", "ERROR"); 
    } 
} 

); 
requestQueue.add(jsonObjectRequest); 

Exécuté application aucune donnée appelé et fichier config est un travail 100%.

example

Et si elle est définie Textview = "text" fonctionne pas.

Je pense que le problème est public void onResponse. S'il vous plaît aidez-moi important

+1

Votre backend PHP ne donne pas JSON mais un HTML brut. – Enzokie

Répondre

0

Votre code semble bien, mais il semble que la réponse de votre serveur ne renvoie pas un objet json, mais plutôt un fichier javascript pour définir un cookie (vous pouvez essayer votre URL avec Postman pour regarder le javascript réponse que je mentionne). Volley s'attend à recevoir une réponse de JSON et cela peut être la raison pour laquelle votre application ne fonctionne pas comme prévu.

J'essaierais probablement de changer la façon dont le serveur répond. Le lien suivant a quelques suggestions pour résoudre ce problème: Why I can't retrieve data from my webserver as json but i can when i test it on localhost