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

Composants graphiques Android Discussion :

Problème d'affichage de donnée d'une ArrayList dans une ListView


Sujet :

Composants graphiques Android

  1. #41
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    D'accord, donc pour toi je ne sais pas coder ?

    Non mais en fait, j'en ai juste marre de cette application au final, c'est surtout ça.
    Depuis que je suis dessus..
    Tu sais, je sais coder, pas comme un expert mais je sais me débrouiller, sinon autant que je reste à rien faire de ma vie au chômage tant qu'on y est.
    Je pose certes des questions qui te laisses à pensée ça, mais je préfère être sur la même longueur d'onde, surtout que j'ai jamais traité de JSON en Java.
    Donc pour moi, j'en profite, c'est un apprentissage.

    Quand je demande ce que ça fait, c'est que certaines fonctions universelles que je ne connais pas par exemple, j'aimerais bien savoir ce qu'elles font, je comprends le code, mais c'est comme un code non commenté et documenté, tu ne comprends pas forcément ce qui est fait.
    En plus, j'adore apprendre d'avantage, et j'apprends beaucoup avec les autres, donc tout le savoir que l'on me transmet, je le prends.
    ça, et même une simple idée, comprendre le raisonnement des autres par exemple.

    Je finis ça dans la matinée, et je montre ce que j'ai dans mon code, si je bloque toujours sur certains points.
    Merci pour l'aide et les conseils en tous les cas.
    Je compte bien la terminer cette application

  2. #42
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Citation Envoyé par eristoff72
    D'accord, donc pour toi je ne sais pas coder ?
    Toujours sans vouloir être méchant, lorsque tu dis que tu changes le type d'un attribut, mais que tu ne comprends pas pourquoi tu as ensuite des erreurs sur les accesseurs et que tu indiques que tu les change "parce que", oui, cela me fait penser que tu as des soucis avec des notions basiques.
    Je n'ai pas dit que tu ne savais pas développer, relis-moi. Je ne t'ai pas non plus de t'arrêter et de complètement laisser tomber. Je te conseille de souffler un brin et de reprendre les bases, autant du Java que que JSON. De mon point de vue, c'est le mieux pour toi pour pouvoir ensuite avancer. En faisant ça, tu devrais mieux comprendre ce que tu fais, mieux comprendre que qui t'es expliqué, et donc plus avancer sur ton application.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #43
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Revoir les bases c'est pas non plus ce que je fais là au passage ?
    Parce que si c'est pour lire Java pendant 6 mois, je veux bien me passer de tes conseils.
    J'apprends personnellement par la pratique, je pense être assez grand et avoir assez de recul pour savoir ça.
    Je ne pense pas que les entreprises en ont quelque chose à faire que tu es lu un cour sur un site de MOOC, ils veulent du concret, et ce test était un test d'embauche, si tu sais faire ça, tu sais faire plus ou moins ce que tu veux.
    Je viens ici pour trouver des solutions à mes problèmes et échanger, pas que l'on me dise quoi faire plutôt qu'une autre pour clore le topic.

    Surtout les bases, Hephaistos007 l'a dit, ça met deux heures à faire une application comme ça, si je ne pratique pas, comment tu veux que j'acquière les bases ?
    Là, je veux bien que tu m'expliques, je pense ne pas être le seul à vouloir savoir comment tu fais.

  4. #44
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Ca me chagrine que tu le prennes aussi mal, vu que je ne fais que te conseiller pour t'améliorer.
    Tu fais les modifications que nous t'indiquons, ou que ton IDE t'indique, mais tu ne saisis pas leur sens alors qu'elles sont très basiques, ce qui me fait te conseiller de voir tranquillement les bases.

    Si tu fonctionnes par la pratique, pas de problème, chacun à son propre fonctionnement et je ne juge en rien. Fais des petits logiciels standard pour débuter (hello world, jeu de "deviner le chiffre", un pendu...).

    Citation Envoyé par eristoff72
    Revoir les bases c'est pas non plus ce que je fais là au passage ?
    Pour être complètement honnête : oui, c'est ce que tu fais, mais je n'ai pas l'impression que tu les aies. Ce n'est pas vraiment les revoir, mais les voir. Je le répète, mais quelqu'un qui change le type d'un attribut et qui ne saisi pas pourquoi il y a des erreurs sur les accesseurs a, pour moi, a un sérieux problème au niveau de sa connaissance des bases (ce n'est en rien contre toi, je ne souhaite pas t'enfoncer, je ne fais que t'aider et te conseiller, je ne tiens pas de discours "arrête la programmation").

    Après, si tu ne souhaites pas de conseil sur tes connaissance, mais que tu ne comprends pas ce que nous te suggérons, ni leurs raisons, il est tout a fait possible que nous n'expliquions pas assez, ou mal, ou que tu n'aies pas les bases requises pour comprendre. Trouvant les explications d'Hephaistos007 (vu que c'est principalement lui qui t'aide) assez claire et détaillée, ainsi qu'à la portée d'un néophyte possédant les bases en programmation, je penche pour la seconde hypothèse.

    À titre personnel, la seule manière dont j'envisage de fermer un sujet est par sa résolution, d'où mes conseils. Je ne souhaite pas verrouiller ce sujet ou te virer de ce sous-forum.

    Bref, Hephaistos007 t'a répondu sur tes derniers soucis :
    Citation Envoyé par Hephaistos007
    Capture d'écran 1 : tu ne donnes pas les bons paramètres à ton constructeur
    Capture d'écran 2 : le code doit être placé dans la boucle (d'ailleurs je l'ai modifié si tu regardes bien mon précédent message)

    Quant à setRecordTimestamp() c'est le nom que j'ai supposé être ton setter sur le champs time de ton POJO.
    Tu devrais donc normalement être débloqué sur ceux-ci.
    Au niveau de la capture 1, je rajouterai de comprendre comment requêter le JSON, et de t'attarder sur sa structure, car record.getDouble("coordonnees_[]") va te poser pas mal de souci par rapport à ton JSON et ce que tu souhaites faire. La méthode getDouble, comme son nom l'indique, va te renvoyer un double alors que tu veux un tableau de doubles (double[]). De plus, dans le JSON, "coordonnees" correspond à un tableau, pas à un double. Tu es sur la bonne voie en remarquant les caractères [], qui symbolisent en JSON un tableau (voir la doc JSON). Par contre, pour le récupérer, il faut que tu passes par la méthode getJsonArray, que tu devras ensuite transformer en tableau de doubles pour le passer au constructeur de ton objet "Musee". Pour se faire, tu devras parcourir ton JsonArray pour ensuite le transformer en tableau de double (ce que ta classe Musee attend).
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #45
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Pour répondre à ton commentaire: "mais quelqu'un qui change le type d'un attribut et qui ne saisi pas pourquoi il y a des erreurs sur les accesseurs a, pour moi, a un sérieux problème au niveau de sa connaissance des bases"

    -Quand je change le type d'une de mes variables, c'est normal qu'il y ait une erreur dans mes accesseurs si je ne change pas le type, cela va de soit.. Pas besoin d'être un génie pour comprendre ça, mis à part certaine erreur qui sont cacher ou qui peuvent venir du compilateur, gradle par exemple qui m'a déjà posé quelques soucis

    Hephaistos007
    Pour la capture d'écran 1:

    j'avais déjà résolu le problème, ils ne venaient pas des paramètres dans MuseeActivity mais dans la Class Musee.
    Voilà un screen de ce que ça donne: http://prntscr.com/du7tcm
    Je n'ai plus qu'a voir qu'a trouver le problème pour la parenthèse en bas du screen.

    Pour le deuxième capture d'écran:

    J'ai aussi résolu le problème, c'est bien ce que je pensais, par contre, plutôt que d'auto générer et crée un setter juste pour résoudre ce soucis, je voulais savoir si le problème venait bien de là (un setter en moins dans ma class Musee).

    Là je résouds le problème avec les deux tableaux, "coordonnees" et "coordinates".

    Ce que tu me dis "Hizin" reviens au même procéder que pour ma date sauf que là, c'est pour un tableau ? Ou un ArrayList, non ?

  6. #46
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    J'ai réussi à résoudre l'erreur que j'avais dans ma fonction writeToParcel

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dest.writeDouble(this.coordonnees_ = coordonnees_);
    par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    dest.writeDoubleArray(this.coordonnees_ = coordonnees_);
    En regardant cette doc, qui peut servir à certains au passage : https://developer.android.com/refere...os/Parcel.html

    Mais là, je me demande si ça a vraiment résolu mon problème ?

  7. #47
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    Les captures d'écrans m'ont littéralement achevé : tu ne sais PAS programmer en Java. Je m'en doutais mais maintenant c'est confirmé.

    Cela expliques pourquoi, moi ou Hizin, ne pouvons pas t'aider malgré nos efforts. Ces 3/4 fils de discussions ouverts ne mènent à rien et tournent en boucle. C'est un forum d'entraide sur des points de blocage précis, pas un cours particulier complet Java + Android + JSON. Il en va ainsi pour tous les forums. Sur StackOverflow (puisque tu voulais connaître un autre forum), tes posts auraient déjà été effacés depuis longtemps car il n'y a pas de questions précises : absolument tout est un problème pour toi. Ca en devient risible.

    C.Q.F.D
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  8. #48
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Eristoff72 : Prend ça pour du jugement si tu le veux, mais c'est ce que je te dis depuis quelques messages à présent.
    Ici, en faisant une application Android sur une consommation de JSON d'un WS REST, tu n'attaques absolument pas ce que j'appellerai "bases", mais plutôt une utilisation "avancée", donc requérant d'être à l'aise avec les bases.
    Les bases pour Android étant :
    - le langage Java : sa logique, les classes, sa nomenclature, son écriture, l'héritage
    - le langage XML : sa logique, sa nomenclature
    - de la théorie : notion de multi thread, d'accès réseau, programmation évènementielle

    Android n'est pas une plateforme simple pour un néophyte (il n'y a pas de sous-entendu dans cette phrase par rapport à ton niveau) de mon point de vue. Elle demande d'être à l'aise en programmation, ainsi qu'avec des concepts qui sont souvent abstrait (programmation évènementielle, programmation parallèle...) sans parler de la gestion particulière des cycles de vie des écrans et du parc très hétérogène.

    Pour Hephaistos007 et moi, ton souci est précis. Nous ne le situons pas au même niveau que toi : tu as un souci au niveau de la connaissance des bases. Alors, réellement, pour que nous puissions t'aider sans avoir besoin de réaliser de cours particulier, pourrais-tu, s'il te plaît, faire un break et passer quelques jours sur les bases de Java, de la programmation orientée objet, du JSON... ?
    Pour rappel, nous sommes des bénévoles qui prenons sur notre temps libre pour répondre aux sujets.

    Citation Envoyé par eristoff72
    Ce que tu me dis "Hizin" reviens au même procéder que pour ma date sauf que là, c'est pour un tableau ? Ou un ArrayList, non ?
    Alors... oui dans l'idée, mais non dans la réalisation.
    Oui dans l'idée car tu auras une passe d'indirection qui transformera ce que tu récupères de ton JSON en donnée exploitable. Non dans la réalisation car ce n'est pas un SimpleDateFormat qu'il faudra utiliser. Et, au vu de ton code, ça a l'air d'être pour un tableau.
    Juste au cas où : je ne te prends pas pour un con, je fais une réponse exhaustive
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  9. #49
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    "Prend ça pour du jugement si tu le veux, mais c'est ce que je te dis depuis quelques messages à présent."
    Je ne le prend pas comme ça, c'est juste un fait.

    Pour le "SimpleDateFormat" je suis bien au courant qu'il ne s'agira pas de ça...
    On est sur un tableau de String donc aucune cohérence.

    "Alors... oui dans l'idée, mais non dans la réalisation."


    C'était bien dans mon idée alors.
    Je vais essayer ça, merci.

    Quand au base du JAVA je les ai déjà vue, j'ai déjà fait une formation, et développer, ce n'est pas connaitre un langage par coeur, c'est rechercher, et c'est ce que je fais.
    à un moment, il faut bien passer par la pratique, et ce test est un très bon test, donc inutile de retourner 50 fois sur des cours, comme je t'ai dit, à un moment il faut bien passer à la pratique.

  10. #50
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Je montre un peu ce que j'ai fais pour le moment dans ma classe MuseeActivity.

    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
     
                    JSONArray concepts = new JSONObject(stream).getJSONArray("records");
                    for (int i = 0; i < concepts.length(); ++i) {
                        JSONObject record = concepts.getJSONObject(i);
                        String dateStr;
                        fetchedData.add(new Musee(
                                record.getString("datasetid"),
                                record.getString("recordid"),
                                record.getString("fields"),
                                record.getString("periode_ouverture"),
                                record.getString("nom_du_musee"),
                                record.getString("adr"),
                                record.getString("ville"),
                                record.getString("nomreg"),
                                record.getString("ferme"),
                                record.getDouble("coordonnees_"),
                                record.getInt("cp"),
                                record.getString("nomdep"),
                                record.getString("type"),
                                record.getDouble("coordinates"),
                                record.getString("record_timestamp"),
                                String dateStr = record.getString("record_timestamp");
                        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss'Z'");
                        sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
                        Date museeTime = sdf.parse(dateStr);
     
                        //on utilise notre class Musee et son constructeur avc ses paramètres
                        Musee m = new Musee();
                        m.setRecordTimestamp(museeTime);
     
                        //puis ici les autres setters
                        fetchedData.add(m); //objet ajouté à l'ArrayList
     
                        JSONArray jsonarray = new JSONArray("coordonnees_");
                        for (i = 0; i < jsonarray.length(); i++) {
                            JSONObject jsonobject = jsonarray.getJSONObject(i);
                            String coordonnees_ = jsonobject.getString("coordonnees_");
                            String coordinates = jsonobject.getString("coordinates");
                            fetchedData.add(m);
                        }
                        ));
                    }
    J'ai voulu parser mes deux tableaux en "coordonnees_" et "coordinates" pour les récupérer, suis-je sur la bonne voie ?
    Oui je pose cette question pour être sur une bonne longueur d'onde.

  11. #51
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    Par défaut
    Citation Envoyé par eristoff72
    Et pour moi, parser un tableau de JSON en JAVA, ça ne fait pas partie de bases, mais de la pratique.
    Si tu lis bien : pour moi non plus.


    Pour ta question : je te dirai que le meilleur moyen de le savoir est de tester, quitte à y aller en pas à pas avec le débogueur.
    Tu vas avoir de gros soucis de compilation par contre au vu de ton code actuel.
    Je te suggère de commenter/supprimer la partie "fetchedData.add[...]", qui est un non-sens complet, vu que tu assignes des valeurs et fais des opérations dans la méthode "add" (d'où le problème de parenthèse que tu as... et qui m'amène à la conclusion précédente) et ne conserver, pour le moment, que la création de la classe Musee, ainsi que les traitements que tu as commencé à réaliser pour adapter les valeurs (en mettant ceux-ci *avant* la construction de ton objet Musee, vu que tu les traites pour le créer, justement ).
    La... tu tentes de créer un musée, en traitant les données à transformer dans la méthode "add", après avoir créé ton musée, puis tu en crées un second, dans lequel tu set le timestamp, avant de traiter les coordonnées avec lesquelles tu ne fais (pour le moment) rien. Si ce code fonctionnait, chaque musée serait dédoublé dans ta list, et chacun n'aurait qu'une partie des informations.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  12. #52
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Justement, je ne vois pas comment debogger sur Android Studio et en dev Android, comparer à d'autres IDE sur NetBeans pour une simple application lourde JAVA par exemple, tu peux debogger assez facilement en console, mais là..
    je dois passer juste à côté, je n'ai pas pris le temps de regarder en détails encore.
    C'est justement une habitude que j'ai de debogger à chaque fois mon code étape, par étape pour le tester.

    "Je te suggère de commenter/supprimer la partie "fetchedData.add[...]"" .

    Tu parles de ce "" là :

    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
     
    //on utilise notre class Musee et son constructeur avc ses paramètres
                        Musee m = new Musee();
                        m.setRecordTimestamp(museeTime);
     
                        //puis ici les autres setters
                        fetchedData.add(m); //objet ajouté à l'ArrayList
     
                        JSONArray jsonarray = new JSONArray("records");
                        for (i = 0; i < jsonarray.length(); i++) {
                            JSONObject jsonobject = jsonarray.getJSONObject(i);
                            String coordonnees_ = jsonobject.getString("coordonnees_");
                            String coordinates = jsonobject.getString("coordinates");
                            fetchedData.add(m);
                        }
                        ));
    ?

    "La... tu tentes de créer un musée, en traitant les données à transformer dans la méthode "add", après avoir créé ton musée, puis tu en crées un second, dans lequel tu set le timestamp, avant de traiter les coordonnées avec lesquelles tu ne fais (pour le moment) rien. Si ce code fonctionnait, chaque musée serait dédoublé dans ta list, et chacun n'aurait qu'une partie des informations. "

    Oui, c'est un peu ce que je me disais, comme ça j'ai posé l'idée, mais après voir comment je vais l'écrire.

    En gros, je reprend le code avec un commentaire au dessus, que ce soit plus explicite:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
                        //Je crée un nouveau tableau pour chaque champs "oordonnees_" et "coordinates" dans chaque objet musée
                        JSONArray jsonarray = new JSONArray("records");
                        for (i = 0; i < jsonarray.length(); i++) {
                            JSONObject jsonobject = jsonarray.getJSONObject(i);
                            String coordonnees_ = jsonobject.getString("coordonnees_");
                            String coordinates = jsonobject.getString("coordinates");
                            fetchedData.add(m);
                        }
                        ));

  13. #53
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Salut,

    Une solution plus simple consiste à utiliser des librairies OpenSource. Par exemple:
    OkHttp: pour la connexion au WebService, et le téléchargement du JSon
    Gson: pour transformer le JSon en objet Java.

    J'ai rapidement programmé ces 2 actions dans le onCreate d'une Activity, et ça donne ça:

    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
     
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.activity_main);
     
            // l'url du web service
            String urlopendata = "https://opendata.paris.fr/api/records/1.0/search/?dataset=liste-musees-de-france-a-paris&rows=50&pretty_print=true";
            // Préparation d'un objet OkHttp
            OkHttpClient client = new OkHttpClient();
     
            Request request = new Request.Builder()
                    .url(urlopendata)
                    .build();
     
            // ici, on lance une requête http asynchrone, pour ne pas bloquer le thread principal
            client.newCall(request).enqueue(new Callback() {
                @Override
                public void onFailure(Call call, IOException e) {
                    e.printStackTrace();
                }
     
                @Override
                public void onResponse(Call call, okhttp3.Response response) throws IOException {
                    // quand le json est téléchargé, cette méthode est exécutée...
                    if (!response.isSuccessful()) {
                        throw new IOException("Unexpected code " + response);
                    }
                    else{
                        // et ici, on récupère le JSON
                        String json=response.body().string();
                        Log.d(TAG, "onResponse: "+json);
                        // parsing du json avec la librairie Gson
                        // construire un objet Response
                        Gson gson = new Gson();
                        // Ici, Response est un POJO(Plain Old Java Object!) qui est construit
                        // à partir de la chaine Json téléchargée. C'est le résultat de la 
                        // transormation de la chaine JSonen objet Java.
                        // La classe correspondante est construire automatiquement, avec la commande
                        // GSonFormat, fournie par la librairie Gson
                        Response reponse = gson.fromJson(json, Response.class);
                        Log.d(TAG, "afficherResultats: " + reponse.toString());
                        // lister le nom des musée
                        List <Response.RecordsBean> musees=reponse.getRecords();
                        Log.d(TAG, "Nb de musées "+musees.size());
                        for(Response.RecordsBean m:musees){
                            Response.RecordsBean.FieldsBean bean=m.getFields();
                            Log.d(TAG, "onResponse: /"+bean.getNom_du_musee());
                        }
                    }
                }
            });
        }// onCreate
    Le code de la classe Response, créé automatiquement avec la commande GSonFormat
    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
     
    public class Response {
     
     
     
        private int nhits;
        private ParametersBean parameters;
        private List<RecordsBean> records;
     
        public int getNhits() {
            return nhits;
        }
     
        public void setNhits(int nhits) {
            this.nhits = nhits;
        }
     
        public ParametersBean getParameters() {
            return parameters;
        }
     
        public void setParameters(ParametersBean parameters) {
            this.parameters = parameters;
        }
     
        public List<RecordsBean> getRecords() {
            return records;
        }
     
        public void setRecords(List<RecordsBean> records) {
            this.records = records;
        }
     
        public static class ParametersBean {
            /**
             * dataset : ["liste-musees-de-france-a-paris"]
             * timezone : UTC
             * rows : 50
             * format : json
             * pretty_print : true
             */
     
            private String timezone;
            private int rows;
            private String format;
            private boolean pretty_print;
            private List<String> dataset;
     
            public String getTimezone() {
                return timezone;
            }
     
            public void setTimezone(String timezone) {
                this.timezone = timezone;
            }
     
            public int getRows() {
                return rows;
            }
     
            public void setRows(int rows) {
                this.rows = rows;
            }
     
            public String getFormat() {
                return format;
            }
     
            public void setFormat(String format) {
                this.format = format;
            }
     
            public boolean isPretty_print() {
                return pretty_print;
            }
     
            public void setPretty_print(boolean pretty_print) {
                this.pretty_print = pretty_print;
            }
     
            public List<String> getDataset() {
                return dataset;
            }
     
            public void setDataset(List<String> dataset) {
                this.dataset = dataset;
            }
        }
     
        public static class RecordsBean {
            /**
             * datasetid : liste-musees-de-france-a-paris
             * recordid : df4e8d92d3ab3a7f43785986fe9a91a421ad9844
             * fields : {"periode_ouverture":"Ouvert du 2 mai au 15 juin de 14h à 17h et du 15 juin au 15 septembre de 10h à 12h et de 14h à à 18h du mercredi au lundi, du 15 septembre au 15 octobre de 14h à 17h du mercredi au lundi","nom_du_musee":"Musée de la Chartreuse","adr":"4, Cour des Chartreux","ville":"MOLSHEIM","nomreg":"ALSACE","ferme":"NON","coordonnees_":[48.54278,7.49023],"sitweb":"www.chartreuse-molsheim.info","cp":67120,"nomdep":"BAS-RHIN"}
             * geometry : {"type":"Point","coordinates":[7.49023,48.54278]}
             * record_timestamp : 2016-09-02T13:08:03+00:00
             */
     
            private String datasetid;
            private String recordid;
            private FieldsBean fields;
            private GeometryBean geometry;
            private String record_timestamp;
     
            public String getDatasetid() {
                return datasetid;
            }
     
            public void setDatasetid(String datasetid) {
                this.datasetid = datasetid;
            }
     
            public String getRecordid() {
                return recordid;
            }
     
            public void setRecordid(String recordid) {
                this.recordid = recordid;
            }
     
            public FieldsBean getFields() {
                return fields;
            }
     
            public void setFields(FieldsBean fields) {
                this.fields = fields;
            }
     
            public GeometryBean getGeometry() {
                return geometry;
            }
     
            public void setGeometry(GeometryBean geometry) {
                this.geometry = geometry;
            }
     
            public String getRecord_timestamp() {
                return record_timestamp;
            }
     
            public void setRecord_timestamp(String record_timestamp) {
                this.record_timestamp = record_timestamp;
            }
     
            public static class FieldsBean {
                /**
                 * periode_ouverture : Ouvert du 2 mai au 15 juin de 14h à 17h et du 15 juin au 15 septembre de 10h à 12h et de 14h à à 18h du mercredi au lundi, du 15 septembre au 15 octobre de 14h à 17h du mercredi au lundi
                 * nom_du_musee : Musée de la Chartreuse
                 * adr : 4, Cour des Chartreux
                 * ville : MOLSHEIM
                 * nomreg : ALSACE
                 * ferme : NON
                 * coordonnees_ : [48.54278,7.49023]
                 * sitweb : www.chartreuse-molsheim.info
                 * cp : 67120
                 * nomdep : BAS-RHIN
                 */
     
                private String periode_ouverture;
                private String nom_du_musee;
                private String adr;
                private String ville;
                private String nomreg;
                private String ferme;
                private String sitweb;
                private int cp;
                private String nomdep;
                private List<Double> coordonnees_;
     
                public String getPeriode_ouverture() {
                    return periode_ouverture;
                }
     
                public void setPeriode_ouverture(String periode_ouverture) {
                    this.periode_ouverture = periode_ouverture;
                }
     
                public String getNom_du_musee() {
                    return nom_du_musee;
                }
     
                public void setNom_du_musee(String nom_du_musee) {
                    this.nom_du_musee = nom_du_musee;
                }
     
                public String getAdr() {
                    return adr;
                }
     
                public void setAdr(String adr) {
                    this.adr = adr;
                }
     
                public String getVille() {
                    return ville;
                }
     
                public void setVille(String ville) {
                    this.ville = ville;
                }
     
                public String getNomreg() {
                    return nomreg;
                }
     
                public void setNomreg(String nomreg) {
                    this.nomreg = nomreg;
                }
     
                public String getFerme() {
                    return ferme;
                }
     
                public void setFerme(String ferme) {
                    this.ferme = ferme;
                }
     
                public String getSitweb() {
                    return sitweb;
                }
     
                public void setSitweb(String sitweb) {
                    this.sitweb = sitweb;
                }
     
                public int getCp() {
                    return cp;
                }
     
                public void setCp(int cp) {
                    this.cp = cp;
                }
     
                public String getNomdep() {
                    return nomdep;
                }
     
                public void setNomdep(String nomdep) {
                    this.nomdep = nomdep;
                }
     
                public List<Double> getCoordonnees_() {
                    return coordonnees_;
                }
     
                public void setCoordonnees_(List<Double> coordonnees_) {
                    this.coordonnees_ = coordonnees_;
                }
            }
     
            public static class GeometryBean {
                /**
                 * type : Point
                 * coordinates : [7.49023,48.54278]
                 */
     
                private String type;
                private List<Double> coordinates;
     
                public String getType() {
                    return type;
                }
     
                public void setType(String type) {
                    this.type = type;
                }
     
                public List<Double> getCoordinates() {
                    return coordinates;
                }
     
                public void setCoordinates(List<Double> coordinates) {
                    this.coordinates = coordinates;
                }
            }
        }
    }
    Et enfin, pour importer les librairies dans build.gradle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    compile 'com.google.code.gson:gson:2.2.4'
    compile 'com.squareup.okhttp3:okhttp:3.5.0'

  14. #54
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Salut Philippe PONS,

    Merci pour ta réponse, j'étais justement sur la même chose, j'étais sur un tutoriel ou je viens de découvrir GsonFormat le plugin GSON qui crée automatiquement ta class avec tes accesseurs et ton constructeur directement.
    ça te permet de voir si tu as tout les champs d'une API JSON.
    Je regarde ce que tu as fais et ce que je suis en train de faire en détails, c'est très intéressent.
    Je pense que ça pourrait aussi servir à d'autres, je vais partager ce que j'ai fais.

  15. #55
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Bonsoir,

    Pour ceux que ça intéresse, j'ai posté sur YouTube une vidéo qui montre l’utilisation
    des librairies OkHttp et Gson pour se connecter à un WebService, récupérer la réponse
    Json et la traiter.
    HTH
    https://youtu.be/yk_k-tiyQ5M

  16. #56
    Expert confirmé
    Avatar de Hephaistos007
    Profil pro
    Enseignant Chercheur
    Inscrit en
    Décembre 2004
    Messages
    2 493
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Décembre 2004
    Messages : 2 493
    Points : 4 166
    Points
    4 166
    Par défaut
    eristoff72, c'est noel avant l'heure pour toi ! Le tutoriel de M PONS est la solution exacte à ta problématique.
    Il vaut mieux mobiliser son intelligence sur des conneries que mobiliser sa connerie sur des choses intelligentes --- devise SHADOKS

    Kit de survie Android : mon guide pour apprendre à programmer sur Android, mon tutoriel sur les web services et enfin l'outil en ligne pour vous faire gagner du temps - N'oubliez pas de consulter la FAQ Android

  17. #57
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    J'ai vu son tutoriel mais j'ai déjà mon code, et j'ai trouvé GsonFormat avant qu'il commente.
    J'ai réutilisé GsonFormat en le trouvant sur ce tutoriel :

    Sauf qu'au lieu d'utiliser une ListView comme j'avais fait avant, j'ai décidé de réutiliser un TextView par champs pour me mettre un peu plus au défis.

    "eristoff72, c'est noel avant l'heure pour toi ! Le tutoriel de M PONS est la solution exacte à ta problématique. "

    Ou en retard quand on regarde que je cherchais la solution depuis le 24 décembre 2016.

    Pour le tutoriel c'est bien, mais inutile de récupérer un travail déjà fait, ça n'apporte rien dans l'apprentissage, j'en récupère juste certaines techniques qui peuvent être intéressante, comme ceux qui tombent sur ce topic.

  18. #58
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Je voulais savoir, je ne suis pas obliger d'utiliser qu'une ListView, je peux aussi utiliser un TextView pour tout affiché, comme j'avais fait avec le générateur?

    J'ai fais ça:

    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    import android.app.ListActivity;
    import android.app.ProgressDialog;
    import android.os.AsyncTask;
    import android.os.Bundle;
    import android.support.v7.app.AppCompatActivity;
    import android.util.Log;
    import android.view.LayoutInflater;
    import android.view.Menu;
    import android.view.MenuItem;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.AdapterView;
    import android.widget.AdapterView.OnItemClickListener;
    import android.widget.TextView;
    import android.widget.Toast;
     
    import com.google.android.gms.appdatasearch.GetRecentContextCall;
    import com.google.gson.Gson;
    import com.loopj.android.http.AsyncHttpClient;
    import com.loopj.android.http.AsyncHttpResponseHandler;
     
    import org.json.JSONArray;
    import org.json.JSONObject;
     
    import java.io.BufferedInputStream;
    import java.io.BufferedReader;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.net.HttpURLConnection;
    import java.net.URL;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.TimeZone;
     
    import cz.msebera.android.httpclient.Header;
     
     
    public class MuseeActivity extends AppCompatActivity {
     
        private static final String BASE_URL = "https://opendata.paris.fr/api/records/1.0/search/?dataset=liste-musees-de-france-a-paris&rows=50&pretty_print=true";
        public String dateInString;
        public String dateFormatString;
        TextView textList;
        MuseeJSON responseObj;
        CustomAdapter adapter1;
        Gson gson;
        AsyncHttpClient client;
     
        private MuseeAdapter adapter;
        private CustomAdapter listAdapter;
     
        @Override
        protected void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.each_list_item);
            textList = (TextView) findViewById(R.id.listeMusee);
            textList.setVisibility(View.INVISIBLE);
            this.adapter = new MuseeAdapter(this, android.R.layout.simple_list_item_1);
            this.setListAdapter(adapter1);
            //getListView().setOnItemClickListener(this);
            //final LayoutInflater textList = (TextView) findViewById(R.Layout.listeMusee);
            //On instancie notre client qui récupère la connexion au client http
            client = new AsyncHttpClient();
            client.get(MuseeActivity.this, BASE_URL, new AsyncHttpResponseHandler() {
                @Override
                public void onSuccess(int statusCode, Header[] headers, byte[] responseBody) {
                    String responsestr = new String(responseBody);
                    gson = new Gson();
                    responseObj = gson.fromJson(responsestr,MuseeJSON.class);
                    adapter1 = new CustomAdapter(MuseeActivity.this, responseObj.getRecords());
                    textList.setAdapter(adapter1);
                }
     
                @Override
                public void onFailure(int statusCode, Header[] headers, byte[] responseBody, Throwable error) {
     
                }
            });
     
        }
     
        public void setListAdapter(CustomAdapter listAdapter) {
            this.listAdapter = listAdapter;
        }
    }
    Et mon CustomAdapter:

    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
     
    import android.content.Context;
    import android.view.LayoutInflater;
    import android.view.View;
    import android.view.ViewGroup;
    import android.widget.BaseAdapter;
    import android.widget.TextView;
     
    import java.util.List;
     
    public class CustomAdapter extends BaseAdapter {
     
        private List<MuseeJSON.RecordsBean> mMuseeitem;
        private List<MuseeJSON.RecordsBean.FieldsBean> mMuseeFields;
        private List<MuseeJSON.RecordsBean.GeometryBean> mMuseeGeometry;
        private Context mContext;
        private LayoutInflater inflater;
        private int myItemLayout;
     
        public CustomAdapter(Context mContext, List<MuseeJSON.RecordsBean> mMuseeitem) {
            this.inflater = inflater;
            this.mContext = mContext;
        }
     
        public CustomAdapter(List<MuseeJSON.RecordsBean> mMuseeitem, List<MuseeJSON.RecordsBean.FieldsBean> mMuseeFields, List<MuseeJSON.RecordsBean.GeometryBean> mMuseeGeometry) {
            this.mMuseeitem = mMuseeitem;
            this.mMuseeFields = mMuseeFields;
            this.mMuseeGeometry = mMuseeGeometry;
        }
     
        @Override
        public int getCount() {
            return mMuseeitem.size();
        }
     
        public int getCountFields() {
            return mMuseeFields.size();
        }
     
        @Override
        public Object getItem(int position) {
            return mMuseeitem.get(position);
        }
     
        //Si on enlève le prefixe du chemin d'accès List<MuseeJSON.RecordsBean.FieldsBean> mMuseeFields on a besoin de cette fonction pour récupérer notre position
        /**public Object getItemFields(int position) {
            return mMuseeFields.get(position);
        }*/
     
        @Override
        public long getItemId(int position) {
            return 0;
        }
     
        public View getView(int position, View convertView, ViewGroup parent) {
            LayoutInflater inflater = (LayoutInflater) mContext.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
            View rowView = inflater.inflate(R.layout.each_list_item, parent, false);
            MuseeJSON.RecordsBean mMuseeitem = (MuseeJSON.RecordsBean) getItem(position);
            MuseeJSON.RecordsBean.FieldsBean mMuseeFields = (MuseeJSON.RecordsBean.FieldsBean) getItem(position);
            MuseeJSON.RecordsBean.GeometryBean mMuseeGeometry = (MuseeJSON.RecordsBean.GeometryBean) getItem(position);
     
            TextView tv0 = (TextView)rowView.findViewById(R.id.datasetid);
            tv0.setText(mMuseeitem.getDatasetid());
     
            TextView tv1 = (TextView)rowView.findViewById(R.id.recordid);
            tv1.setText(mMuseeitem.getRecordid());
     
            TextView tv2 = (TextView)rowView.findViewById(R.id.fields);
            tv2.setText((CharSequence) mMuseeitem.getFields());
     
            TextView tv3 = (TextView)rowView.findViewById(R.id.periode_ouverture);
            tv3.setText(mMuseeFields.getPeriode_ouverture());
     
            TextView tv4 = (TextView)rowView.findViewById(R.id.nom_du_musee);
            tv4.setText(mMuseeFields.getNom_du_musee());
     
            TextView tv5 = (TextView)rowView.findViewById(R.id.adresse);
            tv5.setText(mMuseeFields.getAdr());
     
            TextView tv6 = (TextView)rowView.findViewById(R.id.ville);
            tv6.setText(mMuseeFields.getVille());
     
            TextView tv7 = (TextView)rowView.findViewById(R.id.nomreg);
            tv7.setText(mMuseeFields.getNomreg());
     
            TextView tv8 = (TextView)rowView.findViewById(R.id.fermer);
            tv8.setText(mMuseeFields.getFerme());
     
            TextView tv9 = (TextView)rowView.findViewById(R.id.siteweb);
            tv9.setText(mMuseeFields.getSitweb());
     
            TextView tv10 = (TextView)rowView.findViewById(R.id.coordonnees);
            tv10.setText((CharSequence) mMuseeFields.getCoordonnees_());
     
            TextView tv11 = (TextView)rowView.findViewById(R.id.cp);
            tv11.setText(mMuseeFields.getCp());
     
            TextView tv12 = (TextView)rowView.findViewById(R.id.nomdepartement);
            tv12.setText(mMuseeFields.getNomdep());
     
            TextView tv13 = (TextView)rowView.findViewById(R.id.type);
            tv13.setText(mMuseeGeometry.getType());
     
            TextView tv14 = (TextView)rowView.findViewById(R.id.coordinates);
            tv14.setText((CharSequence) mMuseeGeometry.getCoordinates());
     
            TextView tv15 = (TextView)rowView.findViewById(R.id.record_timestamp);
            tv15.setText(mMuseeitem.getRecord_timestamp());
     
            return rowView;
        }
     
    }


    Et ma class MuseeJson qui n'est d'autres que ma classe générer par le plugin GsonFormat:

    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
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
     
    import java.util.List;
     
    /**
     * Created by Eric on 11/01/2017.
     */
     
    public class MuseeJSON {
     
        /**
         * nhits : 1280
         * parameters : {"dataset":["liste-musees-de-france-a-paris"],"timezone":"UTC","rows":50,"format":"json","pretty_print":true}
         * records : [{"datasetid":"liste-musees-de-france-a-paris","recordid":"df4e8d92d3ab3a7f43785986fe9a91a421ad9844","fields":{"periode_ouverture":"Ouvert du 2 mai au 15 juin de 14h à 17h et du 15 juin au 15 septembre de 10h à 12h et de 14h à à 18h du mercredi au lundi, du 15 septembre au 15 octobre de 14h à 17h du mercredi au lundi","nom_du_musee":"Musée de la Chartreuse","adr":"4, Cour des Chartreux","ville":"MOLSHEIM","nomreg":"ALSACE","ferme":"NON","coordonnees_":[48.54278,7.49023],"sitweb":"www.chartreuse-molsheim.info","cp":67120,"nomdep":"BAS-RHIN"},"geometry":{"type":"Point","coordinates":[7.49023,48.54278]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"27f6e26e565fe619627dc7e15249719878da43e2","fields":{"periode_ouverture":"Ouvert le lundi, mercredi au dimanche de 10h à 18h","nom_du_musee":"Musée Tomi Ungerer","adr":"Villa Greiner\n2, avenue de la Marseillaise","ville":"STRASBOURG","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"1er janvier, Vendredi Saint, 1er mai, 1er et 11 novembre, 25 décembre","coordonnees_":[48.585556,7.755619],"sitweb":"www.musees-strasbourg.eu","cp":67000,"nomdep":"BAS-RHIN"},"geometry":{"type":"Point","coordinates":[7.755619,48.585556]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"b9014115b948deb7b4157edbdcb0eeb6b6f783ca","fields":{"periode_ouverture":"Ouvert lundi, mercredi au dimanche de 10h à 18h","nom_du_musee":"Musée Alsacien","adr":"23-25, Quai Saint-Nicolas","ville":"STRASBOURG","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"1er janvier, vendredi saint, 1er mai, 1er et 11 novembre, 25 décembre","coordonnees_":[48.57862,7.748812],"sitweb":"www.musees-strasbourg.eu","cp":67000,"nomdep":"BAS-RHIN"},"geometry":{"type":"Point","coordinates":[7.748812,48.57862]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"c9a5a4fbd4a582e6b751e61ff77376c7591d91c4","fields":{"periode_ouverture":"Ouvert du 1er avril au 30 septembre de 10h à 19h et du 1er octobre au 31 mars de 14h à 18h (matin sur rdv)","nom_du_musee":"Musée J.F. Oberlin","adr":"25, Montée Oberlin","ville":"WALDERSBACH","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"1er janvier, vendredi Saint, dimanche de Pâques, 1er mai, dimanche de Pentecôte, 1er novembre, 24, 25, 31 décembre","coordonnees_":[48.414761,7.214894],"sitweb":"www.musee-oberlin.com","cp":67130,"nomdep":"BAS-RHIN"},"geometry":{"type":"Point","coordinates":[7.214894,48.414761]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"7a19693acd134f4b40e72c07c82d4154dcad0e57","fields":{"annreouv":"15 septembre 2007","periode_ouverture":"Ouvert de début mai au 2 octobre 2011 les vendredis, samedis de 14h à 17h, les dimanches de 14h à 18h\nSur rendez-vous toute l'année pour les groupes de 10 personnes et plus","nom_du_musee":"Musée de la Porte de Thann","adr":"1, Rue de Thann","ville":"CERNAY","nomreg":"ALSACE","sitweb":"http://histoire-cernay.perso.sfr.fr ou www.musees-alsace.org","fermeture_annuelle":"Du 24 décembre au 28 février","coordonnees_":[47.809504,7.174289],"ferme":"NON","cp":68700,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.174289,47.809504]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"83d89b72400bad59d19f9b0c72bddc5ac474ac19","fields":{"periode_ouverture":"Ouvert le lundi et du mercredi au vendredi de 14h à 18h, les week-ends et jours féris de 10h à 12h et de 14h à 18h","nom_du_musee":"Musée Théodore Deck et des Pays du Florival","adr":"1, Rue du Quatre Février","ville":"GUEBWILLER","nomreg":"ALSACE","ferme":"NON","coordonnees_":[47.905522,7.214504],"sitweb":"www.ville-guebwiller.fr/musee-deck/","cp":68500,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.214504,47.905522]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"0eac55ea83dd3c9ab2ab8692334e8c332d7e87bc","fields":{"periode_ouverture":"Ouvert du 1er juin au 31 octobre de 10h à 12h et de 14h à 18h, en mai les week-end et jours de fériés","nom_du_musee":"Musée du Vignoble et des Vins d'Alsace","adr":"Château de la Confrérie St-Etienne","ville":"KIENTZHEIM","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"Novembre à avril","sitweb":"www.musee-du-vignoble-alsace.fr","cp":68240,"nomdep":"HAUT-RHIN"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"c5244e567f06cf77ef34a114a173c7b1cad0b2a8","fields":{"periode_ouverture":"Ouvert du mercredi au lundi de 10h à 12h et de 14h à 18h, 18h30 en juillet-août , 19h en décembre","nom_du_musee":"Musée Historique","adr":"4, Rue des Archives","ville":"MULHOUSE","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"1er janvier, vendredi saint, lundi de Pâques et de Pentecôte, 1er mai, 14 juillet, 1er et 11 novembre, 25 et 26 décembre","coordonnees_":[47.746535,7.339544],"sitweb":"www.musees-mulhouse.fr/musee-historique/collections.html","cp":68100,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.339544,47.746535]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"e86d220a5d75a1c34e1d2e30921235ed6c71dd4b","fields":{"periode_ouverture":"Ouvert du mercredi au lundi de 13h à 18h","nom_du_musee":"Musée des Beaux-Arts","adr":"4, Place Guillaume-Tell","ville":"MULHOUSE","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"1er janvier, vendredi saint, lundi de Pâques et de Pentecôte, 1er mai, 14 juillet, 1er et 11 novembre, 25 et 26 décembre","coordonnees_":[47.745774,7.338271],"sitweb":"http://www.musees-mulhouse.fr/musee-des-beaux-arts/collections.html","cp":68100,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.338271,47.745774]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"103d580c8ca94c9676c97a5bdbb9a79b960bfcc2","fields":{"annreouv":"25 mars 2000","periode_ouverture":"Ouvert du 1er au 4 janvier de 10h à 17h du 5 janvier au 5 février de 14h à 17h le week-end de 10h à 17h, du 6 février au 2 avril de 10h à 17h, du 3 avril au 29 octobre de 10h à 17h, du 30 octobre au 31 décembre de 10h à 17h","nom_du_musee":"Musée National de l'Automobile - Collection Schlumpf","adr":"192, Avenue de Colmar\nCS 91096","ville":"MULHOUSE Cedex","nomreg":"ALSACE","sitweb":"www.collection-schlumpf.com","fermeture_annuelle":"25 décembre","coordonnees_":[47.760209,7.327993],"ferme":"NON","cp":68051,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.327993,47.760209]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"600ed9762810daa003d4e0c8546d1e3c64abb3eb","fields":{"periode_ouverture":"Ouvert du mardi au dimanche de 10h à 18h","nom_du_musee":"Musée EDF Electropolis","adr":"55, rue du Pâturage\nB.P. 52463","ville":"MULHOUSE Cedex","nomreg":"ALSACE","ferme":"NON","fermeture_annuelle":"1er janvier, vendredi saint, 1er mai, 1er et 11 novembre, 25 et 26 décembre","coordonnees_":[47.749441,7.295055],"sitweb":"electropolis.edf.com","cp":68057,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.295055,47.749441]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"3e3f033d95a81c1d0027115fc0e9d020bea2f284","fields":{"periode_ouverture":"Ouvert du mercredi au lundi du 1er mai au 30 septembre de 10h à 12h et de 14h à 17h","nom_du_musee":"Musée Vauban","adr":"7, Place de la Porte de Belfort","ville":"NEUF-BRISACH","nomreg":"ALSACE","ferme":"NON","coordonnees_":[48.016059,7.525831],"sitweb":"www.neuf-brisach.fr","cp":68600,"nomdep":"HAUT-RHIN"},"geometry":{"type":"Point","coordinates":[7.525831,48.016059]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"fee4f1251d0074da139b44333cbf79eb98257b13","fields":{"periode_ouverture":"Ouvert d'avril à juin et septembre du mardi au vendredi de 9h30 à 17h30, le week-end et jours fériés de 10h à 12h30 et de 14h30 à 18h, en juillet-août tous les jours de 10h à 19h, d'octobre à mars du mardi au vendredi de 9h30 à 12h30 et de 13h30 à 17h, le","nom_du_musee":"Musée Gallo-Romain de Vesunna","adr":"Parc de Vésone\n20, Rue du 26ème Régiment d'Infanterie","ville":"PERIGUEUX","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Fermeture les 1er et 2ème semaines de janvier, et les jours fériés d'octobre à mars","coordonnees_":[45.179999,0.71269],"sitweb":"www.vesunna.fr ou http://www.perigueux-vesunna.fr/","cp":24000,"nomdep":"DORDOGNE"},"geometry":{"type":"Point","coordinates":[0.71269,45.179999]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"306a13306a4f424f6369c944d7c25772a335afba","fields":{"periode_ouverture":"Ouvert de janvier à mars de 14h à 18h les mercredis et samedis et d'avril à décembre de 14h à 18h du lundi au samedi","nom_du_musee":"Musée Militaire - Souvenir du Périgord","adr":"32, Rue des Farges","ville":"PERIGUEUX","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Jours fériés","coordonnees_":[45.183285,0.720943],"sitweb":"www.museemilitaire-perigord.fr","cp":24000,"nomdep":"DORDOGNE"},"geometry":{"type":"Point","coordinates":[0.720943,45.183285]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"607fe84ebad4da590a412b247708af32834aabb1","fields":{"annreouv":"Non prévue","periode_ouverture":"Ouvert selon les expositions et les périodes","nom_du_musee":"Musée de Sarlat et du Périgord Noir","adr":"B.P. 163","ville":"SARLAT-LA-CANEDA","nomreg":"AQUITAINE","ferme":"OUI","sitweb":"Site des musées aquitains","cp":24205,"nomdep":"DORDOGNE"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"edaad823482c50b494984db0d858650a5d693625","fields":{"periode_ouverture":"Ouvert du mardi au dimanche de 14h à 18h - (ouvert le 14 juillet et le 15 août)","nom_du_musee":"Centre National Jean Moulin","adr":"Direction des établissements culturels\n48, rue Vital Carles","ville":"BORDEAUX","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Certains jours fériés","coordonnees_":[44.838651,-0.577869],"sitweb":"Site de la ville : www.bordeaux.fr","cp":33000,"nomdep":"GIRONDE"},"geometry":{"type":"Point","coordinates":[-0.577869,44.838651]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"d85114c3ce47bcf9ca59e1591013ed51692d34d0","fields":{"periode_ouverture":"Ouvert du mardi, et du mercredi au dimanche de 11h à 18h. Le mercredi  de 11h à 20h","nom_du_musee":"CAPC Musée d'Art Contemporain de Bordeaux","adr":"Entrepôt\n7, Rue Ferrère","ville":"BORDEAUX","nomreg":"AQUITAINE","sitweb":"www.capc-bordeaux.fr ou www.bordeaux.fr","fermeture_annuelle":"Jours fériés sauf 14 juillet et 15 août","coordonnees_":[44.848186,-0.572137],"ferme":"NON","jours_nocturnes":"Mercredi jusqu'à 20h","cp":33000,"nomdep":"GIRONDE"},"geometry":{"type":"Point","coordinates":[-0.572137,44.848186]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"581925283466d4c1973728c88989757130fde514","fields":{"periode_ouverture":"Ouvert du mercredi au lundi de 14h à 18h. Expositions ouvertes de 11h à 18h en semaine et le week-end de 14h à 18h","nom_du_musee":"Musée des Arts Décoratifs","adr":"Hôtel de Lalande\n39, Rue Bouffard","ville":"BORDEAUX","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Jours fériés","coordonnees_":[44.838956,-0.579686],"sitweb":"Site de la ville -  www.mairie-bordeaux.fr","cp":33000,"nomdep":"GIRONDE"},"geometry":{"type":"Point","coordinates":[-0.579686,44.838956]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"c0216c13c4500d18890f47145a46464a98ceab09","fields":{"periode_ouverture":"Musée Aquitaine - Le musée Goupil fonctionne uniquement sur exposition temporaire, à raison d\u2019une par an, en général à l\u2019automne.","nom_du_musee":"Musée Goupil","adr":"Conservatoire de l'Image Industrielle\n20 Cours Pasteur","ville":"BORDEAUX","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Musée Aquitaine","coordonnees_":[44.835543,-0.575205],"sitweb":"Site de la ville","cp":33000,"nomdep":"GIRONDE"},"geometry":{"type":"Point","coordinates":[-0.575205,44.835543]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"10b15f080fb3ce76461e2c7eb80cb0656d08cd4a","fields":{"annreouv":"Réflexion pour CIAP","ville":"LA REOLE","nom_du_musee":"Musée Municipal","adr":"Esplanade Charles de Gaulle","nomreg":"AQUITAINE","coordonnees_":[44.581128,-0.041074],"ferme":"OUI","cp":33190,"nomdep":"GIRONDE"},"geometry":{"type":"Point","coordinates":[-0.041074,44.581128]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"62b3bd4c43f3f9df35f659ec954ab7866c308248","fields":{"annreouv":"Projet CIAP","ville":"SAINT-EMILION","nom_du_musee":"Musée d'Histoire et d'Archéologique","adr":"Logis Mallet","nomreg":"AQUITAINE","ferme":"OUI","cp":33330,"nomdep":"GIRONDE"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"0bb4a82fd6ba4ae72a66722532034c2c52604ab2","fields":{"annreouv":"Pas d'info","ville":"VILLANDRAUT","nom_du_musee":"Musée Municipal","adr":"Maison Braneyre Impasse Dupeyron","nomreg":"AQUITAINE","ferme":"OUI","cp":33730,"nomdep":"GIRONDE"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"ecd8d08e3d2a7e871a4510e9962edf20fa4da410","fields":{"periode_ouverture":"Ouvert dun 1er février au 31 décembre du mardi au dimanche de 14h à 18h et en juillet-août tous les jours de 10h à 19h","nom_du_musee":"Musée Historique de l'Hydravion","adr":"332, Avenue Louis Breguet","ville":"BISCARROSSE","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Jours fériés","coordonnees_":[44.388887,-1.182563],"sitweb":"www.hydravions-biscarrosse.com","cp":40600,"nomdep":"LANDES"},"geometry":{"type":"Point","coordinates":[-1.182563,44.388887]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"3fcd55c1abda9772d0c24c4463268fb95aa85702","fields":{"annreouv":"2014","ville":"LUXEY","nom_du_musee":"Atelier-Musée  (Ecomusée de la Grande Landes)","adr":"101, Rue Jacques Desert","nomreg":"AQUITAINE","ferme":"OUI","coordonnees_":[44.26315,-0.518176],"sitweb":"Site du parc - www.parc-landes-de-gascogne.fr","cp":40043,"nomdep":"LANDES"},"geometry":{"type":"Point","coordinates":[-0.518176,44.26315]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"ed75f19530a7d915c8d5bda28a134cd5a0f9951f","fields":{"periode_ouverture":"Ouvert de juillet à septembre de 14h30 à 18h","nom_du_musee":"Musée Municipal","adr":"Rue du Général Lamarque","ville":"SAINT-SEVER","nomreg":"AQUITAINE","ferme":"NON","coordonnees_":[43.758576,-0.572238],"sitweb":"http://www.saint-sever.fr/culture_musee.htm","cp":40500,"nomdep":"LANDES"},"geometry":{"type":"Point","coordinates":[-0.572238,43.758576]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"dadf30dfac7308ba20d75b3c0e746c28d703c80d","fields":{"periode_ouverture":"Ouvert du 1er octobre au 30 avril de 10h à 12h30 et de 13h30 à 18h du mercredi au lundi et de mai à septembre de 10h à 18h","nom_du_musee":"Musée des Beaux-Arts","adr":"Place du Dr Pierre Esquirol","ville":"AGEN Cedex 9","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"1er mai, 1er novembre, 25 décembre et 1er janvier","coordonnees_":[44.202958,0.615494],"sitweb":"www.agen.fr/musee","cp":47916,"nomdep":"LOT ET GARONNE"},"geometry":{"type":"Point","coordinates":[0.615494,44.202958]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"638fb075ac58c2e401192f56fa87278f9aa46bea","fields":{"periode_ouverture":"Ouvert du 1er avril au 31 mai du mardi au dimanche de 14h à 18h, du 1er juin au 30 septembre du mardi au vendredi de 10h à 12h30 et de 14h à 18h, en octobre du mardi au vendredi de 14h à 18h","nom_du_musee":"Musée du Liège et du Bouchon","adr":"Rue du Puits Saint Côme","ville":"MEZIN","nomreg":"AQUITAINE","ferme":"NON","coordonnees_":[44.056911,0.25639],"sitweb":"www.cg47.fr","cp":47170,"nomdep":"LOT ET GARONNE"},"geometry":{"type":"Point","coordinates":[0.25639,44.056911]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"9463167f8222f2401a0ca05e1f13d81ec8fc8ba0","fields":{"periode_ouverture":"Ouvert d'octobre à mars de 14h à 18h du mardi au jeudi et week-end et d'avril à septembre tous les jours de 10h à 18h","nom_du_musee":"Musée du Château Henri IV","adr":"Rue Henri IV","ville":"NERAC","nomreg":"AQUITAINE","ferme":"NON","fermeture_annuelle":"Janvier, février, 1er week-end de mai et 3ème lundi de septembre","coordonnees_":[44.135138,0.33973],"sitweb":"Site des musées aquitains ou www.nerac.fr","cp":47600,"nomdep":"LOT ET GARONNE"},"geometry":{"type":"Point","coordinates":[0.33973,44.135138]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"f03fae932c394b87e0adc4167a0231e30a28398b","fields":{"periode_ouverture":"Ouvert d'avril à juin et septembre à mi-octobre du mardi au dimanche de 14h à 18h et juillet/août du mardi au samedi de 10h30 à 12h et de 14h à 19h et le dimanche de 14h à 19h","nom_du_musee":"Musée Municipal de Gannat","adr":"Place Rantian","ville":"GANNAT","nomreg":"AUVERGNE","ferme":"NON","coordonnees_":[46.102147,3.19633],"sitweb":"http://www.bassin-gannat.com/","cp":3800,"nomdep":"ALLIER"},"geometry":{"type":"Point","coordinates":[3.19633,46.102147]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"4c8b543c255490d744e6eb654f58613894bec954","fields":{"annreouv":"Non prévue","ville":"IZEURE","nom_du_musee":"Musée Rural de la Sologne Bourbonnaise","adr":"Michel LABONNE\nSecrétaire des Amis du Muséee\n149, Route de Bourgogne","nomreg":"AUVERGNE","coordonnees_":[46.57337,3.359803],"ferme":"OUI","cp":3400,"nomdep":"ALLIER"},"geometry":{"type":"Point","coordinates":[3.359803,46.57337]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"f46cfcb9030a3ed6f03612a89d4723f9fadec962","fields":{"periode_ouverture":"Ouvert d'avril à octobre du mercredi au samedi de 14h30 à 18h","nom_du_musee":"Musée Rieckotter","adr":"Hôtel de Ville\nBoulevard des Arène - B.P. 10","ville":"NERIS-LES-BAINS","nomreg":"AUVERGNE","ferme":"NON","sitweb":"www.ville-neris-les-bains.fr","cp":3310,"nomdep":"ALLIER"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"3e57601df0e862c22781c3567fed71d1c573518c","fields":{"periode_ouverture":"Ouvert du 2 mai au 30 septembre tous les jours de 10h à 12h et de 14h à 18h, du 1er octobre au 30 avril le lundi et du mercredi au samedi de 10h à 12h et de 14h à 17h","nom_du_musee":"Musée de la Haute Auvergne","adr":"Palais épiscopal\n1, Place d'Armes","ville":"SAINT-FLOUR","nomreg":"AUVERGNE","ferme":"NON","fermeture_annuelle":"1er mai, jours fériés du 01/10 au 30/04","coordonnees_":[45.033137,3.094858],"sitweb":"www.auvergne-centrefrance.com/geotouring/musees/detail/mus154.htm","cp":15100,"nomdep":"CANTAL"},"geometry":{"type":"Point","coordinates":[3.094858,45.033137]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"8843546a5896d538f13b96a2a94ac1d60f19228d","fields":{"periode_ouverture":"Ouvert d'avril à juin, et de septembre à novembre du mercredi au lundi de 10h à 12h et de 14h à 18h, en juillet-août tous les jours de 10h à 12h45 et de 14h à 18h45","nom_du_musee":"Musée des Arts et Traditions Populaires de Haute Loire","ville":"LAVAUDIEU","nomreg":"AUVERGNE","ferme":"NON","fermeture_annuelle":"Décembre à mars","sitweb":"Site des amis de Lavaudieu - www.abbayedelavaudieu.fr","cp":43100,"nomdep":"HAUTE-LOIRE"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"511e10746516e1db7600f525596213745cb20c54","fields":{"periode_ouverture":"Ouvert d'octobre à avril du mardi au samedi de 10h à 12h et de 14h à 17h dimanche de 14h à 17h, du 1er mai au 30 septembre de 10h à 12h et de 14h à 18h","nom_du_musee":"Muséum d'Histoire Naturelle Henri-Lecoq","adr":"15, rue Bardoux","ville":"CLERMONT-FERRAND","nomreg":"AUVERGNE","ferme":"NON","fermeture_annuelle":"Jours fériés","coordonnees_":[45.774138,3.088299],"sitweb":"www.museelecoq.clermont-ferrand.fr ou www.clermont-ferrand.fr/-Museum-Henri-Lecoq-.html","cp":63000,"nomdep":"PUY DE DÔME"},"geometry":{"type":"Point","coordinates":[3.088299,45.774138]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"cadb7eaa0cab5d5780b8c384b8ea6df79f894345","fields":{"annreouv":"Eté 2011 - exposition","periode_ouverture":"Ouvert d'avril à octobre du mardi au dimanche de 14h à 18h. Pour les groupe sur réservation de novembre à mars","nom_du_musee":"Musée Municipal Marcel Sahut","adr":"2, rue des Ecoles","ville":"VOLVIC","nomreg":"AUVERGNE","ferme":"OUI","coordonnees_":[45.860584,3.024326],"sitweb":"www.volvic-tourisme.com/HTML/sites/site_musee.htm","cp":63530,"nomdep":"PUY DE DÔME"},"geometry":{"type":"Point","coordinates":[3.024326,45.860584]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"adc4d9110be00831d6db0a4544b7f163b41d0a50","fields":{"annreouv":"Non encore prévue","ville":"BEAUNE","nom_du_musee":"Musée E.J Marey","adr":"Hôtel de Ville","nomreg":"BOURGOGNE","ferme":"OUI","coordonnees_":[47.026213,4.839367],"sitweb":"www.musees-bourgogne.org","cp":21200,"nomdep":"CÔTE D\u2019OR"},"geometry":{"type":"Point","coordinates":[4.839367,47.026213]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"2410e4cca0ced88f79fa6afb34ee84900261f9d5","fields":{"periode_ouverture":"Ouvert du 1er mai au 30 septembre tous les jours de 9h30 à 18h, du 1er octobre au 30 novembre et du 1er au 30 avril du mercredi au dimanche de 9h30 à 18h1er décembre au 31 mars 9h30 à 17h du mercredi au dimanche","nom_du_musee":"Musée du Vin de Bourgogne","adr":"Hôtel des Ducs\nRue d'Enfer","ville":"BEAUNE","nomreg":"BOURGOGNE","ferme":"NON","sitweb":"www.musees-bourgogne.org ou www.beaune.fr","cp":21200,"nomdep":"CÔTE D\u2019OR"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"b99a78e8761349ee0e928f272566e880f4a4ae61","fields":{"periode_ouverture":"Ouvert du 1er avril auu 31 octobre du mercredi au dimanche de 9h30 à 12h30 et de 14h à 18h, du 1er novembre au 31 mars les mercredis, samedis et dimanches de 9h30 à 12h30 et de 14h à 18h","nom_du_musee":"Musée Archéologique","adr":"5, Rue du Docteur Maret\nCS 73310","ville":"DIJON Cedex","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"1er janvier, 1er et 8 mai, 14 juillet, 1er et 11 novembre, 25 décembre","coordonnees_":[47.32236,5.034429],"sitweb":"Site des musées de Bourgogne - www.musees-bourgogne.org","cp":21033,"nomdep":"CÔTE D\u2019OR"},"geometry":{"type":"Point","coordinates":[5.034429,47.32236]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"f59f80cd0647646b342fcb247451485916d27f22","fields":{"periode_ouverture":"Ouvert du mercredi au lundi du 2 mai au 31 octobre de 9h30 à 18h et du 2 novembre au 30 avril de 10h à 17h","nom_du_musee":"Musée des Beaux-Arts","adr":"Palais des Ducs et des Etats de Bourgogne\nCS 73310","ville":"DIJON Cedex","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"1er janvier, 1er & 8 mai, 14 juillet, 1er & 11 novembre, 25 décembre","sitweb":"http://mba.dijon.fr ou www.ville-dijon.fr","jours_nocturnes":"Mercredi de 19h à 21h","cp":21033,"nomdep":"CÔTE D\u2019OR"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"637bc043682b56017354f2ea0b35c99da14bcca1","fields":{"annreouv":"Fermé définitivement","ville":"GEVREY-CHAMBERTIN - Reulle Vergy","nom_du_musee":"Musée des Arts et Traditions des Hautes-Côtes","adr":"1 PLACE DE LA FONTAINE","nomreg":"BOURGOGNE","ferme":"OUI","cp":21220,"nomdep":"CÔTE D\u2019OR"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"c5e90191d4c0742852c8d95d52e9c00e97104efa","fields":{"periode_ouverture":"Ouvert des vacances de février au 30 avril et du 1er octobre au 31 décembre de 10 à 12h et de 14 à 18h,du 1er mai au 30 juin et en septembre de 10 à 13h et de 14 à 18h - Juillet/août tlj de 10 à 13h et de 14 à 19h","nom_du_musee":"Musée du Costume","adr":"16-18, rue Saint Christophe","ville":"CHATEAU-CHINON","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"Du 1er janvier jusqu'aux vacances de février, le 25 décembre","coordonnees_":[47.066701,3.933691],"sitweb":"www.cg58.fr/patrimoi/costu.htm","cp":58120,"nomdep":"NIÈVRE"},"geometry":{"type":"Point","coordinates":[3.933691,47.066701]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"7059a18149e8239be58a7292f7e5950e9e41e074","fields":{"annreouv":"1993","periode_ouverture":"Ouvert du 1er avril au 30 octobre, dimanche et lundi de 14h à 18h et du mercredi au samedi de 10h à 12h et de 14h à 18h, en juillet-août tous les jours de 10h à 12h30 et de 14h à 19h, dimanche de 14h à 19h","nom_du_musee":"Musée Auguste Grasset","adr":"Place de la Mairie","ville":"VARZY","nomreg":"BOURGOGNE","sitweb":"www.cg58.fr ou www.musees-bourgogne.org","fermeture_annuelle":"Janvier et février","coordonnees_":[47.359969,3.388063],"ferme":"NON","cp":58210,"nomdep":"NIÈVRE"},"geometry":{"type":"Point","coordinates":[3.388063,47.359969]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"c90d18dc0eb622ee530be0e63a589dd2e7ee075e","fields":{"periode_ouverture":"Ouvert de septembre à mai le mercredi de 14h à 17h et sur rendez-vous les autres jours et de Juin à août de 14h à 17h30 du mercredi au dimanche","nom_du_musee":"Museum d'Histoire Naturelle Jacques de La Comble","adr":"14, Rue Saint-Antoine","ville":"AUTUN","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"Jours fériés","coordonnees_":[46.947996,4.301812],"sitweb":"www.autun.com/tourisme/museum.php","cp":71400,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[4.301812,46.947996]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"13a61803afdfaf4a8d2f49e8b31cdb854d554fbd","fields":{"periode_ouverture":"Ouvert du 1er octobre au 14 décembre et du 2 mars au 31 mars du lundi au samedi de 10h à 12h et de 14h à 17h, le dimanche de 14h30 à 17h et du 1er avril au 30 septembre de 9h30 à 12h et de 13h30 à 18h, juillet à septembre de 10h à 13h et de 14h à 18h","nom_du_musee":"Musée Rolin","adr":"5, rue des Bancs","ville":"AUTUN","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"1er mai, 14 juillet, 1er et 11 novembre, du 15 décembre au 21 février inclus","coordonnees_":[46.945957,4.29898],"sitweb":"www.autun.com ou Site des musées de Bourgogne","cp":71400,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[4.29898,46.945957]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"b2f5a208605abc54cc9cc598ef22121ef398167d","fields":{"periode_ouverture":"Ouvert du mercredi au lundi de 9h30 à 12h et de 14h à 17h30","nom_du_musee":"Musée Denon","adr":"Place de l'hotel de ville","ville":"CHALON-SUR-SAONE","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"Jours fériés","coordonnees_":[46.780909,4.853057],"sitweb":"site des musées de Bourgogne","cp":71100,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[4.853057,46.780909]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"b2e09f36dc31ef3834cb5aa64c37447bfaf4d0f1","fields":{"periode_ouverture":"Ouvert en mai tous les week-end de 14h à 18h, en juillet-aoûtdu mercredi au lundi de 10h à 12h et de 14h à 18h, en juin et septembre du mercredi au lundi de 14h à 18h","nom_du_musee":"Musée du Prieuré de Charolles","adr":"Rue du Prieuré","ville":"CHAROLLES","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"Janvier à mars","coordonnees_":[46.432489,4.279275],"sitweb":"Site des musées de Bourgogne ou site de la ville - http://www.ville-charolles.fr/musee-du-prieure","cp":71120,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[4.279275,46.432489]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"d94379c65cfcaa324f56a67ec399ba1cff814a0b","fields":{"periode_ouverture":"Ouvert en basse saison en semaine de 10h à 12h et de 14h à 16h45, week-end et jours fériés  de 14h à 16h. En juillet, août, d'avril à juin et septembre en semaine de 10h à 12h et de 14h à 18h, week-end et jours fériés de 14h à 18h","nom_du_musee":"Musée de l'Homme et de l'Industrie - Ecomusée de la Communauté Le Creusot-Monceau-Les-Mines","adr":"Château de la Verrerie\nB.P. 53","ville":"LE CREUSOT Cedex","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"1er mai, 24 décembre au 31 décembre","sitweb":"www.ecomusee-creusot-montceau.fr","cp":71202,"nomdep":"SAONE ET LOIRE"},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"a21ed940c1ecf89269f691e75ba58514267266c8","fields":{"periode_ouverture":"Ouvert du 1er avril au 14 juin de 14h à 18h du mercredi au lundi et du 15 juin au 15 septembre tous les jours de 10h à 12h et de 14h à 18h et du 16 septembre au 31 octobre de 14h à 18h du mercredi au dimanche","nom_du_musee":"Musée de la Tour du Moulin","adr":"7-9, rue de la Tour","ville":"MARCIGNY","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"Fermeture annuelle du 1er novembre au 31 mars 2011","coordonnees_":[46.274545,4.043191],"sitweb":"www.marcigny.fr/musee-de-la-tour-du-moulin - http://tourdumoulin.blogspot.com","cp":71110,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[4.043191,46.274545]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"507cdaf2e02f69f9b292999482cb43d4084077a3","fields":{"periode_ouverture":"Ouvert du dernier week-end de mars au premier week-end de novembre de 10h à 13h et de 14h à  18h. Accueil de groupes toute l'année","nom_du_musee":"Hôtel Dieu - Musée Greuze","adr":"21, rue de l'hôpital","ville":"TOURNUS","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"1er mai","coordonnees_":[46.562137,4.910839],"sitweb":"Site des musées de Bourgogne","cp":71700,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[4.910839,46.562137]},"record_timestamp":"2016-09-02T13:08:03+00:00"},{"datasetid":"liste-musees-de-france-a-paris","recordid":"03ba0a6fe52d4c7e2167ac83d6315bc9caca2ccb","fields":{"periode_ouverture":"Ouvert toute l'année et tous les jours de 14h à 18h","nom_du_musee":"Maison du Blé et du Pain","adr":"2, Rue de l'Egalité","ville":"VERDUN-SUR-LE-DOUBS","nomreg":"BOURGOGNE","ferme":"NON","fermeture_annuelle":"Du 20 décembre  au 21 janvier inclus","coordonnees_":[46.898754,5.022453],"sitweb":"www.verdunsurledoubs.fr rubrique culture ou www.ecomusee-de-la-bresse.com","cp":71350,"nomdep":"SAONE ET LOIRE"},"geometry":{"type":"Point","coordinates":[5.022453,46.898754]},"record_timestamp":"2016-09-02T13:08:03+00:00"}]
         */
     
        private int nhits;
        private ParametersBean parameters;
        private List<RecordsBean> records;
     
        public int getNhits() {
            return nhits;
        }
     
        public void setNhits(int nhits) {
            this.nhits = nhits;
        }
     
        public ParametersBean getParameters() {
            return parameters;
        }
     
        public void setParameters(ParametersBean parameters) {
            this.parameters = parameters;
        }
     
        public List<RecordsBean> getRecords() {
            return records;
        }
     
        public void setRecords(List<RecordsBean> records) {
            this.records = records;
        }
     
        public static class ParametersBean {
            /**
             * dataset : ["liste-musees-de-france-a-paris"]
             * timezone : UTC
             * rows : 50
             * format : json
             * pretty_print : true
             */
     
            private String timezone;
            private int rows;
            private String format;
            private boolean pretty_print;
            private List<String> dataset;
     
            public String getTimezone() {
                return timezone;
            }
     
            public void setTimezone(String timezone) {
                this.timezone = timezone;
            }
     
            public int getRows() {
                return rows;
            }
     
            public void setRows(int rows) {
                this.rows = rows;
            }
     
            public String getFormat() {
                return format;
            }
     
            public void setFormat(String format) {
                this.format = format;
            }
     
            public boolean isPretty_print() {
                return pretty_print;
            }
     
            public void setPretty_print(boolean pretty_print) {
                this.pretty_print = pretty_print;
            }
     
            public List<String> getDataset() {
                return dataset;
            }
     
            public void setDataset(List<String> dataset) {
                this.dataset = dataset;
            }
        }
     
        public static class RecordsBean {
            /**
             * datasetid : liste-musees-de-france-a-paris
             * recordid : df4e8d92d3ab3a7f43785986fe9a91a421ad9844
             * fields : {"periode_ouverture":"Ouvert du 2 mai au 15 juin de 14h à 17h et du 15 juin au 15 septembre de 10h à 12h et de 14h à à 18h du mercredi au lundi, du 15 septembre au 15 octobre de 14h à 17h du mercredi au lundi","nom_du_musee":"Musée de la Chartreuse","adr":"4, Cour des Chartreux","ville":"MOLSHEIM","nomreg":"ALSACE","ferme":"NON","coordonnees_":[48.54278,7.49023],"sitweb":"www.chartreuse-molsheim.info","cp":67120,"nomdep":"BAS-RHIN"}
             * geometry : {"type":"Point","coordinates":[7.49023,48.54278]}
             * record_timestamp : 2016-09-02T13:08:03+00:00
             */
     
            private String datasetid;
            private String recordid;
            private FieldsBean fields;
            private GeometryBean geometry;
            private String record_timestamp;
     
            public String getDatasetid() {
                return datasetid;
            }
     
            public void setDatasetid(String datasetid) {
                this.datasetid = datasetid;
            }
     
            public String getRecordid() {
                return recordid;
            }
     
            public void setRecordid(String recordid) {
                this.recordid = recordid;
            }
     
            public FieldsBean getFields() {
                return fields;
            }
     
            public void setFields(FieldsBean fields) {
                this.fields = fields;
            }
     
            public GeometryBean getGeometry() {
                return geometry;
            }
     
            public void setGeometry(GeometryBean geometry) {
                this.geometry = geometry;
            }
     
            public String getRecord_timestamp() {
                return record_timestamp;
            }
     
            public void setRecord_timestamp(String record_timestamp) {
                this.record_timestamp = record_timestamp;
            }
     
     
     
        //}
     
            public static class FieldsBean {
                /**
                 * periode_ouverture : Ouvert du 2 mai au 15 juin de 14h à 17h et du 15 juin au 15 septembre de 10h à 12h et de 14h à à 18h du mercredi au lundi, du 15 septembre au 15 octobre de 14h à 17h du mercredi au lundi
                 * nom_du_musee : Musée de la Chartreuse
                 * adr : 4, Cour des Chartreux
                 * ville : MOLSHEIM
                 * nomreg : ALSACE
                 * ferme : NON
                 * coordonnees_ : [48.54278,7.49023]
                 * sitweb : www.chartreuse-molsheim.info
                 * cp : 67120
                 * nomdep : BAS-RHIN
                 */
     
                private String periode_ouverture;
                private String nom_du_musee;
                private String adr;
                private String ville;
                private String nomreg;
                private String ferme;
                private String sitweb;
                private int cp;
                private String nomdep;
                private List<Double> coordonnees_;
     
                public String getPeriode_ouverture() {
                    return periode_ouverture;
                }
     
                public void setPeriode_ouverture(String periode_ouverture) {
                    this.periode_ouverture = periode_ouverture;
                }
     
                public String getNom_du_musee() {
                    return nom_du_musee;
                }
     
                public void setNom_du_musee(String nom_du_musee) {
                    this.nom_du_musee = nom_du_musee;
                }
     
                public String getAdr() {
                    return adr;
                }
     
                public void setAdr(String adr) {
                    this.adr = adr;
                }
     
                public String getVille() {
                    return ville;
                }
     
                public void setVille(String ville) {
                    this.ville = ville;
                }
     
                public String getNomreg() {
                    return nomreg;
                }
     
                public void setNomreg(String nomreg) {
                    this.nomreg = nomreg;
                }
     
                public String getFerme() {
                    return ferme;
                }
     
                public void setFerme(String ferme) {
                    this.ferme = ferme;
                }
     
                public String getSitweb() {
                    return sitweb;
                }
     
                public void setSitweb(String sitweb) {
                    this.sitweb = sitweb;
                }
     
                public int getCp() {
                    return cp;
                }
     
                public void setCp(int cp) {
                    this.cp = cp;
                }
     
                public String getNomdep() {
                    return nomdep;
                }
     
                public void setNomdep(String nomdep) {
                    this.nomdep = nomdep;
                }
     
                public List<Double> getCoordonnees_() {
                    return coordonnees_;
                }
     
                public void setCoordonnees_(List<Double> coordonnees_) {
                    this.coordonnees_ = coordonnees_;
                }
            }
     
            public static class GeometryBean {
                /**
                 * type : Point
                 * coordinates : [7.49023,48.54278]
                 */
     
                private String type;
                private List<Double> coordinates;
     
                public String getType() {
                    return type;
                }
     
                public void setType(String type) {
                    this.type = type;
                }
     
                public List<Double> getCoordinates() {
                    return coordinates;
                }
     
                public void setCoordinates(List<Double> coordinates) {
                    this.coordinates = coordinates;
                }
            }
        }
     
    }
    J'ai un problème avec mon setAdapter, ça ne fonctionnera pas comme ça ?
    Comme avec les Listview ?
    Et j'imagine bien que je vais devoir le refaire pour chaque champs.. (un TextView par champs)

  19. #59
    Membre à l'essai
    Homme Profil pro
    Développeur Logiciel
    Inscrit en
    Décembre 2015
    Messages
    230
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Logiciel
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2015
    Messages : 230
    Points : 20
    Points
    20
    Par défaut
    Une capture d'écran de mes problèmes: http://prntscr.com/dv43fb

    Et sinon dans le cadre des TextvVew j'ai commencé à mettre ça dans mon Activity mai ça ressemble à ce que j'ai mis dans mon CustomAdapter :http://prntscr.com/dv43ym

  20. #60
    Membre éprouvé
    Homme Profil pro
    Directeur
    Inscrit en
    Avril 2003
    Messages
    724
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur

    Informations forums :
    Inscription : Avril 2003
    Messages : 724
    Points : 1 166
    Points
    1 166
    Par défaut
    Salut,

    je regarde rapidement ton code de téléchargement, dans onCreate(), et je vois que
    dans ta public void onSuccess tu fais: textList.setAdapter(adapter1);
    Je ne connais pas AsyncHttpClient, mais si onSuccess ne s'execute pas dans le thread principal, tu n'as
    , peut être, pas le droit de programmer des widgets, comme textList, depuis un autre thread que le UI Thread.
    Si c'est le cas, il faut utiliser runOnUIThread().

    Cordialement.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 6
    Dernier message: 22/03/2016, 14h14
  2. Problème d'affichage des données de la BD dans une JList
    Par hela_sfar dans le forum Composants
    Réponses: 0
    Dernier message: 15/07/2013, 15h14
  3. [Toutes versions] coller les données d'une plage d'une cellule dans une cellule d'une autre feuille[VBA]
    Par arthson dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 24/01/2012, 17h37
  4. Envoyer une formulaire dans une page dans une Frame
    Par zooffy dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 29/06/2007, 10h13
  5. Recherche une valeur d'une cellule dans une colonne d'une autre feuille
    Par kourria dans le forum Macros et VBA Excel
    Réponses: 8
    Dernier message: 21/06/2007, 13h48

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