Android : création d’une application de calcul d’IMC

Ce projet écrit en Java, à l’aide de l’IDE Android Studio, m’a permis de découvrir l’environnement Android et son fonctionnement. Au départ, simple application de calcul d’IMC, son développement, selon le modèle MVC, m’a permis d’aborder plusieurs points intéressants de la programmation sous Android : les tests unitaires, la documentation, la sérialisation, l’enregistrement dans une base local et distante notamment.

La construction de l’interface

L’interface est simple, mais m’a permis de comprendre le fonctionnement de la « Activity_main.xml ». La construction de l’interface a commencé par la mise en place des gabarits.

Mise en place des gabarits

Puis de tous les éléments de l’interfaces, jusqu’à atteindre le résultat suivant.

Fin de la mise en place de l’interface graphique

Mise en place du modèle MVC

A l’issue, il a fallu relier tous les éléments graphiques au code de l’application par l’intermédiaire de « MainActiviy ».

Pour bien coder et faciliter par la suite la maintenance, il est préférable de développer selon le modèle MVC (Modèle-Vue-Contrôleur), j’ai donc mis en place le contrôleur.

Il a fallu gérer les évènements, notamment de click sur le bouton « calculer »

tests unitaires et documentation techniques

Une fois l’interface finie et le modèle MVC mis en place, il a fallu contrôler que notre application donne les bons résultats de calculs d’IMC en fonction du sexe, du poids et de la taille. C’est pourquoi, j’ai mis en place des tests unitaires pour être sûr que les résultats attendus soient corrects. Ensuite, Pour es futurs développeurs ou utilisateurs, il était intéressant de produire la documentation technique.

Gestion de version

Afin de rendre le développement plus serein et de partager le travail, j’ai mis en place Git pour gérer les différentes version du code.

J’ai également envoyer le code dans un dépôt en ligne : Bitbucket.org

Sauvegarde des données

Jusqu’à maintenant, l’application ne faisait que calculer l’IMC. A chaque redémarrage, il fallait renseigner les valeurs. A l’aide d’une classe de Sérialisation » fournit, j’ai modifié le code afin que l’objet « profil » dans lequel sont stockées les valeurs renseignées par l’utilisateur, puissent être sérialisées à la fermeture de l’application et désérialisées lors de son ouverture.

Enregistrement en local à l’aide de Sqlite

La suite à venir…