Office de la Formation Professionnelle
et de la Promotion du Travail
DR TTA
Examen de fin de module
Module 206 : Elaboration d'une application Android sécurisée
Filière : DEVOAM Epreuve : TP
Niveau : TS Barème : /40
Date : 03-04-2024 Durée : 01h30
L’objectif est de créer une application mobile sous Android permettant de présenter une liste de taches
récupérée à partie d’un API REST.
Un appel GET via le lien « [Link] » permettra
de télécharger la liste de tache sous forme de flux JSON :
1. Créer un nouveau projet sous Android studio dans un dossier qui porte votre nom et prénom (1pt).
2. Ajouter la classe Tache a votre projet qui se caractérise par les attributs suivants : id (entier), titre
(chaine de caractères), date (chaine de caractères), statut (chaine de caractères). Ajouter à la classe
Tache les accesseurs, un constructeur par défaut et un constructeur d'initialisation. (2 pts)
3. Ajouter à votre projet la classe DBTache pour créer la base de données «[Link]» sous
SQLite (2pts).
1
4. Ajouter à la classe DBTache, la création de la table Tache qui se caractérise par : id (se génère
automatiquement), titre (chaine), date (chaine) et status (chaine). Dans le cas du changement de la
version de la base de données, on supprime la table Tache et on la recréer (3 pts).
5. Ajouter à la classe DBTache les méthodes statiques suivantes :
a. ArrayList<Tache> getAllTache(SQLiteDatabase db) : permet de retourner la liste de
tous les enregistrements de la table tache. (3 points).
b. void deleteAllTaches(SQLiteDatabase db) : permet la suppression de toutes les taches
de la base de données. (2 points)
c. long AddTache(SQLiteDatabase db, Tache e) : permet l'ajout de la tache passée en
paramètre dans la base de données. (3 points).
6. Créer une classe LoadData avec deux méthodes statiques :
a. Une méthode String loadData() qui se connecte à l’API REST et retourne le flux JSON
récupéré sous forme d’une chaine de caractères.(4pts)
b. Une méthode ArrayList<Tache> fromJsonToData(String json) qui transforme le flux
JSON en une liste de taches.(4pts)
7. Développer l’interface de l’application.
a. Créer le layout des éléments de la liste. (1pt)
b. Développer l’adaptateur TacheAdapter pour gérer les éléments de la liste. (4pts)
c. Afficher l’icône [Link] si la tâche est en cours, et l’icône [Link] si la tâche est
terminée. (1pts)
8. Créer dans le code de l’activité un asyncTask qui exécutera
un appel de la méthode loadData() dans sa méthode
doInBackground(), et réinitialise la base de données avec la
liste des taches téléchargées (dans la méthode
onPostExecute(). (5pts)
9. Gérer l’événement onClick sur le button Load pour qu’il
exécute le asyncTask et met à jour la liste. (5pts)