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

Composants graphiques Android Discussion :

[Débutant] Activity, View, Intent


Sujet :

Composants graphiques Android

  1. #1
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Par défaut [Débutant] Activity, View, Intent
    Bonjour,
    Je me met à la programmation Android, et j'ai quelques questions :

    Je lis dans la FAQ :
    Une activité est la composante principale d'une application sous Android. L'activity est le métier de l'application et possède généralement une View au minimum, c'est à dire un écran graphique. Ainsi dans une application standard, on pourrait trouver une activité qui liste des contacts, une activité qui ajoute un nouveau contact, et une activité qui affiche le détail d'un contact. Le tout forme un ensemble cohérent, mais chaque activité pourrait fonctionner de manière autonome.
    Dans quel cas une activity posséderait-elle plus d'une view ? (Affichage d'une sous-fenêtre "modale" ?)
    Si une activity possède plus d'une view, comment séparer proprement le code de ces views (principalement des listeners je suppose) du code de l'activity en elle même (l’orchestration des views ?)

    Toujours dans la FAQ :
    Les Intents permettent de communiquer entre les différentes activités de notre application, mais aussi du téléphone. Ils sont en quelque sorte le "messager" pour lancer une activité. Ainsi une activité peut en lancer une autre soit en passant un intent vide, soit en y passant des paramètres. Les Intent Filters jouent le rôle de filtre. Ils permettent de contrôler d'où provient l'Intent (ou d'autres paramètres) afin de lancer ou non l'activité.
    Je ne comprend pas la doc (http://developer.android.com/guide/t...s-filters.html) à ce propos. En fait, je ne perçois pas l'utilité de ces filtres. Avez-vous un cas pratique en exemple ?

    Merci a tous

  2. #2
    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
    Je suis débutant aussi, mais si j'ai bien compris, en gros par view ils parlent d'élément graphiques.
    Genre dans ta classe principal qui extends de activity, il te faudra au moins un élément graphique (EditText, WebView...)
    Et après pour les listener c'est comme en java normal, soit tu les fais en anonyme, soit tu fait une méthode.
    Et moi quand j'ai utilisé l'intent c'était pour mettre des paramètres à ma nouvelle activity. Elle allait ouvrir le navigateur web, du coup je lui ai passé en paramètre via l'intent puis après avec startActivity je lançais ma nouvelle activity.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     String url = "http://www.google.fr";
       Intent i = new Intent(Intent.ACTION_VIEW);
                    i.setData(Uri.parse(url));
                    startActivity(i);

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Par défaut
    Merci pour ta réponse.
    Effectivement j'utilise les intent pour passer des paramètres entre deux Activity. Ma question portait plus sur les intent filters déclarés dans le fichier manifest.

    Par contre tu m'éclaires sur le terme "view" qui ne décrit pas un écran comme je le pensais, mais un composant ! Du coup les choses paraissent plus claires de ce coté la.

    Du coup j'ai creusé un petit peu, et decouvert qu'on pouvait aussi utiliser un intent pour retourner des informations d'une sous-activity à l'activity appelante.
    Possibilité que je pourrais exploiter pour lire les données saisies dans mes fameuses fenêtres modales.

    Encore merci,
    David

  4. #4
    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
    J'ai pas trop touché aux intent filters vu que je suis resté sur du très basique, mais d'après mon interprétation du texte, je dirai que tu peux filtrer les données que recevront tes activity via les intents, du coup tu pourra choisir les actions à effectué selon ce que tu recevra. Mais après peut être que je me trompe, faudrait un peu plus fouiller sur le sujet

  5. #5
    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
    Bonjour,

    Tu auras plus de détails sur ce lien à propos des intents filters

    http://developer.android.com/guide/t...r-element.html ou
    http://developer.android.com/guide/t...intro.html#ifs

    The core components of an application (its activities, services, and broadcast receivers) are activated by intents. An intent is a bundle of information (an Intent object) describing a desired action — including the data to be acted upon, the category of component that should perform the action, and other pertinent instructions. Android locates an appropriate component to respond to the intent, launches a new instance of the component if one is needed, and passes it the Intent object.

    Components advertise their capabilities — the kinds of intents they can respond to — through intent filters. Since the Android system must learn which intents a component can handle before it launches the component, intent filters are specified in the manifest as <intent-filter> elements. A component may have any number of filters, each one describing a different capability.

    An intent that explicitly names a target component will activate that component; the filter doesn't play a role. But an intent that doesn't specify a target by name can activate a component only if it can pass through one of the component's filters.

  6. #6
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2002
    Messages : 21
    Par défaut
    Merci, l'extrait que tu cites est très clair.
    Je comprend mieux désormais, même si je doutes en avoir besoin (au moins au début).

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

Discussions similaires

  1. [Débutante]Activer mon JInternalFrame!
    Par angelange dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 18/09/2007, 13h36
  2. [Axis][Débutant]Activation du deploy.wsdd via .bat
    Par Mélissa dans le forum Services Web
    Réponses: 9
    Dernier message: 10/01/2007, 11h18
  3. Réponses: 4
    Dernier message: 07/03/2006, 21h33

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