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 :

MVC sous android, utilisation de activitymanager


Sujet :

Android

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut MVC sous android, utilisation de activitymanager
    Bonjour,

    J'aimerais savoir s'il est possible de créer une application Android contenant un controlleur.
    Je m'explique j'aimerais simplement développer une application avec deux écrans, un bouton sur chaque, et le bouton du 1er écran permet d'accéder au 2éme écran, et le bouton du 2éme écran permet d'accéder au premier.
    Il n'y a pas besoin de controlleur dans cett appli, mais j'aimerais juste avoir une idée de comment faire pour en mettre un.
    L'objectif étant que chaque écran passe par le controlleur lorsque l'on clique sur le bouton pour accéder à l'autre écran.

    Je ne sais pas si je suis trés clair.

    J'ai une autre question en rapport avec celle ci-dessus, la class ActivityManager me permettrait-elle de faire ce que je recherche? Si oui, comment l'utilisait, je n'ai pas trés bien compris la doc android.

    Merci!!!

  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
    Humm moi je dirai que c'est possible.

    Je vois deux possibilité:

    -Tu lance l'appli sur la première activity donc sur ton ecran 1, tu clique sur le bouton, ça appel une fonction e1Verse2 de ton controlleur. Cette fonction lancer ton ecran 2, et quand on clique sur le bouton, ca eppel une fonction e2Verse1 dans le controlleur qui affichera l'ecran 1...


    -Tu utilise l'activity de base comme controlleur, à l'affichage de celle-ci, tu demande sur quel écran (activity) démarrer (ou tu lance un écran automatiquement par le code) puis après tu agis de la même manière.
    le bouton de l'écran1 appellera une méthode de l'acitvity de base qui enverra sur la deuxième ainsi de suite...

  3. #3
    Invité
    Invité(e)
    Par défaut
    Je vais tester la première possibilités, par contre je ne vois pas la différence entre la deuxième et ce j'ai fait, il n'y a pas de controlleur dans ce que tu propose?

  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
    Si dans la deuxième solution c'est l'activity principale qui joue le role de controleur. Ton activity principal lance l'activiy ecran1, quand tu clique sur le bouton de l'activity ecran1, tu fais appel à la fonction ton actitivy controller (donc ton activity principale) affichageEcran2, et du coup ca te change d'activity, tu sera sur l'activity ecran2, et au clique sur bouton, ca appel la fonction de l'activity principale affichageEcran1...

  5. #5
    Invité
    Invité(e)
    Par défaut
    Ok, donc dans mon projet j'aurais une classe activityprincipal, une afficherEcran1, une afficherEcran2 et une derniére controler?
    Ou j'aurais juste trois classes et la classe activityprincipal me sert de controler?
    c'est les deux solutions que tu proposes (en gros)?
    si c'est le cas, la deuxième semble moins lourde à mettre en place non?

  6. #6
    Invité
    Invité(e)
    Par défaut
    Bon voici mes différents classes, l'application fonctionne mais comment savoir si elle passe par le controleur ou pas?

    class principal (appelé ChangementEcran)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    public class ChangementEcran extends Activity {
        /** Called when the activity is first created. */
        @Override
        public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
    	        Controller controller = new Controller(this);
    	        Intent intentcontrol = new Intent(this,Controller.class);
    	    //    Intent intentEcran2 = new Intent(this,DisplayEcran2.class);
     
         }
    }
    Class DisplayEcran1:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
     
    public class DisplayEcran1 extends Activity{
     
        public void onCreate(Bundle savedInstanceState) 
        { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.ecran1); 
     
            OnClickListener Button1 = new OnClickListener(){
            	public void onClick(View actuelView) 
                { 
                Intent intent1 = new Intent(DisplayEcran1.this,DisplayEcran2.class);
                startActivity(intent1);
                }
            };
            Button bouton1 = (Button) findViewById(R.id.button1); 
            bouton1.setOnClickListener(Button1);
        }
    }
    classe DisplayEcran2 :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    public class DisplayEcran2 extends Activity{
     
        public void onCreate(Bundle savedInstanceState) 
        { 
            super.onCreate(savedInstanceState); 
            setContentView(R.layout.ecran2); 
     
            OnClickListener Button2 = new OnClickListener(){
            	public void onClick(View actuelView) 
                { 
                Intent intent2 = new Intent(DisplayEcran2.this,DisplayEcran1.class); 
                startActivity(intent2);
                }
            };
     
            Button bouton2 = (Button) findViewById(R.id.button2); 
            bouton2.setOnClickListener(Button2);
        }
    }
    Classe controleur :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     
    public class Controller {	
    	public ChangementEcran changementEcran;
    	public Controller(ChangementEcran changementEcran) {
    		this.changementEcran = changementEcran;
    		this.showDisplayEcran1();
    	}
     
    	public void showDisplayEcran1() {
    		Intent intent2 = new Intent(this.changementEcran,DisplayEcran1.class); 
    		this.changementEcran.startActivity(intent2);
    	}
    	public void showDisplayEcran2() {
    		Intent intent1 = new Intent(this.changementEcran,DisplayEcran2.class); 
    		this.changementEcran.startActivity(intent1);
    	}
     
    	public void start(){
     
    	}
    }

Discussions similaires

  1. Réponses: 3
    Dernier message: 30/08/2011, 09h24
  2. Utilisation du MVC sous Qt
    Par jderam dans le forum Débuter
    Réponses: 1
    Dernier message: 27/04/2009, 15h47

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