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

  1. #1
    Membre averti 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
    Points : 339
    Points
    339
    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
    si ton travail est difficile et tes résultats sont minces
    n’oublie pas qu’un jour, le grand chêne a été un gland comme toi.

  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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    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 averti 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
    Points : 339
    Points
    339
    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...
    si ton travail est difficile et tes résultats sont minces
    n’oublie pas qu’un jour, le grand chêne a été un gland comme toi.

  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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    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 averti 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
    Points : 339
    Points
    339
    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
    si ton travail est difficile et tes résultats sont minces
    n’oublie pas qu’un jour, le grand chêne a été un gland comme toi.

  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 : 35
    Localisation : France

    Informations professionnelles :
    Activité : Développeur mobile

    Informations forums :
    Inscription : Février 2010
    Messages : 2 180
    Points : 5 072
    Points
    5 072
    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

  7. #7
    Membre averti 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
    Points : 339
    Points
    339
    Par défaut
    Bon, bah je vais commencer à refactoriser cette fonction et son receiver (il s'agit d'une fonction de téléchargement...

    Merci pour les réponses
    Nico
    si ton travail est difficile et tes résultats sont minces
    n’oublie pas qu’un jour, le grand chêne a été un gland comme toi.

+ 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