TP1 android: Création d'application de conversion Euro-Dollar

Android – TP1 : Conversion Euro-Dollar

Créer un projet

Créer un projet Android (fr.efrei.android.eurodollar) ; nom de l’application : Conversion EuroDollar.

Activité : ConversionMonnaie.

XML et l’IHM

Le SDK permet de créer des strings, des interfaces, etc. soit directement avec XML, soit via un éditeur. On peut passer de l’un à l’autre en cliquant sur l’onglet en bas de page.

Choisir « res/layout/main.xml » et vérifier cela.

Le format XML du manifest est défini ici.

Android permet de créer des attributs pour les ressources (chaînes, couleurs, etc.). Ces attributs peuvent être utilisés dans la définition de l’IHM via XML ou dans le code Java.

Sélectionner le fichier « res/values/strings.xml » et cliquer sur Add.

Ajouter un attribut Color avec les valeurs suivantes :

  • name : « myColor »
  • value : « #3399CC »

Créer les attributs chaînes suivants (name, value) :

  • « euro », « en Euro »
  • « dollar », « en dollar »
  • « calc », « calculer »

Vérifier que tout a été bien ajouté dans le fichier XML.

IHM

Sélectionner « res/layout/main.xml » et ouvrir l’éditeur graphique Android en double-cliquant.

L’éditeur permet de créer une IHM en utilisant le « Drag and Drop ». Vérifier que ce qui est ajouté visuellement correspond bien au fichier XML (voir les onglets en bas de page).

1. Cliquer (bouton droit) sur « Hello World! » et supprimer le texte.

2. Ajouter une zone de texte (EditText) pour entrer une valeur en € ou en $.

3. Ajouter 2 boutons radio appartenant au même groupe (RadioGroup) :

  • Sélectionner le groupe « RadioGroup » dans « Form Widgets ».
  • Ajouter deux boutons radio simples : « Euro » et « Dollar ».

4. Ajouter un bouton à la fin pour valider.

5. Vérifier le fichier XML (lire attentivement les modifications apportées).

Éditer les propriétés de l’IHM

On peut modifier la plupart des propriétés en utilisant le bouton droit sur un widget ou directement via le fichier XML.

1. Ouvrir le fichier XML (main.xml).

2. Supprimer la ligne « android:text=@string/EditText » et vérifier que le texte a bien disparu de l’IHM.

3. Renommer le premier bouton radio « Euro » et le deuxième « Dollar » via les propriétés (bouton droit sur le widget et Edit Text).

4. Sélectionner la propriété « Checked » pour le premier bouton radio (Euro).

5. Renommer le bouton de validation « Calculer » et affecter « myClickHandler » à la propriété « onClick » (gestion d’événement).

6. Configurer le champ de texte (EditText) avec les propriétés suivantes :

  • « inputType » : « numberSigned »
  • « numberDecimal » : « true »

7. Le layout choisi est le « LinearLayout » ; lui affecter une couleur de fond en utilisant l’attribut « myColor » créé précédemment.

8. Vérifier toutes les modifications dans le fichier « main.xml ».

Gestion d’événements

Pendant la génération du projet, vous avez dû définir l’activité (ConversionMonnaie) ; le système a créé la classe Java « ConversionMonnaie » qui hérite de « Activity ».

1. Récupérer le contenu du champ de texte avec un code similaire à :

Text = (EditText) findViewById(R.id.editText1);

Il faut toujours consulter la documentation officielle pour les spécifications des classes.

La méthode « findViewById » permet de récupérer une référence à un widget à partir de son identifiant (ID) dans le layout.

2. Écrire le code de gestion de l’événement « click sur bouton » :

public void myClickHandler(View view) {
    switch (view.getId()) {
        case R.id.button1:
            EditText text = (EditText) findViewById(R.id.editText1);
            RadioButton euroButton = (RadioButton) findViewById(R.id.radio0);
            RadioButton dollarButton = (RadioButton) findViewById(R.id.radio1);

            if (text.getText().length() == 0) {
                Toast.makeText(this, "Veuillez entrer un nombre valide", Toast.LENGTH_LONG).show();
                return;
            }

            float inputValue = Float.parseFloat(text.getText().toString());

            if (euroButton.isChecked()) {
                text.setText(String.valueOf(convertEuroToDollar(inputValue)));
                euroButton.setChecked(false);
                dollarButton.setChecked(true);
            } else {
                text.setText(String.valueOf(convertDollarToEuro(inputValue)));
                dollarButton.setChecked(false);
                euroButton.setChecked(true);
            }
            break;
    }
}

// Convertir Dollar à Euro
private float convertDollarToEuro(float dollar) {
    return dollar * 0.85f; // Exemple de formule (à adapter selon les taux réels)
}

// Convertir Euro à Dollar
private float convertEuroToDollar(float euro) {
    return euro * 1.18f; // Exemple de formule (à adapter selon les taux réels)
}

Lancer et tester l’application

1. Ouvrir les perspectives suivantes : logCat, DDMS, et « File Explorer ».

2. Dans « File Explorer », aller dans Data, puis app et trouver le fichier « apk » correspondant à l’application.

Ajouter l’application à un terminal

1. Activer « USB Debugging » dans les paramètres du terminal (Paramètres → À propos du téléphone → Numéro de build → Développement → Activer le débogage USB).

2. Utiliser la version de développement compatible avec le terminal.

3. Installer le pilote du terminal pour permettre le transfert des fichiers.

FAQ

Comment vérifier les modifications dans le fichier XML ?

Ouvrez le fichier « main.xml » dans l’éditeur Android Studio et comparez les éléments visuels avec leur représentation XML.

Pourquoi utiliser un RadioGroup pour les boutons radio ?

Un RadioGroup permet de regrouper plusieurs boutons radio pour n’en sélectionner qu’un seul à la fois, ce qui est nécessaire pour une conversion entre deux monnaies.

Que faire si l’application ne se lance pas sur le terminal ?

Vérifiez que le débogage USB est activé et que le pilote du terminal est correctement installé.

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