Vous êtes sur la page 1sur 3

TP : Initiation à la Programmation avec Android

Ma première application Android


1) Pour créer un projet Android :
 Cliquez sur « Start a new Android project ».
 Spécifiez le nom du projet Helloworld, son nom de domaine et son emplacement, puis
cliquez sur « Next ».
 Choisissez l'API et la nature de l'équipement. Android Studio vous donne des
informations sur le pourcentage d'appareils ciblés en fonction de l'API choisie, puis
cliquez sur « Next ».
 Choisissez la nature de l'activité. Nous allons prendre « blank Activity », puis cliquez
sur « Next ».
 Complétez les champs requis en précisant le nom de l'activité (nom de layout : main,
puis cliquez sur « Finish ».

2) Exécuter votre application Helloworld. Qu’affiche-t-elle ? où a été spécifié cet affichage


dans le code ?

3) Notion d’Activity :
L’activité représente le bloc de base d’une application. Elle correspond à la partie
présentation de l’application et fonctionne par le biais de vues qui affichent des interfaces
graphiques et répondent aux actions utilisateur.
Il est possible d’avoir plusieurs activités dans le même programme. Elle doit toujours être
déclarée dans le fichier AndroidManifest.xml.
Une activité n’est pas linéaire, elle est soumise à plusieurs évènements. Chaque événement
est représenté dans une méthode :
 onCreate() : Cette méthode est appelée à la création d’une activité. Elle permet de
l’initialiser. C’est ici que l’interface graphique est spécifiée.
 onStart() : Cette méthode est appelée quand l’application est démarrée.
 onResume() : Cette méthode est appelée quand l’application passe (ou repasse) en
avant-plan.
 onPause() : Appelée quand l’application passe en arrière-plan et qu’une autre
application se met devant.
 onStop() : Appelée quand l’application n’est plus visible.
 onRestart() : Appelée quand l’application redevient visible.
 onDestroy() : Appelée quand votre application est fermée par le système à cause
d’un manque de ressources, ou par l’utilisateur à l’utilisation d’un finish().

a) Nous désirons voir le comportement de l’activité pour chacun de ces évènements.


Pour cela, chaque méthode va afficher son nom.
Indication : Utiliser le code suivant pour l’affichage :
Toast helloToast = Toast.makeText(this, "message à afficher", Toast.LENGTH_LONG);
helloToast.setGravity(Gravity.CENTER, 0, 0);
helloToast.show();

b) Dans la méthode onCreate, commenter la ligne


setContentView(R.layout.main);
et la remplacer par :
TextView tv = new TextView(this);
tv.setText("Hello, Android");
setContentView(tv);
que constatez-vous ?

Modification de l’interface graphique


1) Ajout d’éléments graphiques
L’interface graphique est gérée grâce aux fichiers xml se trouvant dans le répertoire
layout. Il est ainsi possible de créer tous les éléments de l’interface grâce à des drag-and-
drop.
a) Ajouter à votre application Helloworld un bouton et un champ de saisie. Noter
les changements dans le code XML du fichier main.xml. Exécuter.
Indication : Avant d’exécuter, annuler l’opération 3-b.

Pour définir le comportement de votre bouton, suivez les étapes suivantes :


Comportement d’un bouton
 Dans le code du fichier main.xml, associer un identifiant, un titre à votre bouton et un
évènement de click :
<Button android:id="@+id/boutonAfficher"
android:text="Afficher"
android :onClick= "display"
… />

 Dans le code du fichier java, créer la méthode :


public void display(View v) {
//comportement de votre bouton
}

b) Modifier le comportement de votre bouton pour qu’il affiche « Click Button ! »


pendant 2 secondes dans un Toast, quand il est cliqué.
Indication : Modifier l’instruction d’affichage pour qu’elle devienne comme suit :
Toast helloToast = Toast.makeText(HelloworldActivity.this, "message à afficher",
Toast.LENGTH_LONG);
helloToast.setGravity(Gravity.CENTER, 0, 0);
helloToast.show();

2) Création d’une nouvelle activité


Créer une nouvelle activité qu’on nommera Activity2, contenant uniquement un
champ de texte de type TextView, qu’on nommera affichText. Ecrire dans ce champ
de texte la chaîne : « Salut ! »

3) Passage d’une activité à une autre


Le passage entre deux activités requiert un Intent. Il permet de passer des messages
entre deux activités.
Il existe plusieurs manières de créer un Intent. Nous allons choisir la suivante :
Intent myIntent = new Intent(<contexte>, <classe de l’activité cible>);
Pour démarrer une autre activité, il faut lancer la méthode startActivity(myIntent) de
la classe Activity initiale.

 Configurer le comportement de votre bouton pour qu’il lance l’activité


Activity2, et observez le résultat.

4) Récupération de messages entre activités


 Pour passer un message à une activité, on ajoute des Extras aux Intents. Par
exemple :
myIntent.putExtra(<id>, <chaîne>);
va passer la chaîne de caractère chaîne dans une variable appelée id à l’activité
cible de l’Intent.

 Dans l’activité cible, on récupère cet Extra en utilisant :


getIntent().getStringExtra(<id>) ;

 Modifier vos activités de manière à ce que :

- L’utilisateur saisit une chaîne dans le champ de saisie de Helloworld


- L’utilisateur clique sur le bouton
- Activity2 est chargée, et le champ de texte TextView contient la
chaîne qu’a saisi l’utilisateur.