TP3 - les composants Android Programmation Mobile

TP3 : Composants Android – Programmation Mobile

Introduction

Institut Supérieur d’Informatique, Université de Tunis El Manar

MME. LILIA SFAXI

Licence 3ème – Systèmes Embarqués, Année Universitaire : 2011/2012

Objectifs du TP

Ce TP vise à vous familiariser avec les principaux composants d’Android.

Nous développerons progressivement une application de conversion monétaire.

I. Boutons, Boutons Radios et Cases à Cocher

I.1. Associer un comportement à un bouton

1. Créer une méthode publique dans le code Java de l’activité pour définir le comportement du bouton. Elle doit être nommée public void auClicMethode(View v) et accepter un paramètre de type android.view.View.

2. Ajouter un bouton dans le fichier de layout XML en utilisant l’éditeur graphique.

3. Modifier son identifiant et son texte selon vos besoins. Remarque : Ces modifications peuvent être faites directement dans l’éditeur graphique via les options Edit Text et Edit ID.

4. Dans le code XML du bouton, ajouter l’attribut android:onClick="auClic".

5. Déclarer une ressource auClic dans le fichier strings.xml avec la valeur auClicMethode, correspondant au nom de la méthode créée en 1.

I.2. Gérer les Boutons Radios

Un bouton radio permet de sélectionner un état parmi deux : coché ou décoché. Il est généralement utilisé dans un groupe RadioGroup, où un seul bouton peut être coché à la fois.

Pour gérer son état, suivre ces étapes :

  1. Déclarer un attribut de type RadioButton dans l’activité (exemple : radio1).
  2. L’associer au bouton radio de l’interface via findViewById.
  3. Vérifier son état avec la méthode isChecked(). Exemple :

if (radio1.isChecked()) {

// Traitement

}

I.3. Gérer les Cases à Cocher

Les cases à cocher ont deux états : coché ou décoché. Contrairement aux boutons radios, plusieurs cases peuvent être cochées simultanément.

Pour les gérer, suivre ces étapes :

  1. Déclarer un attribut de type CheckBox dans l’activité (exemple : check1).
  2. L’associer à la case à cocher de l’interface via findViewById.
  3. Vérifier son état avec isChecked(). Exemple :

if (check1.isChecked()) {

// Traitement

}

  1. Modifier son état avec setChecked(boolean etat). Exemples :

check1.setChecked(false); // Décocher la case

check1.setChecked(true); // Cocher la case

TAF-3 : Implémentation des Méthodes de Conversion

1. Créer deux méthodes privées : dinarToEuro et euroToDinar, pour convertir une valeur en entrée.

Exemple :

private float dinarToEuro(float valeurDinar) {

return (float) (valeurDinar * 1.9919);

}

private float euroToDinar(float valeurEuro) {

return (float) (valeurEuro * 0.5020);

}

2. Implémenter la méthode convertir pour effectuer la conversion en fonction du bouton radio coché. Afficher le résultat dans le champ de texte Resultat.

Indication : Pour lire une valeur depuis un champ de texte (exemple : edt), utiliser :

EditText edt = (EditText) findViewById(R.id.edit_float);

float number = Float.valueOf(edt.getText().toString());

Pour afficher une valeur float dans un champ de texte, utiliser :

String s = String.valueOf(floatVar);

II. Menus

Les menus sur Android permettent d’ajouter des fonctionnalités supplémentaires, initialement cachées. Deux types existent :

  • Un menu d’options, déclenché par le bouton matériel Menu.
  • Un menu contextuel, déclenché par un long clic sur un élément.

Ces menus peuvent contenir du texte, des icônes, des boutons radios, des cases à cocher, des sous-menus ou des raccourcis.

II.1. Menu Contextuel

Pour créer un menu contextuel déclenché par un long clic sur un élément (exemple : element) :

  1. Déclarer un attribut pour l’élément et l’associer via findViewById.
  2. Ajouter un écouteur pour le long clic :

element.setOnLongClickListener(new OnLongClickListener() {

@Override

public boolean onLongClick(View v) {

v.showContextMenu();

return false;

}

});

element.setOnCreateContextMenuListener(this);

  1. Générer la méthode onCreateContextMenu pour définir les éléments du menu.
  2. Ajouter des menus avec menu.add(groupID, itemID, ordre, "nom du menu"). Exemple :

menu.add(0, 1, 0, "Taux dinar -> euro");

menu.add(0, 2, 0, "Taux euro -> dinar");

  1. Définir le comportement au clic via onContextItemSelected :

switch(item.getItemId()) {

case 1:

// Traitement 1 (exemple : afficher un Toast)

case 2:

// Traitement 2 (exemple : afficher un autre Toast)

}

TAF-4 : Menu Contextuel sur les Boutons Radios

Créer un menu contextuel pour les deux boutons radios avec deux options :

  • Taux dinar -> euro : afficher un message Toast avec le taux de conversion (1.9919).
  • Taux euro -> dinar : afficher un message Toast avec le taux de conversion (0.5020).

II.2. Menu d’Options

Pour gérer le menu d’options :

  1. Générer la méthode onCreateOptionsMenu pour créer les éléments du menu.
  2. Ajouter des options avant l’instruction return.
  3. Générer la méthode onOptionsItemSelected pour définir le comportement au clic.

TAF-5 : Menu d’Options

Créer un menu d’options avec deux éléments :

  • Conversion C° F : laisser vide pour l’instant.
  • Quitter : permettre de quitter l’application via finish().

III. Messages d’Alerte

Pour afficher un message d’alerte, utiliser le code suivant :

AlertDialog alertDialog;

alertDialog = new AlertDialog.Builder(this).create();

alertDialog.setTitle("Titre de l'alerte");

alertDialog.setMessage("Message à afficher !");

alertDialog.setButton("OK", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

dialog.dismiss();

}

});

alertDialog.show();

TAF-6 : Alerte pour Champ Vide

Créer une alerte qui s’affiche si l’utilisateur clique sur le bouton Convertir alors que le champ de saisie est vide.

IV. Travail à Faire (Homework)

1. Créer une nouvelle activité nommée ConversionTemperature dans le même projet. Elle doit convertir entre Celsius et Fahrenheit.

Formules de conversion :

Tc = (5/9) * (Tf - 32)

Tf = (9/5) * Tc + 32

Tc est la température en Celsius et Tf en Fahrenheit.

2. Implémenter le menu d’options Conversion C° F de la première activité pour qu’il ouvre la deuxième.

3. Créer un menu d’options dans la deuxième activité avec deux options :

  • Revenir à la conversion euro-dinar : permettre de retourner à la première activité.
  • Quitter : fermer l’application via finish().

FAQ

Comment convertir une valeur saisie en float ?

Utiliser Float.valueOf(edt.getText().toString())edt est le champ de texte (EditText) contenant la valeur.

Comment afficher un message dans un Toast ?

Utiliser Toast.makeText(this, "Message", Toast.LENGTH_SHORT).show() pour afficher un message temporaire.

Comment revenir à une activité précédente depuis une nouvelle activité ?

Utiliser Intent intent = new Intent(this, NomActivite.class); puis startActivity(intent) pour ouvrir la première activité.

Cela peut vous intéresser :

Partagez vos remarques, questions , propositions d'amélioration ou d'autres cours à ajouter dans notre site

Enregistrer un commentaire (0)
Plus récente Plus ancienne