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

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

Android Discussion :

Quelle approche pour un quiz ? (XML ou BDD)


Sujet :

Android

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut Quelle approche pour un quiz ? (XML ou BDD)
    Bonjour,

    J'aimerai savoir qu'elle est la meilleure approche afin de réaliser une application de type Quiz. Au départ j'aurai seulement quelques dizaines de questions mais j'aimerai en rajouter de plus en plus. Faut-il que je passe par un fichier XML ou alors carrément une base de données ?

    Merci d'avance.

  2. #2
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Salut,

    Ben en fait pour utiliser une BDD SQLLite il faut de toutes façons passer par du xml.

    En fait, ta base de donnée est créée systématiquement à chaque démarrage de l'appli et les données sont lues dans du xml puis incorporées dedans.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Ha ok je savais pas ça , mais du coup en utilisant une BDD il est possible d'avoir un fichier XML avec les questions en français et un en anglais ? Et qu'android sélectionne automatiquement le bon fichier en fonction du langage du smartphone de l'utilisateur ? Je pense que oui mais je demande quand même.

    Et en terme de performances , la méthode avec la BDD SQLite est plus rapide j'imagine?

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    281
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 281
    Points : 321
    Points
    321
    Par défaut
    Tout dépends comment tu fonctionnes ton application.

    Si tu dois avoir accée à toutes les questions d'un coup, la BDD est plus rapide, sinon les fichiers sont moins lourds

  5. #5
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Je ne connais pas les performances de SQlite, mais en toute logique tu ne devrait avoir que très peu de différence entre le fichier XML et la base de donnée sur un petit volume de données.
    Par contre, si tu commence à avoir beaucoup de question (10/20 milles entrées?), la base de données va commencer à monter ses avantages.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  6. #6
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Merci pour vos réponses.
    Je pensais ne pas charger toutes les questions mais seulement la catégorie choisie lorsque la partie commence. Vous savez combien de temps environ prendrait le chargement d'un fichier XML de 100 questions ? Et de 1000? Ca se chiffre en secondes ou en millièmes de secondes ?

  7. #7
    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 Rapunzell
    Ben en fait pour utiliser une BDD SQLLite il faut de toutes façons passer par du xml.
    Non. Il est tout à fait possible d'embarquer un dump de la BDD, ou un JSON, YAML, -insérer autre format de données ici- à traiter ensuite. Passer par du XML n'est absolument pas obligatoire pour utiliser le mécanisme de BDD d'Android.

    Citation Envoyé par Rapunzell
    En fait, ta base de donnée est créée systématiquement à chaque démarrage de l'appli et les données sont lues dans du xml puis incorporées dedans.
    Euh, NON.
    La BDD est créée une fois, lors du premier lancement (plus précisément : de sa première utilisation). Elle est vide à la création, ce qui implique un autre système pour créer les tables et fournir les données (dump embarqué, appel réseau). Passer par du XML est un moyen parmi d'autres.
    Ensuite, elle n'est jamais recréée, et ne sera jamais touchée en elle-même (je parle bien de la BDD, pas du contenu de celle-ci).
    Elle sera potentiellement touchée par des mises à jour de l'application, ou la suppression de la BDD (qui serait ici un acte voulu par le développeur, ou réalisé par l'utilisateur via "Effacer les données de l'application").

    Personnellement, pour un système de quiz, je partirai plutôt sur la BDD, avec un système de MaJ via web-service. La structure ne devrait jamais changer, les données si.
    Utiliser XML fera soit d'avoir les couples en fichier séparé (un couple question/réponse par fichier), soit de tout avoir dans un seul fichier. Dans le cas d'un rajout de question/réponse, cela implique de télécharger un nouveau fichier et le prendre en compte au niveau du code (ce qui peut être réalisé assez facilement), ou alors de télécharger de nouveau l'intégralité des questions/réponses.
    À mon avis, dans ces deux cas, il y a des problèmes. Le premier impliquera à terme un très grand nombre de fichier, le second n'est absolument pas pratique pour du multi-lingue et la mise à jour.

    Avec une BDD, dans le pire des cas, il faudra réaliser un drop complet et remplacer les données avec un dump (un seul fichier à télécharger).

    EDIT : le temps que j'écrive, y'a 3 messages en plus

    Bon, pour répondre à ta question, un fichier de ~6 000 (balises comprises), avec un schéma assez complexes et des jonctions en folie entre les sections me prenait moins de 5 secondes sur les terminaux les plus lents, et moins de 1 en moyenne.
    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

  8. #8
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Au niveau du temps que ça prend, je n'en ai aucune idée...

    L'avantage c'est que tu peux utiliser le moteur SQLLite pour manipuler facilement les données.

  9. #9
    Modérateur
    Avatar de kolodz
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    2 211
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 211
    Points : 8 316
    Points
    8 316
    Billets dans le blog
    52
    Par défaut
    Citation Envoyé par bigwade Voir le message
    Merci pour vos réponses.
    Je pensais ne pas charger toutes les questions mais seulement la catégorie choisie lorsque la partie commence. Vous savez combien de temps environ prendrait le chargement d'un fichier XML de 100 questions ? Et de 1000? Ca se chiffre en secondes ou en millièmes de secondes ?
    D'après ce que tu compte y mettre (item avec 3/4 valeurs), tu es normalement largement sous la seconde, même avec 1000 questions.

    Au niveau du temps que ça prend, je n'en ai aucune idée...

    L'avantage c'est que tu peux utiliser le moteur SQLLite pour manipuler facilement les données.
    J'approuve le commentaire sur la manipulation des données.

    Dans tout les cas, tu peux prendre une solution et si tu n'es pas convaincu du résultat prendre la seconde.

    Cordialement,
    Patrick Kolodziejczyk.
    Si une réponse vous a été utile pensez à
    Si vous avez eu la réponse à votre question, marquez votre discussion
    Pensez aux FAQs et aux tutoriels et cours.

  10. #10
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Merci à tous pour vos réponses rapides et instructives , je vais m'orienter vers une BDD SQLite alors.

    Je met le sujet en résolu.
    Encore merci.

  11. #11
    Membre régulier Avatar de Rappunzell
    Homme Profil pro
    Technicien Help Desk
    Inscrit en
    Novembre 2007
    Messages
    93
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Technicien Help Desk

    Informations forums :
    Inscription : Novembre 2007
    Messages : 93
    Points : 91
    Points
    91
    Par défaut
    Citation Envoyé par Hizin Voir le message

    Euh, NON.
    La BDD est créée une fois, lors du premier lancement (plus précisément : de sa première utilisation). Elle est vide à la création, ce qui implique un autre système pour créer les tables et fournir les données (dump embarqué, appel réseau). Passer par du XML est un moyen parmi d'autres.
    Ensuite, elle n'est jamais recréée, et ne sera jamais touchée en elle-même (je parle bien de la BDD, pas du contenu de celle-ci).
    Oui, exact, désolé. Là j'avoue que je me suis complètement planté

    En plus, ça me parait évident ! Quel est l'intérêt sinon ?

    EDIT : au fait, Hizin, petite question que je me pose depuis que je fréquente la partie Android du forum... Ça représente quoi au juste, ton avatar ?

  12. #12
    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
    Pas de souci
    Désolé du ton aussi. Je suis sec assez souvent, et c'est rarement voulu, donc je m'en excuse par défaut ^^'

    Pour l'avatar, il représente un personnage de BD, Greldinard, le Baron Rouge de la saga "Les Chroniques de la Lune Noire".

    En figurine, ça donne ça :
    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

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

Discussions similaires

  1. [Google Maps] Quelle approche pour développer une application google maps (JS/PHP/MySQL)
    Par ggive dans le forum APIs Google
    Réponses: 0
    Dernier message: 23/11/2011, 15h17
  2. script pour générer un xml à partir bdd mysql
    Par majong dans le forum Shell et commandes GNU
    Réponses: 1
    Dernier message: 06/06/2008, 11h13
  3. Quelle approche pour ce problème de conception bien spécifique ?
    Par wokmichel dans le forum XML/XSL et SOAP
    Réponses: 5
    Dernier message: 23/10/2006, 08h50
  4. Réponses: 6
    Dernier message: 25/07/2006, 15h40
  5. [Outils] Quelle stratégie pour des tests unitaires BDD
    Par hecatonchire dans le forum Décisions SGBD
    Réponses: 6
    Dernier message: 21/04/2006, 10h20

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