You are on page 1of 6

Devoir Surveill [session principale]

Anne Universitaire : 2011/2012


Semestre : 2me Semestre

Niveau dEtude : L2SE

Date : 02/04/2012

Matire : Programmation Mobile

Dure : 1h30

Enseignants Responsables: Lilia Sfaxi

Documents : Non autoriss

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

Installation
Vous

dsirez

raliser

un

application

avec

Android 2.3.3

en

utilisant

lenvironnement Eclipse.
Q1. Citer lensemble des lments que vous devez installer. (1pt)
-

JDK : Java Development Kit (pour la compilation Java)

Eclipse + ADT (Android Development Tools) : IDE pour le dveloppement Java +


Plugin Android

Android SDK (Software Development Kit) : Pour la compilation Android et


lmulateur

En crant une nouvelle application Android avec Eclipse, intitule Calcul, vous
obtenez larborescences suivante :
_ Calcul
|_ (1)
|_ isi.calcul
|_ CalculActivity.java
|_ (2)
|_ isi.calcul
|_ (3)
|_ Android 2.3.3
|_ assets
|_ bin
|_ (4)
|_ drawable-(5)
|_ ic_launcher.png
|_ drawable-ldpi
|_ drawable-mdpi
|_ (6)
1

|_ choixOperation.xml
|_ (7)
|_ strings.xml
|_ (8)
|_ proguard.cfg
|_ project.properties
Q2 : Donner le nom associ chacun des numros. (2pts)
(1) : src
(2) : gen
(3) : R.java
(4) : res
(5) : hdpi
(6) : layout
(7) : values
(8) : AndroidManifest.xml

Q3 : Quel est le rle de llment (3) ? partir de quel lment est-il


gnr ? (2pt)
Llment (3) est un fichier qui reprsente les ressources de lapplication sous forme
dlments Java, pour quils soient utiliss dans le code Java des activits. Il est gnr
partir du rpertoire res.

Interface
Dans votre application, vous avez commenc par modifier linterface.
Q4 : Quel fichier devez-vous modifier pour dfinir linterface ? (0,5pt)
choixOperation.xml

Vous avez crit le code suivant :


<?xml version="1.0" encoding="utf-8"?>
<LinearLayout () >
<TextView
android:id="@+id/titre"
android:text="Application de calcul"/>
<EditText
android:id="@+id/val1"

android:inputType="number"/>
<EditText
android:id="@+id/val2"
android:inputType="number" />
<RadioGroup
android:id="@+id/operations">
<RadioButton
android:id="@+id/somme"
android:checked="true"
android:text="Somme" />
<RadioButton
android:id="@+id/diff"
android:text="Diffrence" />
</RadioGroup>
<Button
android:id="@+id/calculer"
android:layout_gravity="center"
android:text="Calculer"
android:onClick="calculer" />
<TextView
android:id="@+id/res"
android:layout_gravity="center"
android:text="Resultat" />
</LinearLayout>

Q5 : Dessiner linterface que vous obtenez avec ce code. (lemplacement


des lments et leurs tiquettes sont prises en considration). (1pt)

Q6 : A quoi sert llment RadioGroup ? (0,5pt)


RadioGroup permet de rassembler les RadioButtons dans un groupe, pour les associer et
permettre quun seul bouton radio soit coch la fois.

Q7 : A quoi sert lattribut android:layout_gravity="center"? (0,5pt)


Cet attribut permet de centrer llment graphique auquel il est associ.

Code
Vous allez modifier le fichier CalculActivity.java
Q8 : Quest-ce quune activit en Android ? De quelle classe doit-elle
hriter ? (1pt)
Une activit est la composante principale pour une application Android. Elle reprsente
limplmentation mtier dans une application Android, permettant de grer lensemble des
vues et ressources.
Elle hrite de la classe Activity.

Q9 : Quelle est la diffrence entre une activit et une application ? (0,5pt)


Une application peut contenir plusieurs activits.

Votre application va avoir le comportement suivant :


- Lutilisateur saisit deux entiers dans les champs ddition val1 et val2
- Il choisit lopration faire : somme ou diffrence en cliquant sur le bouton
radio associ
- Il clique sur le bouton calculer. Le rsultat est affich dans le champs de
texte res.
Q10 : Donner la ligne de code ncessaire pour associer linterface dfinie
avec lactivit CalculActivity. (1pt)
setContentView(R.layout.choixOperation)

Vous avez cr une mthode dans le code pour dfinir le comportement de votre
bouton.
Q11 : Donner la signature de cette mthode (son modificateur de visibilit,
son type de retour, son nom et des paramtres). (2pt)
public void calculer(View v){}

public void onClick(View v) est accepte aussi.

Vous avez cr deux attributs reprsentant les deux boutons radios :


private RadioButton b1;
private RadioButton b2;

Vous voulez que b1 soit associ au bouton radio somme et b2 soit associ diff.
Q12 : Dans quelle mthode proposez-vous de faire ces initialisations ?
pourquoi ? (1pt)
Dans la mthode onCreate

Q13 : Donner les lignes de code ncessaires pour faire cela. (1pt)
b1 = (RadioButton) findViewById(R.id.somme) ;
b2 = (RadioButton) findViewById(R.id.diff) ;

Passage dune activit une autre


Vous dsirez crer une deuxime activit, appele ResultActivity, pour y afficher le
rsultat.
Q14 : Donner les tapes ncessaires pour crer une autre activit. (2pts)
-

Crer une nouvelle classe Java pour cette activit (elle doit hriter de Activity et
contenir une mthode onCreate)

Crer une nouvelle interface dans le rpertoire layout

Associer linterface avec lactivit (grce setContent)

Ajouter lactivit dans le fichier Manifest.

Le but est dafficher une nouvelle interface en cliquant sur le bouton. Pour cela,
nous avons besoin dun Intent.
Q15 : Quest-ce quun Intent ? (1pt)
Un Intent est un conteneur dinformation. Il permet de passer des messages entre deux
activits. Lactivit appelante pourra ainsi transmettre des informations lapplication
appele, ainsi quau systme Android.

Pour crer un nouvel Intent, nous avons besoin de la ligne de code suivante :
Intent i = new Intent(<contexte>, < cible>);

Q16 : Quelle est la valeur de contexte et de cible dans notre cas ? (1pt)
Context = CalculActivity.this

Cible = ResultActivity.class

Q17 : Donner la ligne de code ncessaire pour lancer la deuxime activit.


(1pt)
startActivity(i) ;

Dans notre application, nous avons calcul le rsultat afficher et lavons stock
dans la variable resultat. Nous dsirons lenvoyer lactivit suivante.
Q18 : Donner la ligne de code ncessaire pour envoyer la variable resultat
dans un message quon nommera mess. (1pt)
i.putExtra("mess", resultat) ;

BON TRAVAIL.

You might also like