Correction Exam 2011 2012

5
Examen [session principale] Année Universitaire : 2011/2012 Semestre : 2 ème Semestre Niveau d’Etude : L2SE Date : 26/05/2012 Matière : Programmation Mobile Durée : 2h00 Enseignants Responsables: Lilia Sfaxi Documents : Non autorisés Nombre de pages : 5 Le barème est donné à titre indicatif. La clarté de la copie rendue sera prise en considération. 1 Cycle de vie d’une activité (2-2-1) Le diagramme suivant représente le cycle de vie d’une activité. Démarrage (1) (2) onResume() (3) Exécution onStop () (4) onRestart () Processus Tué Fermeture

description

Correction android

Transcript of Correction Exam 2011 2012

  • Examen [session principale] Anne Universitaire : 2011/2012

    Semestre : 2me Semestre

    Niveau dEtude : L2SE Date : 26/05/2012

    Matire : Programmation Mobile Dure : 2h00

    Enseignants Responsables: Lilia Sfaxi Documents : Non autoriss

    Nombre de pages : 5 Le barme est donn titre indicatif. La clart de la copie rendue sera prise en considration.

    1

    Cycle de vie dune activit (2-2-1)

    Le diagramme suivant reprsente le cycle de vie dune activit.

    Dmarrage

    (1)

    (2)

    onResume()

    (3)

    Excution

    onStop ()

    (4)

    onRestart ()

    Processus Tu

    Fermeture

  • 2

    1. Donner les noms des mthodes manquantes (1), (2), (3) et (4). (1) onCreate() (2) onStart() (3) onPause() (4) onDestroy()

    2. Quelle est la diffrence entre la mthode onResume() et la mthode numro (2) ?

    onStart() : Cette mthode est appele quand lapplication est dmarre.

    onResume() : Cette mthode est appele quand lapplication passe (ou repasse) en avant-plan.

    3. Quelle est la mthode qui doit tre obligatoirement implmente ? onCreate()

    Gestion de linterface (0.5-1.5-2-1.5) 1. Dans quel rpertoire doit-on crer le fichier qui reprsente linterface ? layout 2. Considrons le code xml suivant :

    a. Donner lentte de la mthode qui dfinit le comportement de ce bouton. public void recherche(View v)

    b. Soit linstruction suivante: Toast.makeText(MonActivity.this, long clic!, 1000).show();

    Nous souhaitons que ce Toast apparaisse quand on fait un clic long sur le bouton b1. Quelle est linstruction qui permet de faire cela? b1.setOnLongClickListener(new OnLongClickListener(){ public boolean onLongClick(View v){ Toast.makeText(MonActivity.this, long clic!, 1000).show(); } }

    3. On aimerait crer un lment EditText. a. Que permet de faire cet lment?

    Un lment EditText permet lutilisateur de saisir des entres.

  • 3

    b. Ecrire le code xml de cet lment, sachant quon dsire lui donner lidentifiant ed et la mme taille de son conteneur.

    c. On aimerait changer la couleur du texte de cet lment. Quel est lattribut quon doit

    ajouter? - colortext - android:colorText - android:textColor

    4. Soit linstruction suivante dans le code dune activit : pb = (ProgressBar) findViewById(R.id.progBar) ;

    b. Que permet de faire cette instruction ? Cette instruction permet dassocier llment graphique progBar la variable Java pb

    c. Quel est lidentifiant de cet lment graphique dans le fichier xml ? progBar

    d. Quel est le type de cet lment graphique ? ProgressBar

  • 4

    Gestion du comportement (0.5-2-2-2.5-0.5) 1. Que permet de faire le fichier AndroidManifest.xml ? Le Manifest permet de stocker les informations sur lapplication, comme les diffrentes activits, la version du SDK. 2. Quel est lobjet utilis pour faire le passage entre deux activits ? Donner un exemple

    dutilisation de cet objet. On utilise un Intent pour passer dune activit une autre. Un Intent est un conteneur dinformation. Il permet de passer des messages entre deux activits. Exemple : Intent i = new Intent(ActDepart.this, ActArrivee.class) ; startActivity(i) ; 3. Soit la mthode suivante : public void onCreateContextMenu(ContextMenu menu, View v, ContextMenuInfo menuInfo) { super.onCreateContextMenu(menu, v, menuInfo); menu.add(0, 1, 0, "Ajouter"); menu.add(0, 2, 0, "Supprimer");

    menu.add(0, 3, 0, "Modifier"); menu.add(0, 4, 0, "Quitter");

    }

    a. Dfinir llment graphique auquel elle est associe. Cette mthode est associe un menu contextuel. Un menu contextuel est un menu flottant, associ un vnement sur un lment graphique de linterface.

    b. Que permet de faire cette mthode ? Dessiner son rsultat. Cette mthode permet dajouter quatre lments au menu : Ajouter, supprimer, modifier et quitter.

  • 5

    4. Soit la mthode suivante :

    public boolean onContextItemSelected(MenuItem item) { ... return super.onContextItemSelected(item); }

    a. Que permet de faire cette mthode ? Elle permet dassocier un comportement chaque lment du menu.

    b. On voudrait faire appel respectivement aux mthodes ajouter(), supprimer() et modifier() si on clique sur Ajouter, Supprimer ou Modifier, et fermer lactivit si on clique sur Quitter. Donner le code ncessaire pour faire cela.

    switch (item.getItemId()){ case 1: ajouter(); break; case 2: supprimer(); break; case 3: modifier(); break; case 4: finish(); }

    5. Quelle est la mthode quon doit surcharger si on veut dfinir le contenu du menu affich

    quand on clique sur le bouton Menu du tlphone? onCreateOptionsMenu Excution (1-0.5-0.5) 1. Ds le dmarrage de notre activit, un message derreur apparat. Donner deux endroits

    possibles (mthodes ou fichiers) o peut se trouver lerreur. - la mthode onCreate - le manifest

    2. Nous avons corrig cette erreur, mais maintenant, le message derreur apparat quand on

    clique sur le bouton. Donner un endroit o peut se trouver lerreur. Dans la mthode qui dcrit le comportement du bouton. 3. Jai cr une application avec deux activits. Lune envoie une information lautre. Mais

    jobtiens des rsultats errons. Quelle est la cause de lerreur, si jai crit dans lactivit de dpart :

    i.putExtra("var", "mess") ; et dans lactivit darrive : String s = getIntent().getStringExtra("mess") ;

    getStringExtra("var"), pas "mess" BON TRAVAIL.