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 :

Formatage String et sharedpreferences


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut Formatage String et sharedpreferences
    Bonjour à tous!
    J'ai quelques soucis avec un formatage concernant une String + une key des sharedpreferences . . .
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    montv.setText("STRING" + valkey_sharedpreferences);
    Avez vous une idée pour résoudre mon problème??
    Merci à tous pour vos retours!

  2. #2
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Salut,

    tu peux au moins nous dire clairement ce que tu comptes faire? Qu'est ce qui ne marche pas?

    Ton code ne fait rien d'autres que mettre du texte dans un composant qui semble être un textView. Rien à avoir avec SharedPreferences.


    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  3. #3
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    Merci pour ton retour!
    Oups . . .désolé si je n'ai pas été assez clair!
    Je voudrai visualiser dans un TextView une string et le retour d'une clef des sharedpreferences.
    Hors, tel que écrit comme cela:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    montv.setText("STRING" + valkey_sharedpreferences);
    studio me retourne un avertissement, malgré un affichage correct du TextView:
    Do not concatenate text displayed with setText. Use resource string with placeholders.
    Malgré mes recherches et différentes combinaisons, je n'arrive pas à supprimer cet avertissement.
    Sachant que la valeur retournée de la clef des SP est variable, je ne peux la fixer dans les ressources.
    Voilà donc mon problème.

  4. #4
    Modérateur
    Avatar de MasterMbg
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Octobre 2011
    Messages
    719
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Congo-Kinshasa

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

    Informations forums :
    Inscription : Octobre 2011
    Messages : 719
    Par défaut
    Salut,

    Si je comprends bien, valkey_sharedpreferences contient la valeur que tu souhaite concatener avec la chaine "STRING" ?

    Android studio exige que les chaînes de caractères en dur soient définies dans les ressources de type string. Ce que tu dois faire, aller dans l'arborescence de ton projet et déplie le dossier res, ensuite values, tu édites le fichier strings.xml, puis tu ajoutes ton string :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <resources>
        <!-- Tu définis ton string ici...-->
        <string name="tonString">STRING</string>
    </resources>
    Tu appelles ensuite cette ressource de la manière suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    montv.setText(getResources().getString(R.string.tonString) + valkey_sharedpreferences);

    Christian Djo,
    Plus tu apprends sérieusement, plus tu te rapproches d'un savoir noble. Une chose est certaine, les difficultés ne s'écarteront de ton chemin...

    Tu es nouveau dans le développement Android, la page des COURS est là pour te faciliter la vie
    Tu peux trouver la réponse à ta question dans la FAQ
    Retrouvez mon tutoriel sur la consommation des services web SOAP
    Pense à voter positivement en appuyant sur en bas à droite de la réponse qui t'a donné une piste de solution.

  5. #5
    Modérateur
    Avatar de joel.drigo
    Homme Profil pro
    Ingénieur R&D - Développeur Java
    Inscrit en
    Septembre 2009
    Messages
    12 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D - Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Septembre 2009
    Messages : 12 430
    Billets dans le blog
    2
    Par défaut
    Salut,

    Plutôt, si valkey_sharedpreferences est de type String (pour les autres types voir la syntaxe des motifs de formatage de la méthode String.format()) :
    <ressources>
    ...
    <string name="messageId">STRING1$s!</string>
    ...
    </resources>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    montv.setText(getString(R.string.messageId, valkey_sharedpreferences));
    L'expression "ça marche pas" ne veut rien dire. Indiquez l'erreur, et/ou les comportements attendus et obtenus, et donnez un Exemple Complet Minimal qui permet de reproduire le problème.
    La plupart des réponses à vos questions sont déjà dans les FAQs ou les Tutoriels, ou peut-être dans une autre discussion : utilisez la recherche interne.
    Des questions sur Java : consultez le Forum Java. Des questions sur l'EDI Eclipse ou la plateforme Eclipse RCP : consultez le Forum Eclipse.
    Une question correctement posée et rédigée et vous aurez plus de chances de réponses adaptées et rapides.
    N'oubliez pas de mettre vos extraits de code entre balises CODE (Voir Mode d'emploi de l'éditeur de messages).
    Nouveau sur le forum ? Consultez Les Règles du Club.

  6. #6
    Membre confirmé
    Homme Profil pro
    Technicien maintenance
    Inscrit en
    Février 2012
    Messages
    110
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Technicien maintenance
    Secteur : Santé

    Informations forums :
    Inscription : Février 2012
    Messages : 110
    Par défaut
    Merci pour vos retours!
    Voici les 2 chaînes déclarées dans les ressources:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <string name="lati">Lat : </string>
        <string name="longi">Long : </string>
    Mon but est d'afficher dans un TextView:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    tvValLoca.setText("Lat : " + retSP_latitude + "Long : " + retSP_longitude);
    Les ret_SP_x sont des clefs des sharedpreferences.
    Voici 3 types de code . . . mais les 3 me retournent le même avertissement:
    Do not concatenate text displayed with setText. Use resource string with placeholders.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
      tvValLoca.setText(getResources().getString(R.string.lati) + retSP_latitude + getResources().getString(R.string.longi) + retSP_longitude);
                tvValLoca.setText((R.string.lati)+ retSP_latitude);
                tvValLoca.setText(getResources().getString(R.string.lati) + retSP_latitude);
    Que ce soit avec un retour ou deux des SP, je n'arrive pas à avoir un code propre.
    Les 2 clefs sont au format string et ensuite mises en forme en float pour être enregistrées dans une BdD.
    Je suis un sexagénaire qui est très curieux. Avoir avoir développé en Visual Basic 6, WinDev, je me suis mis aux applis Android (celle-ci est dans le domaine de la pêche!).
    Je suis électronicien de métier, mais j'ai toujours été passionné par le développement. Tout cela pour vous dire que je suis peut être un peu long à comprendre et de ne pas trop m'en vouloir . . .

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

Discussions similaires

  1. Formatage de int vers string
    Par menzlitsh dans le forum Langage
    Réponses: 7
    Dernier message: 17/07/2007, 13h34
  2. Formatage particulier String
    Par mimic50 dans le forum MATLAB
    Réponses: 3
    Dernier message: 29/08/2006, 15h25
  3. [WinForms]Formatage de date en string
    Par Jinroh77 dans le forum Général Dotnet
    Réponses: 7
    Dernier message: 03/08/2006, 18h07
  4. formatage d'une requete sql dansun string
    Par tchoua dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 25/07/2006, 12h25
  5. formatage d'un string
    Par mmz dans le forum Langage
    Réponses: 6
    Dernier message: 03/05/2006, 11h04

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