Vous allez mettre en place votre propre application Android.
Vous devez programmer les activités suivantes au minimum:
Vous devez identifier les différentes actions permises par votre service en fonction des écrans prévus dans votre application. Chaque bouton ou affichage de données est a priori une méthode de service.
Vous devez atteindre le minimum soit la gestion des utilisateurs (création de compte, connexion et déconnexion) ainsi que la gestion d'une entité de données (création, récupération d'une liste, récupération du détail d'une entité).
Vous devez déterminer toutes les méthodes qui découlent de votre interface graphique. Si le professeur identifie des méthodes manquantes, des méthodes inutiles ou des doublons, vous perdrez des points.
En identifiant vos classes de services, vous allez définir naturellement des classes de transfert. Pour chacune de ces classes, vous devez identifier les variables membres nécessaires pour transférer les informations utiles. Vous devez définir au minimum les classes nécessaires pour tranférer les informations concernant:
Vous devez identifier tous les besoins qui découlent de votre interface graphique. Si le professeur identifie des informations non représentées ou représentées en double ou inutiles pour l'application, vous perdrez des points.
Pour chaque méthode du service retrofit, vous devez fournir une implantation moquée. Il n'est pas nécessaire que l'information soit cohérente. Les objets retournés doivent uniquement servir à permettre la démonstration de l'interface. Les méthodes d'identification ou de création d'objet peuvent avoir une implémentation moquée qui ne fait rien.
Vous ne devez pas "hardcoder" d'information ailleurs que dans le mock. Chaque endroit dans le code d'interface qui ne fait pas appel au service (et donc au mock) vous coutera un point.
Vous devez avoir un tiroir de navigation dans toutes les activités appropriées (cela n'a pas de sens pour l'écran de connexion par exemple). Le tiroir doit donner accès à tous les éléments de l'interface appropriés (au minimum, à l'accueil, à la création d'un item et à la déconnexion).
Vous devez vous assurer d'avoir le "hamburger" fonctionnel dans tous les activités avec tiroir.
Vous devez faire une mise en page personnalisée (qui indique l'identifiant de l'utilisateur) pour l'en-tête du tiroir (drawer header).
Vous devez vous assurer d'implanter les autres possiblités de navigation. Par exemple, quand un utilisateur se connecte, aller à l'écran d'accueil, quand l'utilisateur, sélectionne un item dans une liste aller à l'écran de détail, retourner à la liste après la création d'un objet etc.