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 :

Accès aux ressources dans une classe à part


Sujet :

Android

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Par défaut Accès aux ressources dans une classe à part
    Bonjour,

    Je commence la programmation Android (avec Android studio) et je me heurte à un problème sûrement conceptuel.
    J'essaye de mettre toutes mes chaines et constantes dans les ressources, mais je bloque pour l'accès au format String dans une classe qui n'est pas une activité:

    Quand je fais ça dans mon constructeur:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String chaine= R.string.chaine_par_defaut;
    ça ne fonctionne pas, et j'ai compris alors que cela renvoyait un id.

    La solution que j'ai trouvée à plusieurs endroits:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public Serie(Context context) {
            String chaine= context.getString(R.string.chaine_par_defaut);
        }
    Bon, ça fonctionne... Mais je trouve ça lourd de devoir communiquer le context pour ça, et je pense que je commence à faire du bricolage alors que ça doit être mon approche qui est foireuse... N'y a-t-il pas moyen d'accéder aux resources "naturellement" pour toutes les classes du package?

    Si vous avez des conseils, merci!

  2. #2
    Expert confirmé

    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Février 2007
    Messages
    4 253
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Février 2007
    Messages : 4 253
    Billets dans le blog
    3
    Par défaut
    Non, il est nécessaire d'avoir un "Context" pour accéder aux ressources.

    La raison en est simple: tout un tas de données "variables" liées au contexte peuvent changer à tout moment, le context s'assure que tout est bien cohérent.

    Par exemple, la "langue" utilisée, elle peut être modifiée à tout moment. Mais les activité "en cours" doivent conserver leur langue actuelle (pour éviter un mélange désastreux), même si Locale.getDefault() renvoit la nouvelle langue selectionnée.
    Idem pour l'orientation de l'écran (qui fait partie du contexte), ou du thème général....

    Enfin bref, le "Context" est là pour grouper au même endroit toutes ces données spécifiques. Certaines sont propres à l'application (chemin d'accès, package, ...), certaines sont propres à chaque activité (thème, ...), certaines sont propres au device (orientation, langue, timezone, ...).
    A chaque fois que dans le code on doit lire une ressource, cette ressource est dépendante obligatoirement de ces données => passage de Context obligatoire.

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Mars 2004
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 19
    Par défaut
    Ok merci, c'est bien ce que je voulais savoir.

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

Discussions similaires

  1. Problèmes de accès aux ressources dans une JSP
    Par sepltura dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/06/2012, 09h49
  2. Réponses: 3
    Dernier message: 25/11/2010, 15h59
  3. Acces aux valeurs dans une classe
    Par Seth77 dans le forum C#
    Réponses: 1
    Dernier message: 12/05/2007, 16h00
  4. Réponses: 5
    Dernier message: 01/02/2007, 13h14
  5. [TOMCAT] JSP problème d'accès aux méthodes d'une classes
    Par gunnm dans le forum Tomcat et TomEE
    Réponses: 3
    Dernier message: 22/05/2004, 14h02

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