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.

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

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…