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

  1. #1
    Membre confirmé
    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
    Points : 486
    Points
    486
    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 : 34
    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
    Points : 2 808
    Points
    2 808
    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 actif
    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
    Points : 203
    Points
    203
    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).

  4. #4
    Membre confirmé
    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
    Points : 486
    Points
    486
    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 ^^

  5. #5
    Membre confirmé
    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
    Points : 486
    Points
    486
    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 "..."??

  6. #6
    Membre extrêmement actif
    Avatar de Ryu2000
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2008
    Messages
    9 605
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2008
    Messages : 9 605
    Points : 18 521
    Points
    18 521
    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.
    Keith Flint 1969 - 2019

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

    Informations forums :
    Inscription : Mars 2011
    Messages : 322
    Points : 494
    Points
    494
    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++)
    ...
    }

  8. #8
    Membre confirmé
    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
    Points : 486
    Points
    486
    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

  9. #9
    Membre actif
    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
    Points : 203
    Points
    203
    Par défaut
    Bonjour,

    Comme c'est pour un rapport de stage, je vais rajouter on appelle ça une ellispe (cf faq java http://java.developpez.com/faq/java/...EYWORD_ellipse), c'est compilé comme un tableau.

    Juste autre chose c'est un String... dans ce cas car à la déclaration de l'AyncTask le premier type générique a été spécifié comme étant un String
    AsyncTask<String, P, R>.

  10. #10
    Membre régulier 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
    Points : 71
    Points
    71
    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...

  11. #11
    Expert éminent

    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
    Points : 9 149
    Points
    9 149
    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,...)
    Responsable Android de Developpez.com (Twitter et Facebook)
    Besoin d"un article/tutoriel/cours sur Android, consulter la page cours
    N'hésitez pas à consulter la FAQ Android et à poser vos questions sur les forums d'entraide mobile d'Android.

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