Documentation autorisée:
Tout ce que vous avez produit pendant le cours, ainsi que les repository utilisés et présentés pendant le cours.
Durée:
Vous avez 2 heures pour compléter l'examen. En cas de temps supplémentaire, jusqu'à 3 heures.
HTTP: Pour permettre les accès HTTP en plain text, n'oubliez pas de
- prendre un émulateur en API Marshmallow ou Nougat
OU- ajouter android:usesCleartextTraffic="true" dans le manifest
Serveur: Le serveur est fourni et doit être accédé en local via 10.0.2.2:8080 (émulateur) ou votreAdresseIP:8080 (appareil)
Firestore
Commence par faire une copie du projet de départ firebase_start et renomme le exo_firestore_creer.
Le projet est déjà connecté à un projet firebase.
L'initialisation est également déjà intégré.
Vous devez montrer une écriture dans Firestore.
- 1 point
Il faut un TextField haut l'application.
Il faut un bouton en haut l'application qui déclenchera l'ajout d'un document dans le firestore avec le contenu du TextField.
- 1 point
A l'appui sur le bouton, vous devez créer un document avec
- un champ "nomDeFamille" de type String où vous inscrirez votre nom de
famille
- un champ "contenu" de type String avec le contenu du TextField
- 1 point
Vous devez créer le document dans une collection appelée "final-nomdefamille" en remplaçant
par votre nom de famille.
Vous devez montrer une lecture dans Firestore.
-
Le reste de l'écran est rempli par un ListView.
- 2 points
La ListView contient en tout temps la liste des documents de la collection "final-nomdefamille".
Pour chaque élément, on peut voir les 2 champs du document.
Traduction
Dans un projet séparé des autres exercices, vous devez produire l'interface suivante et implanter la traduction.
- 2 points
La mise en page respecte les copies d'écran.
- 3 points
Les traductions français et anglais sont telles que vues dans les copies d'écran.
HTTP JSON et erreur
Dans un projet séparé des autres exercices, vous devez programmer une interface avec un champ texte et un bouton.
- 1 point
L'appui sur le bouton envoi une requête POST à l'URL suivante "https://4n6.azurewebsites.net/exos/error/or/not/" avec un JSON au format suivant:
{
"nom" : "jo"
}
. Tu remplaceras jo par le contenu du champ texte.
- 1 point
Si tout se passe bien affiche un SnackBar indiquant "Yeah tout est beau".
- 1 point
Si le web service renvoit une erreur, affiche un SnackBar avec "Non" suivi du contenu de la réponse.