Labo RecyclerView - Projet Brocoli đŸ„Š

Dans ce labo et les suivants, nous allons créer une application de type CRUD pour gérer une liste d'épicerie. L'application permettra d'ajouter, supprimer et éditer les articles de la liste. La persistance de la liste se fera dans une base de données locale SQLite.

Voici les étapes pour le labo d'aujourd'hui.

Note

Votre TP2 devra aussi utiliser un RecyclerView.

Création du projet Gitlab et commit initial

Ouvrez votre compte Gitlab et crĂ©ez un nouveau projet nommĂ© Brocoli Android. Le projet doit ĂȘtre privĂ© et ne pas inclure de README. Copiez l'URL pour cloner avec HTTPS.

Créez un nouveau projet Android Studio de type Empty Views Activity. Nommez le projet Brocoli.

Ouvrez le terminal Android Studio et faites les manipulations suivantes.

Initialisez d'abord un nouveau projet Git.

git init
git branch -m main

Ajoutez ensuite tous les fichiers du projet dans la zone de préparation et faites le commit initial.

git add .
git commit -m "Commit initial"

Vous devez ensuite lier votre dépÎt local à votre dépÎt sur Gitlab pour pouvoir faire le push:

git remote add origin <URL HTTPS DE VOTRE DEPOT>
git push -u origin main

Si tout a bien fonctionné, vous devriez maintenant voir le commit sur votre dépÎt Gitlab.

CrĂ©ation du ticket et de la requĂȘte de fusion

Dans votre projet Gitlab, créez un nouveau ticket pour l'ajout de la fonctionnalité suivante: «Fonctionnalité : Ajout d'un élément à liste et affichage avec RecyclerView».

Assignez-vous le ticket et crĂ©ez une nouvelle requĂȘte de fusion. La requĂȘte de fusion crĂ©e automatiquement une branche thĂ©matique liĂ©e Ă  la requĂȘte. C'est Ă  partir de cette branche que vous devez travailler pour effectuer les manipulations du labo d'aujourd'hui.

Pour faire le checkout de la branche localement, vous pouvez procéder de la façon suivante :

git fetch
git switch <nom de la branche>

Création de la vue xml

Commencez par éditer le fichier activity_main.xml. Ajoutez un champ éditable de type Plain text qui permettra à l'utilisateur d'ajouter des éléments à la liste. Ajouter aussi un bouton Ajouter à droitedu champ pour confirmer l'ajout de l'élément.

En dessous, ajoutez un RecyclerView qui contiendra les éléments de la liste.

Dans un autre fichier xml nommé article.xml, définissez l'article représentant un élément de la liste.

Création de l'adapteur

Créez un adapteur en recopiant la logique du projet RecyclerView Android Demo. Modifier l'adapteur pour qu'il prenne une liste d'articles.

Modification de MainActivity.kt

Toujours en vous basant sur le projet RecyclerView Android Demo, modifiez le code pour y ajouter une liste d'articles initialement vide (mutableListOf<String>). Faites ensuite la liaison entre le RecycleView et votre adapteur. Testez l'application en ajoutant des éléments dans la liste à partir du code.

Ajout d'un article Ă  la liste

Ajoutez un écouteur sur le bouton Ajouter et effectuez les actions suivantes:

Attention, afin de forcer un rafraßchissement du RecycleView, vous devez exécuter le code suivant aprÚs l'ajout de l'article à la liste (adaptez le nom des variables en fonction de votre code) :

recyclerView.adapter?.notifyItemInserted(listeArticles.size - 1)

Boni: Ajoutez l'article Ă  partir du clavier

Si l'utilisateur appuie sur la touche Entrée alors que le curseur se trouve dans la boßte de texte, alors l'article est ajouté automatiquement. Le focus est replacé dans la boßte de texte.

Fusion de la branche dans Main

Faites le commit et push de vos changement sur Gitlab. À partir de la requĂȘte de fusion dans Gitlab, faites la fusion de la branche thĂ©matique dans la branche main.