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 :

Parse XML/JSON vers Spinner [Débutant(e)]


Sujet :

Composants graphiques Android

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut Parse XML/JSON vers Spinner
    Bonjour,

    Je souhaite parser un flux XML (ou JSON, si c'est plus pratique, j'ai accès aux 2 types de flux) simple (http://tinyurl.com/8l8lqwh) et l'afficher dans un spinner de mon application (sous la forme d'une Arraylist).

    J'ai fait des recherches et trouvé pas mal de tutos, cependant rien de correspond à ce que je recherche ou du moins, je n'ai pas réussi à l'adapter à ce dont j'avais besoin.

    Je souhaiterais savoir ce qui est le plus pratique/simple entre XML et JSON, avoir quelques indications sur les étapes à réaliser pour obtenir le résultat escompté.

    J'espère que c'est assez explicite.

    Merci d'avance.

    Bonne journée

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Pour la partie langage, je te conseille JSON. Il est intégré par défaut dans Android et est plus simple à utiliser.
    Il est aussi beaucoup plus léger.
    En php, il te suffit juste d'utiliser la fonction json_encode() sur le tableau de tes opérateurs.
    Ce tutoriel pourra t'aider

  3. #3
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 87
    Points
    87
    Par défaut
    A priori tu dois décomposer ton problème en 2 sous problèmes

    1) Parser ton JSON pour avoir la liste de tes objets en mémoire. Dans ton cas, une List<String> te suffira. (Proposition de tutorial). Pour ma part, j'utilise la libraire JackSON, mais je parse des objets un peu plus conséquents que les tiens, donc je ne sais pas si c'est pertinant. Si tu ne parses en effet qu'une liste de String, la librairie native devrait te suffire amplement.

    2) Utiliser cette liste à travers un ArrayAdapter pour créer ton Spinner. (Proposition de tutorial)

    Bien à toi.

    Lionel

  4. #4
    Futur Membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2011
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2011
    Messages : 6
    Points : 5
    Points
    5
    Par défaut
    Merci pour vos réponses, j'essaie de parvenir à mes fins, cependant je ne sais pas si le flux json généré de la base de données est "bien":
    http://www.edcom.fr/xml/applimobile/flux_operateurs.php

    Les noms des objets changent à chaque fois (1,2,3,4...) or dans les exemples simples, on peut voir qu'il s'agit d'"id" ou "name". Dois-je modifier le json ? Comment puis-je faire avec ces noms d'objets différents ?

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    757
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 757
    Points : 968
    Points
    968
    Par défaut
    Non tu n'est pas obligé.
    Voilà à quoi ça doit ressembler :
    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
    {
        "operateurs": [
            {
                    "id": "1",
                    "name": "Afone Mobile"
            },
            {
                    "id": "2",
                    "name": "B&YOU"
            },
            .
            .
            .
            .
      ]
    }

  6. #6
    Membre régulier
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : Finance

    Informations forums :
    Inscription : Novembre 2011
    Messages : 67
    Points : 87
    Points
    87
    Par défaut
    En fait de la façon dont ton JSon est généré tu as 1 objet qui comporte un nombre de champs (variables dans ton cas) dont le nom est nombre et la valeur est un String...

    C'est pas terrible et ça t'empêchera forcément de mapper à l'aide d'un POJO...


    Si tu tiens absolument à garder cette structure de JSon, tu devras parser "manuellement" en parcourant ton fichier, mais je ne te le conseille pas !

    La proposition de Simon MARQUIS correspond bien mieux à ce que tu souhaites faire : Un tableau variable d'objets comportant un ID et un NOM.

    Bien à toi.

    Lionel

Discussions similaires

  1. Json vers XML
    Par RookFrank dans le forum Langage
    Réponses: 1
    Dernier message: 31/12/2013, 15h20
  2. Conversion JSON vers XML
    Par jeedev dans le forum Objective-C
    Réponses: 0
    Dernier message: 20/10/2012, 18h01
  3. [XStream] Parse XML vers objet Java
    Par benjibul dans le forum Format d'échange (XML, JSON...)
    Réponses: 0
    Dernier message: 22/06/2011, 17h09
  4. [JSP] Parsing XML avec JDOM
    Par benben13 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 26/08/2005, 18h19
  5. XML/XSL vers HTML: comment transformer les linefeed en <B
    Par AlainM dans le forum XSL/XSLT/XPATH
    Réponses: 5
    Dernier message: 18/11/2003, 13h30

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