IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Android Discussion :

Volley, JsonRequest, problème d'affichage du résultat


Sujet :

Android

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre à l'essai
    Homme Profil pro
    Étudiant
    Inscrit en
    Octobre 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Octobre 2014
    Messages : 3
    Par défaut Volley, JsonRequest, problème d'affichage du résultat
    Bonjour a tous,

    J'essaie d'accéder aux données de json via Android en utilisant Volley Library, et pour le backend du serveur web, j'ai utilisé python. Voici mon code côté serveur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    def showAndroid(request):
        users=User.objects.all()
        data = serializers.serialize('json', users, fields=('nom', 'prenom', 'postnom', 'mail'))
        return HttpResponse(data, content_type='application/json')
    Lorsque j’accède à l'URL, j'obtiens le résultat suivant:

    Nom : json_response.PNG
Affichages : 590
Taille : 17,1 Ko

    Et voici mon code dans Android studio:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
     
    package com.example.lislis.mesexercices;
     
    import android.support.v7.app.AppCompatActivity;
    import android.os.Bundle;
    import android.view.View;
    import android.widget.Button;
    import android.widget.EditText;
    import android.widget.TextView;
    import android.widget.Toast;
     
    import com.android.volley.Request;
    import com.android.volley.RequestQueue;
    import com.android.volley.Response;
    import com.android.volley.VolleyError;
    import com.android.volley.toolbox.JsonObjectRequest;
    import com.android.volley.toolbox.Volley;
     
    import org.json.JSONArray;
    import org.json.JSONException;
    import org.json.JSONObject;
     
    public class UserJson extends AppCompatActivity {
    EditText nom,prenom,postnom,email;
    Button ajouter,voir;
        TextView list;
    RequestQueue requestQueue;
    String insertUrl="http://192.168.1.14:8000/webservices/insert-users/";
        String showUrl="http://192.168.1.14:8000/webservices/afficher-users/";
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.user_json);
            nom=(EditText)findViewById(R.id.nom);
            prenom=(EditText)findViewById(R.id.prenom);
            postnom=(EditText)findViewById(R.id.postnom);
            email=(EditText)findViewById(R.id.email);
            ajouter=(Button) findViewById(R.id.ajouter_user);
            voir=(Button)findViewById(R.id.afficher_users);
            list=(TextView)findViewById(R.id.list_users);
     
            requestQueue= Volley.newRequestQueue(this);
     
            voir.setOnClickListener(new View.OnClickListener() {
                @Override
                public void onClick(View v) {
                    JsonObjectRequest jsonObjectRequest=new JsonObjectRequest(Request.Method.GET, showUrl, new Response.Listener<JSONObject>() {
                        @Override
                        public void onResponse(JSONObject response) {
                            try {
                                JSONArray users=response.getJSONArray("data");
                                for(int i=0;i<users.length();i++)
                                {
                                    JSONObject user=users.getJSONObject(i);
                                    String fname=user.getString("prenom");
                                    String lname=user.getString("nom");
                                    String mname=user.getString("postnom");
                                    String mail=user.getString("mail");
                                    list.append(fname+" "+lname+" "+mname+" "+mail+"\n");
                                    System.out.println("Tototo\n"+fname+" "+lname+" "+mname+" "+mail+"\n");
                                }
                                list.append("===\n=");
                            } catch (JSONException e) {
                                e.printStackTrace();
                            }
     
                        }
                    }, new Response.ErrorListener() {
                        @Override
                        public void onErrorResponse(VolleyError error) {
     
                        }
                    });
                    requestQueue.add(jsonObjectRequest);
                }
            });
        }
    }
    Mais lorsque je clique sur le bouton pour afficher les données JSON, dans mon moniteur de serveur django, je peux voir une requête GET réussie avec un code d'état 200:

    Pièce jointe 312234
    Mais pour tester si tout va bien dans le serveur, j'ai essayé de créer un seul fichier HTML avec une requête Ajax et j'ai copié le fichier sur un autre ordinateur dans mon même WLAN, j'accede a json sans problème. Y a-t-il un problème avec mon code source?

    Merci d'avance
    Images attachées Images attachées  

Discussions similaires

  1. Problème d'affichage de résultat
    Par tunis71187 dans le forum Reports
    Réponses: 2
    Dernier message: 21/02/2011, 08h55
  2. [MySQL] Petit problème d'affichage de résultats
    Par lukyVJ dans le forum PHP & Base de données
    Réponses: 5
    Dernier message: 27/01/2011, 11h24
  3. [PHP 4] Problème d'affichage de résultat
    Par fraisa1985 dans le forum Langage
    Réponses: 1
    Dernier message: 15/06/2009, 19h16
  4. problème d'affichage du résultat dans une classe qui utilise SNMP
    Par ramzouni dans le forum Débuter avec Java
    Réponses: 0
    Dernier message: 22/05/2009, 01h26
  5. Problème d'affichage du résultat
    Par cirtey dans le forum C
    Réponses: 6
    Dernier message: 24/02/2007, 19h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo