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 :

Créer une classe Activity sans l'afficher


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut Créer une classe Activity sans l'afficher
    Bonjour à tous.
    Est-il possible de créer une instance de classe maclasse (un Activity) sans l'afficher ? Je voudrais juste pouvoir utiliser des fonctions publiques qui sont dedant.

    Merci
    Nico

  2. #2
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Le plus simple dans ce cas-là serait de le découpler de leur classe englobante, les rendre statique et les mettre dans une classe utilitaire, non ?
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  3. #3
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Le plus simple dans ce cas-là serait de le découpler de leur classe englobante, les rendre statique et les mettre dans une classe utilitaire, non ?
    je voulais éviter de mettre ca dans l'activity "Application" mais s'il n'y a pas d'autre solution...

  4. #4
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Nous n'avons pas la même définition de "classe utilitaire" ^^"

    Ce que j'entends par là, c'est une classe non-instanciable ne contenant que des méthodes statique permettant de factoriser les traitements.

    Ce n'est pas une extension d'Application permettant d'avoir des variables globales à l'application, ni une méta-activité ou un méta-fragment permettant de factoriser des traitements communs à tout ou partie des enfants.

    Ce que je comprends de ta question : tu as des traitements T qui sont dans l'Activité A. Tu désirerais en faire appel dans l'Activité B.

    Je vais donc compléter ma précédente, plusieurs solutions :
    - duplication de code : je la mets histoire de, mais ce n'est pas une solution acceptable
    - créer une Activité mère pour factoriser ses traitements pour ses 2 classes (et peut-être pour plus plus tard) : rajouter un niveau d'indirection pour une factorisation de traitements est commun... juste faire attention à ne pas aller dans l'extrême
    - mettre les traitements dans Application : si ça a un sens, pourquoi pas => utilisable par la plupart des classes Activité et Fragment, doit être dispo partout et à un fort couple avec Application.
    - créer une classe utilitaire : voir s'il est possible de découpler intégralement les méthodes de la classe englobante, si oui => rendre statique et créer une classe "MachinUtils" où iront les traitements de ce genre (il faudra sans doute passer un contexte à chacune des méthodes... mais ce n'est pas surprenant pour Android).

    Voilà-voilà.
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

  5. #5
    Membre éclairé Avatar de Nicopilami
    Profil pro
    Ingénieur sécurité
    Inscrit en
    Janvier 2009
    Messages
    354
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Janvier 2009
    Messages : 354
    Par défaut
    Citation Envoyé par Hizin Voir le message
    Ce que je comprends de ta question : tu as des traitements T qui sont dans l'Activité A. Tu désirerais en faire appel dans l'Activité B.
    en fait faire appel à cette fonction depuis un broadcastreceiver

    Citation Envoyé par Hizin Voir le message
    - duplication de code : je la mets histoire de, mais ce n'est pas une solution acceptable
    no comment, ca va de soi

    Citation Envoyé par Hizin Voir le message
    - mettre les traitements dans Application : si ça a un sens, pourquoi pas => utilisable par la plupart des classes Activité et Fragment, doit être dispo partout et à un fort couple avec Application.
    je l'ai déjà fait dans mon application, mais je voulais éviter de mettre cette fonction dedant

    Citation Envoyé par Hizin Voir le message
    - créer une classe utilitaire : voir s'il est possible de découpler intégralement les méthodes de la classe englobante, si oui => rendre statique et créer une classe "MachinUtils" où iront les traitements de ce genre (il faudra sans doute passer un contexte à chacune des méthodes... mais ce n'est pas surprenant pour Android).
    oui mais là c'est pour une seule fonction... c'est pas un peu usine à gaz ?

    Merci

    Nico

  6. #6
    Modérateur
    Avatar de Hizin
    Homme Profil pro
    Développeur mobile
    Inscrit en
    Février 2010
    Messages
    2 180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Par défaut
    Pour une seule fonction, ça peut être excessif. Je ferai ainsi, histoire de découpler... mais c'est vrai que la pertinence ne sera pas forcément intégralement au rendez-vous
    C'est Android, PAS Androïd, ou Androïde didiou !
    Le premier est un OS, le second est la mauvaise orthographe du troisième, un mot français désignant un robot à forme humaine.

    Membre du comité contre la phrase "ça marche PAS" en titre et/ou explication de problème.

    N'oubliez pas de consulter les FAQ Android et les cours et tutoriels Android

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

Discussions similaires

  1. Afficher une classe "active"
    Par stevench dans le forum jQuery
    Réponses: 2
    Dernier message: 28/11/2013, 10h22
  2. Supprimer une classe Fille sans toucher a la Mere
    Par 17mounir dans le forum Hibernate
    Réponses: 2
    Dernier message: 08/01/2007, 12h27
  3. Une classe vector sans STD?
    Par dedesite dans le forum C++
    Réponses: 7
    Dernier message: 31/05/2006, 17h04
  4. Créer une classe commune à +sieurs fiches
    Par rtg57 dans le forum C++Builder
    Réponses: 2
    Dernier message: 08/05/2006, 17h58
  5. Réponses: 4
    Dernier message: 08/10/2005, 09h31

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