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 :

Questions sur la syntaxe et d'autres éléments d'Androïd


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut Questions sur la syntaxe et d'autres éléments d'Androïd
    Bonjour,

    Je suis actuellement en train de rédiger mon rapport de stage durant lequel j'ai développer une application Androïd. Du fait que je dois bien expliquer le fonctionnement dans mon rapport, je me suis penché sur certain éléments syntaxique et autre, du coup j'ai pas mal de question.

    Dans les fichier xml comme le main.xml, quand on fait un truc du genre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    android:background="@drawable/background_appli" 
    android:id="@+id/layout"
    Le @ et @+ ca indique quoi exactement?

  2. #2
    Rédacteur
    Avatar de David55
    Homme Profil pro
    Ingénieur informatique
    Inscrit en
    Août 2010
    Messages
    1 542
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2010
    Messages : 1 542
    Par défaut
    @+id: Utiliser pour l'id. Il permet de générer un id unique

    @string/hello: Permet de dire d'aller chercher la variable hello dans le fichier string.xml dans res/values/strings.xml

  3. #3
    Membre confirmé Avatar de paragoge
    Profil pro
    Inscrit en
    Février 2008
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 115
    Par défaut question non résolue pour moi
    Citation Envoyé par David55 Voir le message
    @+id: Utiliser pour l'id. Il permet de générer un id unique

    @string/hello: Permet de dire d'aller chercher la variable hello dans le fichier string.xml dans res/values/strings.xml
    Dans le fichier strings.xml, je ne vois pas de fichier string.xml, je vois seulement un attribut hello qui dans le fichier R.java généré devient une variable de type int d'une classe nommée en cararcères minuscules (pourquoi en minuscule ?) string

    Donc la question reste pour moi ouverte :
    Je me doute bien que la valeur de la variable hello correspond à celle qui se trouve déclarée par

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <string name="hello">Hello world !</string>
    dans le fichier string.xml mais je ne comprends pas pour autant comment cela fonctionne, comment s'articule la relation entre le code xml et la valeur hexadécimale générée dans le fichier R.java pour cette variable hello.

    Pour l'id, pareil : je me doute bien qu'un id est généré pour un objet, que la valeur hexadécimale de cet id est récupérée par la suite par un :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    findViewById(R.id.hello_button);
    par exemple, mais je n'ai pas pour autant compris quoi que ce soit au fonctionnement des relations entre le ficher main.xml le ficher strings.xml et R.java. Mais ma compréhension ne va pas plus loin...

  4. #4
    Expert confirmé

    Avatar de Feanorin
    Profil pro
    Inscrit en
    Avril 2004
    Messages
    4 589
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 4 589
    Par défaut
    Dans le fichier strings.xml, je ne vois pas de fichier string.xml
    euh

    par exemple, mais je n'ai pas pour autant compris quoi que ce soit au fonctionnement des relations entre le ficher main.xml le ficher strings.xml et R.java. Mais ma compréhension ne va pas plus loin...
    En gros ton fichier R.java qui est généré automatiquement va segementer tes déclarations de tes ressources en plusieurs section (layout, string, ...)
    Tu auras alors un id par éléments déclarés, cet id est un hexa.

    L'id portera le même nom que la ressource que tu as déclaré ( par exemple hello).
    Si hello est déclaré dans le fichier string.xml alors tu trouveras un id dans la section string qui s'appellera hello.

    (pourquoi en minuscule ?)
    ça c'est une norme d'Android. surement pour éviter les problèmes de doublons , et cela leur évite de faire un LOWER (gain de temps). (peut être ..)

    Pour l'id, pareil : je me doute bien qu'un id est généré pour un objet, que la valeur hexadécimale de cet id est récupérée par la suite par un :

    Code :Sélectionner tout - Visualiser dans une fenêtre à part
    findViewById(R.id.hello_button);
    Non comme c'est un string pour récupérer sa valeur il faut faire
    la section id correspond au objet graphique.(button textview,...)

  5. #5
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Avril 2005
    Messages
    103
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Avril 2005
    Messages : 103
    Par défaut
    Le @ spécifie que l'élément est référencé dans la liste des IDs (fichier des ressources ID "R").

    Le + spécifie que si l'élément n'existe pas dans le fichier des ressources IDs il pourra être ajouté (si il est pas dans le fichier R, la référence sera générée).

  6. #6
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Ok merci beaucoup pour vos réponse.

    Je ne classe pas encore le sujet en résolu parce que je risque d'avoir de nouvelles questions ^^

  7. #7
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Bonjour, me revoila, j'ai une question concernant la methode

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    doInBackground(String...urls)
    de l'interface AsyncTask.
    D'habitude quand on déclare un paramètre on trouve comme syntaxe String urls, mais dans ce cas, il y a "..." String...urls.

    A quoi correspond les "..."??

  8. #8
    Membre prolifique
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 10 245
    Par défaut
    Ça doit être une sortie de String[].
    Parce qu'en fait il ni a pas un seul String, mais plusieurs.

    C'est genre urls[0] ou quelque chose comme ça.

  9. #9
    Membre chevronné
    Profil pro
    Inscrit en
    Mars 2011
    Messages
    322
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Par défaut
    C'est pour dire (il me semble) que tu as en entrée un tableau de String.

    Dans ta fonction doInBackground(String...urls)
    tu pourras faire : for(int i = 0; i < urls.length; i++)

    Mais la différence est du coté de l'appel. Quand tu appelleras cette fonction, tu ne lui passeras pas un tableau de string mais plutôt les l'un à la suite des autres (c'est plus facile avec un exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    {maMethode(string1, string2, string3);
    }
     
    ...
     
    public void maMethode(String... strings) {
    for (int i = 0; i <strings.length; i++)
    ...
    }

  10. #10
    Membre chevronné
    Homme Profil pro
    IUT Informatique
    Inscrit en
    Mars 2011
    Messages
    412
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : IUT Informatique

    Informations forums :
    Inscription : Mars 2011
    Messages : 412
    Par défaut
    Okkk, merci c'est bien ca, je me rappel maintenant de l'exemple que j'avais vu quand j'avais mi en place cette méthode, et effectivement on passait plusieurs url lors de l'appel de la méthode

Discussions similaires

  1. Question sur la syntaxe *(double *) x;
    Par deubelte dans le forum C++
    Réponses: 4
    Dernier message: 13/06/2008, 09h18
  2. Questions sur la syntaxe des sélecteurs
    Par pierre24 dans le forum Mise en page CSS
    Réponses: 7
    Dernier message: 22/04/2008, 12h17
  3. [PHP-JS] Question sur la syntaxe entre PHP et HTML
    Par Diabless6 dans le forum Langage
    Réponses: 8
    Dernier message: 13/04/2007, 13h08
  4. [C#] quelques questions sur la syntaxe de base en C#
    Par DonJR dans le forum Windows Forms
    Réponses: 14
    Dernier message: 06/12/2006, 14h01
  5. [Tableaux] QUestion sur la syntaxe
    Par clementphp dans le forum Langage
    Réponses: 8
    Dernier message: 21/09/2006, 02h37

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