But du projet
Votre application Android

Vous allez mettre en place votre propre application Android.

Interface graphique
  • Définir les activités de votre application
  • Mise en page
  • Navigation avec Drawer/Tiroir
Interface réseau
  • Classes de transfert
  • Service retrofit
  • Fournir une implémentation mock de ce service
4 points Activités et mise en page

Vous devez programmer les activités suivantes au minimum:

  • Écran de connexion et inscription
  • Écran d'accueil et d'affichage de liste personnalisée
  • Écran de consultation d'un objet en détail
  • Interface (activité, dialogue etc.) de création d'objet
Pointage
  • 4 points 4 activités existent et sont mises en page
4 points Service et Retrofit

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.

Pointage
  • 2 points service pour l'identification
  • 2 points service pour la gestion de l'entité
4 points Classes de transfert

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:

  • l'utilisateur (au moins un identifiant et un mot de passe). Vous pouvez avoir plusieurs classes selon l'interaction (connexion, inscription etc.)
  • l'entité que vous gérez (selon votre application). Les classes de transfert doivent correspondre au besoin d'affichage ou d'envoi d'information.

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.

Pointage
  • 2 points classes de transfert pour l'identification
  • 2 points classes de transfert pour le reste de l'application
6 points Mock Retrofit (Prototype fonctionnel sans serveur)

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.

Pointage
  • 2 points le service moqué est implanté
  • 4 points Le service est utilisé partout dans l'interface
7 points Navigation entre activités

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.

Pointage
  • 3 points le tiroir est fonctionnel dans toutes les activités et donne accès à toute l'interface
  • 1 point tiroir : hamburger fonctionnel dans toutes les activités
  • 1 point tiroir : drawer header personnalisé
  • 2 points toutes autres navigations fonctionnelles