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 :

Stockage de chaines de caractères


Sujet :

Android

  1. #1
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 149
    Points : 196
    Points
    196
    Par défaut Stockage de chaines de caractères
    Bonjour,

    Je développe actuellement une application censée afficher 1 question avec les 4 réponses qui lui sont associés.
    La question est sélectionné aléatoirement parmi 500 questions.

    J'ai donc stocker ces phrases dans res/values/string
    Je choisis un nombre aléatoire entre 1 et 500 et je récupère ensuite les données.
    en fonction du nombre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(numero_question == 1)
    		{
    			 q = res.getString(R.string.q1);
    			 a = res.getString(R.string.a1);
    			 b = res.getString(R.string.b1);
    			 c = res.getString(R.string.c1);
    			 d = res.getString(R.string.d1);
    		}
    Le problème étant que je dois recopier ce code pour chaque valeur entre 1 et 500 ce qui donne 8x500 = 4000 lignes de codes.

    J'ai donc penser à stocker toutes ces informations dans une bdd mais le problème est que j'ai également une traduction en anglais, il faudrait donc créer 1 bdd pour le francais et 1 bdd pour l'anglais.

    Est il alors possible d'utiliser une commande en java pour connaitre la langue utilisé par l'utilisateur et ainsi sélectionné la bonne bdd ?
    OU
    Y a-t-il un moyen de laisser ces informations stocker dans le fichier string mais d'adapter la fonction res.getString(R.string.IDENTIFIANT); pour que l'identifiant varie en fonction du numero de la question ?

    Merci d'avance pour vos réponses.

  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
    Pourquoi ne pas utiliser cette méthode : getIdentifier() qui te permettra de retrouver dynamiquement le nom de ta ressource contenu dans ton fichier strings.xml ?

  3. #3
    Membre expérimenté Avatar de Nico02
    Homme Profil pro
    Developpeur Java/JEE
    Inscrit en
    Février 2011
    Messages
    728
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Developpeur Java/JEE
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Février 2011
    Messages : 728
    Points : 1 622
    Points
    1 622
    Par défaut
    Moi je te conseille de créer une classe Question qui contiendra :
    - La question
    - Les 4 réponses possibles
    - Un id pour la bonne réponse
    - Des méthodes d'accès à ces valeurs.

    De cette manière tu peux te créer une liste qui contiendra toutes tes questions et tu pourras y accéder simplement en faisant

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Question q = liste.get(i);
    Et ainsi pouvoir accéder à toutes tes valeurs en faisant

  4. #4
    Membre habitué
    Homme Profil pro
    Étudiant
    Inscrit en
    Juillet 2013
    Messages
    149
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2013
    Messages : 149
    Points : 196
    Points
    196
    Par défaut
    J'ai utilisé un getIdentifier :

    String id_question = "q" + numero_question;

    int question2 = res.getIdentifier(id_question, "string", "nom_package");

    final String question = getResources().getString(q2);

    et on affiche la question.

    La solution d'utiliser une classe me parait assez flou surtout au niveau de la gestion de la traduction mais c'est également une piste à creuser.

    Merci pour votre aide.

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 23/12/2013, 16h40
  2. Réponses: 2
    Dernier message: 29/07/2008, 12h23
  3. Réponses: 9
    Dernier message: 17/01/2003, 11h45
  4. Lire Une Chaine De Caractères
    Par Jonathan_Korvitch dans le forum C
    Réponses: 12
    Dernier message: 07/01/2003, 05h37
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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