Académique Documents
Professionnel Documents
Culture Documents
1. Modèle (Model) :
a. Créez une classe IMCModel qui contiendra les méthodes nécessaires pour le calcul de l'IMC. b. Ajoutez des
attributs dans la classe pour stocker la masse et la taille.
2. Vue (View) :
a. Concevez une interface utilisateur (XML) avec deux champs de saisie (pour la masse et la taille), un bouton
de calcul et un champ de texte pour afficher le résultat de l'IMC. b. Associez la vue à la classe IMCModel pour
obtenir les données nécessaires pour le calcul.
3. Contrôleur (Controller) :
a. Créez une classe IMCController qui agira en tant que pont entre la vue et le modèle. b. Dans le contrôleur,
attachez la vue et le modèle et gérez les interactions utilisateur. c. Implémentez une fonction pour le bouton
de calcul qui récupère les données de la vue, les envoie au modèle pour le calcul de l'IMC, puis met à jour la
vue avec le résultat.
a. Modèle (Model) : - La classe IMCModel doit avoir des méthodes pour le calcul de l'IMC, par exemple
calculateIMC(masse: Double, taille: Double): Double. - Stockez la masse et la taille comme attributs
privés de la classe.
b. Vue (View) : - L'interface utilisateur doit avoir des champs de saisie pour la masse et la taille, un bouton
pour déclencher le calcul, et un champ de texte pour afficher le résultat. - Utilisez des widgets EditText,
Button, et TextView dans le fichier XML de la vue.
c. Contrôleur (Controller) : - La classe IMCController doit être responsable de la gestion des interactions
utilisateur. - Attachez la vue (IMCView) et le modèle (IMCModel) dans le contrôleur. - Implémentez la logique
pour le bouton de calcul, où les données de la vue sont transmises au modèle, et le résultat est ensuite
affiché dans la vue.
En suivant ce modèle MVC, votre application sera mieux organisée, facile à maintenir et à comprendre. Les
responsabilités sont clairement définies, favorisant la modularité et la réutilisabilité du code.
IMCModel.kt (Modèle) :
class IMCModel {
private var masse: Double = 0.0
private var taille: Double = 0.0
activity_main.xml (Vue) :
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
tools:context=".MainActivity">
<EditText
android:id="@+id/editTextMasse"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:hint="Masse (kg)" />
<EditText
android:id="@+id/editTextTaille"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextMasse"
android:layout_marginTop="16dp"
android:hint="Taille (m)" />
<Button
android:id="@+id/btnCalculer"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/editTextTaille"
android:layout_marginTop="16dp"
android:text="Calculer IMC" />
<TextView
android:id="@+id/textViewResultat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/btnCalculer"
android:layout_marginTop="16dp"
android:text="Résultat IMC : " />
</RelativeLayout>
MainActivity.kt (Contrôleur) :
import android.os.Bundle
import android.widget.Button
import android.widget.EditText
import android.widget.TextView
import androidx.appcompat.app.AppCompatActivity
editTextMasse = findViewById(R.id.editTextMasse)
editTextTaille = findViewById(R.id.editTextTaille)
btnCalculer = findViewById(R.id.btnCalculer)
textViewResultat = findViewById(R.id.textViewResultat)
btnCalculer.setOnClickListener {
calculateIMC()
}
}
imcModel.setMasse(masse)
imcModel.setTaille(taille)