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 :

Interactions entre les classes ?


Sujet :

Android

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut Interactions entre les classes ?
    Bonjour,

    Je développe un jeu Android de type Quiz. Le menu est maintenant fini et je m'attaque donc au jeu en lui-même. Lorsque le bouton "Nouvelle partie" est cliqué , j'appelle donc une nouvelle activité gérée par la classe Jeu. Pour mieux comprendre ma question je vous explique comment je vois les choses.

    Une partie se compose de la façon suivante :

    - Apparition du décor.
    - Un texte apparaît pour dire que la première question va arriver.
    - Le texte disparaît au bout de 3sec et une nouvelle vue apparaît , elle prend 90% de l'écran et est composée de la question et de 4 propositions.
    - Le joueur à 5secondes (par exemple) pour répondre à la question.
    - A la fin de ces 5 secondes la vue disparaît et le décors redevient donc visible entièrement.
    - Un message indique si la réponse choisie est juste ou non.
    - Un nouveau message indique que la question 2 demarrera dans quelques secondes.
    - ... et ainsi de suite ...

    Là où bloque c'est dans l'organisation avec mes classes.
    Je pensais que la classe Jeu serait la classe principale et appellerai la classe Question et la classe Message lorsque que c'est nécessaire. Le problème est justement de savoir quand cela est nécessaire.

    En gros voici ma question : comment dire à la classe principale de lancer une nouvelle instance de Question ou de Message ?

    Je connais les principes de la POO. Je gère l'affichage ou non des vues dans les classes Question et Message en jouant sur la visibilité de leur LinearLayout réciproque. Et je gère le contenu de ces vues en utilisant les paramètres des constructeurs. Ce que j'ai fait pour l'instant c'est gérer la durée d'affichage de la question avec un Handler. Seulement lorsque ma vue repasse en invisible , comment dire à ma classe Jeu de lancer une nouvelle instance de Message puis de Question ?

    J'espère m'être bien fait comprendre.
    Merci d'avance.

  2. #2
    Membre confirmé Avatar de Kazh Du
    Homme Profil pro
    Développeur Java
    Inscrit en
    Novembre 2011
    Messages
    152
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2011
    Messages : 152
    Points : 561
    Points
    561
    Par défaut
    J'ai (honnêtement) l'impression que tu essaies de mettre la charrue avant les bœufs (je me trompe peut-être bien sûr) et que tu te lance dans le développement sur Android (qui est déjà un problème en soit) sans trop savoir où aller.

    La description que tu nous donnes ressemble beaucoup à celle que me donne les utilisateurs de mes applis... et les traduire en quelque chose d'utilisable pour commencer à concevoir le projet est déjà un (gros) travail (je ne te parle même pas du développement).

    As-tu identifier ce qui intervient dans le déroulement de ton jeu ? (les acteurs en UML)
    Je suis sympa (si, si) je te donne les 2 que j'ai identifié :
    • le joueur (bon celui-là est simple)
    • le processus qui va alterner les écrans (message, questions, message...)


    Après tu peux chercher à décrire le fonctionnement d'une partie (indice c'est une boucle )

    Et ensuite seulement, tu pourras chercher à déterminer les classes métier (celles qui font le cœur de l'application) et les relations qui existent entre elles.

    Je sais, c'est long, c'est chiant mais c'est pro c'est le meilleur moyen d'éviter d'aller droit dans le mur. Je préfère te le signaler plutôt que de te donner la solution car si tu veux (et je te le souhaite) continuer et te lancer dans des projets plus complexes, mieux vaut être préparé.
    Merci d'ajouter un sur les tags qui vous ont aidé

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Pas de problème j'accepte volontiers les critiques.
    Tu as raison tout en ayant tord sur ma façon de faire. Oui je ne sais pas exactement où je vais mais j'en ai pleinement conscience et je fais ça volontairement. J'ai toujours mieux appris de la sorte. Cette application est juste un entrainement à grande échelle si je puis dire. J'en ai déjà fait 2-3 plutôt simplistes , celle-ci est la première assez grosse on va dire.

    Je me suis beaucoup renseigné , j'ai lu beaucoup de tutos avant de me lancer dans la création du menu. Puis quand j'ai saisi la logique de la chose , je me suis lancé. Et je fais exactement pareil maintenant à propos du jeu en lui-même. C'est bien le but de mon topic : savoir où je vais.

    J'apprends de nouvelles choses rien que dans ton message. Seulement je ne trouve absolument rien sur le net qui puisse m'aider à comprendre l'organisation entre les classes pour un jeu. Il y a beaucoup d'explications sur des applications , mais j'ai toutes les peines du monde à en trouver sur la conception d'un jeu android (ou non d'ailleurs). Ca fait d'ailleurs une semaine que je n'ai pas tapé une seule ligne de code , parce qu'il me manque beaucoup d'informations.

    Sais-tu comment je pourrai trouver ces informations ? A quel endroit chercher ?

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

    As-tu identifier ce qui intervient dans le déroulement de ton jeu ? (les acteurs en UML)
    Et ensuite seulement, tu pourras chercher à déterminer les classes métier (celles qui font le cœur de l'application) et les relations qui existent entre elles.

    Après je rejoins Kazh Du, il vaut mieux déjà dans un premier temps bien identifier toutes tes interactions et acteurs pour voir ce qui en ressort, ensuite regarder en fonction de la techno comment l'appliquer.

    Pour la partie techno regarde vers les Handlers et Thread .

    http://mathias-seguy.developpez.com/...async_memleak/
    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.

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Merci pour ta réponse. J'avoue être complétement perdu là. J'identifie les acteurs et actions , et ensuite ? Je doit faire un thread ihm et un autre qui s'occupe d'alterner les écrans ? Je ne sais vraiment pas comment avancer ...

  6. #6
    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
    Regarde bien le tutoriel

    En gros ton Thread IHM est celui de ton Activity en fait le UIThread

    Tu as l'explication de son fonctionnement ici :
    http://davy-leggieri.developpez.com/...oid/ui-thread/

    un autre qui s'occupe d'alterner les écrans
    L'autre doit juste gérer les étapes de ton processus est remonté à ton ThreadUI soit l' IHM, les actions qu'il doit faire. Cela permet d'alléger le Thread IHM et donc de ne pas 'freezer' l'affichage.

    Tu peux dans un premier temps regarder du côté des modèles MVC, qui est un bon début.
    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.

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Je connais le pattern MVC (le principe général en tout cas) mais j'avais lu , je ne sais plus où , qu'il n'était pas très bien adapté pour Android. C'est faux ?

    Et quand tu parle de remonter des actions à la ThreadUI , ça se fait comment ? Par le biais d'un handler ?

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


    Voici un exemple pour le modèle MVC :
    http://mindtherobot.com/blog/675/and...age-based-mvc/

    Après tu n'es pas obligé d'adapter le pattern MVC, mais l'idée est de décentraliser les donnée de traitements avec l'IHM.

    Par le biais d'un handler ?
    Oui
    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.

  9. #9
    Membre du Club
    Profil pro
    Inscrit en
    Avril 2012
    Messages
    78
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2012
    Messages : 78
    Points : 50
    Points
    50
    Par défaut
    Merci , j'ai déjà de quoi bien avancer. Je vais me renseigner , mais je préfère ne pas mettre ce sujet en Résolu vu que j'aurai surement des questions.

Discussions similaires

  1. [MySQL] POO - interaction entre les classes (tuto PHPUnit)
    Par hornetbzz dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/02/2010, 10h30
  2. Réponses: 2
    Dernier message: 13/03/2006, 17h25
  3. [PHP5][MYSQL]Préserver une connexion entre les classes
    Par nesbla dans le forum SQL Procédural
    Réponses: 3
    Dernier message: 02/02/2006, 11h51
  4. Réponses: 3
    Dernier message: 22/11/2005, 11h12
  5. Comparaison entre les classes et les fonctions
    Par Ashgenesis dans le forum Langages de programmation
    Réponses: 6
    Dernier message: 08/09/2005, 19h09

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