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 :

intent


Sujet :

Android

  1. #1
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut intent
    bonjour,


    Pour démarrer l'intent, j'ai fait:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Intent intent = new Intent(context, a.class);
    startActivity(intent);;
    où a est défini par
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    public class a extends Activity {...
    dans a.java.

    Y a-t-il une méthode plus simple de créer un intent, sans utiliser "context", car cela impose parfois de créer une variable spécifique ?


    Merci

  2. #2
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Salut,

    Si ton application est bien découpée, cela ne devrait pas être une contrainte. Pourrais-tu expliquer dans quel cas tu trouves cela gênant ?

  3. #3
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    C'est simplement une question de syntaxe.
    J'avais vu une syntaxe du type startActivity(new Intent("com.myapp.a")), mais ça n'a pas l'air de marcher pour moi...

  4. #4
    Rédacteur
    Avatar de MrDuChnok
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2002
    Messages
    2 112
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2002
    Messages : 2 112
    Par défaut
    Pour faire simple la méthode startActivity appartient à la classe Activity.
    Cette dernière (Activity) hérite elle même de Context qui te permet de lancer un des constructeurs de Intent.

    Après ma question, c'était pour éclaircir ton problème : ce qui te gène c'est la construction de l'intention (new Intent(...)), ou le lancement l'activity (startActivity) ?

  5. #5
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Les deux mon capitaine. En fait j'aimerais raccourcir ce code que j'utilise souvent et que je trouve long.
    Enfin surtout la partie new Intent. N'y a-t-il pas un autre constructeur qui permettrait de créer un intent sans passer par 'this', un peu comme new Intent("com.myapp.a"), que j'ai déjà vu quelque part, mais qui ne semble pas marcher dans mon cas ?

  6. #6
    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 trouveras tout les constructor possible à ce lien
    http://developer.android.com/referen...nt/Intent.html

    Intent()
    Create an empty intent.
    Intent(Intent o)
    Copy constructor.
    Intent(String action)
    Create an intent with a given action.
    Intent(String action, Uri uri)
    Create an intent with a given action and for a given data url.
    Intent(Context packageContext, Class<?> cls)
    Create an intent for a specific component.
    Intent(String action, Uri uri, Context packageContext, Class<?> cls)
    Create an intent for a specific component with a specified action and data.

  7. #7
    Membre très actif
    Homme Profil pro
    Ingénieur Informatique et Développeur Android
    Inscrit en
    Janvier 2010
    Messages
    384
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur Informatique et Développeur Android

    Informations forums :
    Inscription : Janvier 2010
    Messages : 384
    Par défaut
    pour passer d'une activity 1 ou activity 2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Intent t = new Intent (Main.this, Main2.Class );
    startActivity(t);
    où Main correspond au activity 1 actuelle
    Main2 corresponf au activity 2 le suivant

  8. #8
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    Ne puis-je pas adapter ce constructeur
    Intent(String action)
    Create an intent with a given action.
    à mon problème, et créer avec lui un intent qui executera une activité de mon projet, comme je l'ai fait ci-dessus ?

  9. #9
    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,

    Ce constructor te permet de lancer une action VIEW,EDIT, ... pas une classe que tu as crée. De toute manière je ne pense pas que tu puisses créer un intent comme cela pour une de tes classes. A moins que cette classe est définie via une action que tu appellerais par ce constructor.

    De plus je ne vois pas ou cela te pose un problème de lui passer un Context ?

    public Intent (String action)

    Since: API Level 1
    Create an intent with a given action. All other fields (data, type, class) are null. Note that the action must be in a namespace because Intents are used globally in the system -- for example the system VIEW action is android.intent.action.VIEW; an application's custom action would be something like com.google.app.myapp.CUSTOM_ACTION.
    Parameters

    action The Intent action, such as ACTION_VIEW.

  10. #10
    Membre averti
    Inscrit en
    Juin 2011
    Messages
    45
    Détails du profil
    Informations forums :
    Inscription : Juin 2011
    Messages : 45
    Par défaut
    bah c'est juste que je croyais avoir vu écrit la création d'un intent de manière plus élégante ailleurs, donc je voulais faire pareil...
    bon tant pis, merci quand même.

Discussions similaires

  1. Réponses: 3
    Dernier message: 23/10/2008, 19h42
  2. Signification de intent
    Par sandra3434i dans le forum Fortran
    Réponses: 2
    Dernier message: 18/01/2008, 15h11
  3. lettre d intention
    Par samim dans le forum Etudes
    Réponses: 2
    Dernier message: 19/04/2007, 12h14
  4. Lettre d'intention embauche
    Par SuperTeddy dans le forum Droit du travail
    Réponses: 13
    Dernier message: 06/12/2006, 11h41

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