Projet "Dépann'tout" : Contexte
On souhaite réaliser une application pour un auto-entrepreneur qui effectue des dépannages à domicile. Dans un premier temps, 2 fonctionnalités seront développées :
- La gestion des clients : il sera possible de lister les clients et créer, modifier et supprimer un client. Attention, la suppression ne sera possible que s'il n'y a pas d'intervention pour ce client. Pour un client, nous aurons besoin d'un identifiant, d'un nom, d'un prénom, d'un no de téléphone, d'une adresse mail et d'une adresse postale.
- La gestion des interventions chez les clients: il sera possible de lister les interventions et créer, modifier et supprimer une intervention. Une intervention est caractérisée par un identifiant, les date et heure d'intervention, une observation et l'identifiant du client concerné en clé étrangère.
Organisation de la base de données et de ses accès
Il s'agit désormais de créer une base de données avec 2 tables. Nous retrouverons une classe permettant de créer la base de données (CreateBdDepannTout), une classe chargée de l'ouverture et de la fermeture de la base de données (DAO) et une classe par table, pour gérer les requêtes SQL.
Tout ce qui concerne la base de données sera présent dans un package bdd.
Nous y trouverons notamment :
- La classe CreateBdDepannTout qui hérite de SQLiteOpenHelper. Cette classe sera chargée de créer la base de données BdDepannTout avec les 2 tables nécessaires. Comme elle hérite de SQLiteHelper, elle devra comprendre un constructeur et les méthodes onCreate et on onUpgrade.
- NB : prendre exemple sur la classe CreateBDInventairee de l'application Inventaire. Ne pas oublier de créer la clé étrangère idClient dans la table intervention.
- La classe DAO (pour Data Access Object), qui comprendra :
Appel aux classes de bdd
Quand on aura besoin de faire appel à des données de la base BdDepannTout, il suffira de créer une instance de clientDAO ou interventionDAO, puis d'appeler la méthode qui nous intéresse.
Exemple : ClientDAO clientDAO = null;
Libre à vous d'organiser les interfaces graphiques comme vous le désirez. N'oubliez pas de faire des maquettes avant de vous lancer.
Vous disposez du logo de l'entreprise, vous pouvez le faire apparaître :
- Copier le logo dans le package res > drawable
- Utiliser un composant graphique de type imageView
- Au niveau de l'attribut srcCompat, rechercher le logo
Si vous souhaitez utiliser une liste déroulante (spinner), pour choisir le client d'une intervention par exemple, cf https://andrologiciels.wordpress.com/astuces-android/divers-2/quitter-une%20application/liste-deroulante-spinner/
Fonctionnalités à développer, à montrer, à déposer sur gitea - le niveau 1 est suffisant pour passer à la suite du travail(niveau 1 partie2) :
- niveau 1(5 points) : au minimum un menu avec création et affichage des clients Proposition correction
- niveau 2(10 points) : niveau 1 + création et affichage des interventions
- niveau 3(15 points) : niveau 2 + suppression client et suppression intervention
- niveau 4(20 points) : niveau 3 + modification client et modification intervention</badge>