1. Introduction
Après avoir réalisé l'application Hello World, il est temps de développer une application plus interactive permettant d'effectuer des opérations sur des données saisies par l'utilisateur. L'application Calculatrice constitue un excellent exercice pour apprendre à manipuler les composants graphiques, récupérer les valeurs saisies, gérer les événements et afficher un résultat à l'écran.
Cette application permettra à l'utilisateur de saisir deux nombres puis d'effectuer les quatre opérations arithmétiques fondamentales : Addition, Soustraction, Multiplication et Division.
EditText, Button et TextView, tout en découvrant comment programmer les événements (OnClick) et manipuler des variables en Java.2. Création du projet
Pour créer l'application Calculatrice :
- Ouvrir Android Studio.
- Cliquer sur New Project.
- Sélectionner Empty Activity.
- Nom du projet : Calculatrice.
- Choisir le langage Java.
- Cliquer sur Finish.
Android Studio génère automatiquement les fichiers principaux du projet :
- MainActivity.java: contient la logique de l'application.
- activity_main.xml: définit l'interface graphique.
- AndroidManifest.xml: décrit l'application Android.
3. Conception de l'interface graphique
L'interface est composée des éléments suivants :
- Deux zones de saisie (
EditText) pour entrer les nombres. - Quatre boutons correspondant aux opérations mathématiques.
- Un
TextViewpour afficher le résultat.
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
android:padding="20dp">
<EditText
android:id="@+id/editNombre1"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Premier nombre"
android:inputType="numberDecimal"/>
<EditText
android:id="@+id/editNombre2"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Deuxième nombre"
android:inputType="numberDecimal"/>
<Button
android:id="@+id/btnAddition"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Addition"/>
<Button
android:id="@+id/btnSoustraction"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Soustraction"/>
<Button
android:id="@+id/btnMultiplication"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Multiplication"/>
<Button
android:id="@+id/btnDivision"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Division"/>
<TextView
android:id="@+id/txtResultat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:text="Résultat :"
android:textSize="24sp"
android:textStyle="bold"
android:paddingTop="20dp"/>
</LinearLayout>
4. Explication des composants
- EditText : permet à l'utilisateur de saisir des valeurs numériques.
- Button : déclenche une opération lorsque l'utilisateur clique dessus.
- TextView : affiche le résultat du calcul.
- LinearLayout : organise les composants verticalement.
inputType="numberDecimal" permet d'afficher directement un clavier numérique adapté à la saisie des nombres décimaux.5. Développement de la logique Java
Le code Java récupère les valeurs saisies, effectue les calculs puis affiche le résultat.
package com.example.calculatrice;
import androidx.appcompat.app.AppCompatActivity;
import android.os.Bundle;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;
public class MainActivity extends AppCompatActivity {
EditText nombre1, nombre2;
Button addition, soustraction, multiplication, division;
TextView resultat;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
nombre1 = findViewById(R.id.editNombre1);
nombre2 = findViewById(R.id.editNombre2);
addition = findViewById(R.id.btnAddition);
soustraction = findViewById(R.id.btnSoustraction);
multiplication = findViewById(R.id.btnMultiplication);
division = findViewById(R.id.btnDivision);
resultat = findViewById(R.id.txtResultat);
addition.setOnClickListener(v -> calculer('+'));
soustraction.setOnClickListener(v -> calculer('-'));
multiplication.setOnClickListener(v -> calculer('*'));
division.setOnClickListener(v -> calculer('/'));
}
private void calculer(char operation){
double a = Double.parseDouble(nombre1.getText().toString());
double b = Double.parseDouble(nombre2.getText().toString());
double res = 0;
switch(operation){
case '+':
res = a + b;
break;
case '-':
res = a - b;
break;
case '*':
res = a * b;
break;
case '/':
if(b != 0)
res = a / b;
else{
resultat.setText("Erreur : division par zéro");
return;
}
break;
}
resultat.setText("Résultat : " + res);
}
}
6. Analyse du code
Le fonctionnement de l'application repose sur plusieurs étapes :
- Les composants de l'interface sont reliés au code Java grâce à
findViewById(). - Chaque bouton possède un écouteur d'événement (
setOnClickListener()). - Lors d'un clic, les valeurs saisies sont récupérées sous forme de texte.
- Les chaînes de caractères sont converties en nombres grâce à
Double.parseDouble(). - L'opération choisie est exécutée à l'aide d'une structure
switch. - Le résultat est affiché dans le composant
TextView.
7. Résultat obtenu
L'application permet :
- Saisir deux nombres.
- Choisir une opération mathématique.
- Afficher immédiatement le résultat.
- Détecter une division par zéro et afficher un message d'erreur.
try-catch afin d'éviter les erreurs liées à une saisie invalide.8. Compétences acquises
À travers cette application, l'étudiant apprend à :
- Créer une interface utilisateur complète sous Android Studio.
- Manipuler les composants graphiques Android.
- Programmer les événements liés aux boutons.
- Convertir des données texte en valeurs numériques.
- Effectuer des calculs arithmétiques en Java.
- Afficher dynamiquement un résultat à l'écran.
- Gérer une erreur simple comme la division par zéro.
Rédigé et structuré par : Med Khalil Kribi