Enregistrer nos scores en utilisant SQLite – Anko avec Kotlin

28 Oct

Hello la famille, j’espère que vous aller bien, moi j’ai plutôt la pêche 😀 !

Alors aujourd’hui, nous allons continuer avec notre superbe application de Quiz (lol), ce que nous allons faire, c’est comme le titre l’a indiqué c’est de faire en sorte d’enregistrer nos scores en utilisant une base de donnée SQLite mais en se basant sur l’utilisation de la librairie Anko qui va nous faciliter la vie, et à la fin nous allons afficher nos scores sous forme de liste en utilisant un RecyclerView

Ajout des librairies

Au niveau de notre build.gradle (Module : app), ajoutez les librairies suivantes :

 

Implémenter SQLite

Pour utiliser Sqlite comme je l’ai cité plus haut, nous utiliserons Anko, pour faire mon tuto je me suis basé sur cette excellent article qui explique comment l’ajouter.

Dans notre cas vous allez suivre les étapes suivantes, j’ai commenté mon code afin d’y apporter plus de clarification.

D’abord mettons de l’ordre au niveau de notre projet.

  • Créez les packages model, db, activities et adapter.
  • Au niveau du package db créer les class MySQLDBHelper et QuizDB et le fichier Tables

MySQLDBHelper.kt

 

QuizDB.tk

 

Tables.tk

 

A ce niveau là vous allez avoir des erreurs car qu’il vous manque la classe App

Au niveau du package principale créer la classe App

App.tk

 

Bien évidemment au niveau de notre fichier AndroidManifest.xml, n’oubliez pas de rajouter la ligne suivante, sinon vous risquez d’avoir une surprise après 😀 :

 

Enregistrer nos scores

Maintenant nous allons faire en sorte d’enregistrer nos scores quand le quiz se termine.

Ici nous allons modifier notre classe QuizActivity.tk qui va devenir comme ceci :

( Voir à partir de la ligne 21 et 71 )

 

Super maintenant nous sommes capable d’enregistrer nos scores, bon maintenant il nous reste plus qu’à les afficher à l’utilisateur.

Affichage des scores avec un RecyclerView

Maintenant nous allons créer l’activité ListScoresActivity, c’est ici que nous afficherions nos scores.

Au niveau de model créer la class Score

Score.tk

Au niveau du package adapter nous créerons notre classe ScoreAdapter afin de l’utiliser au niveau de notre RecyclerView

ScoreAdapter.tk

Et l’activité qui va utiliser notre adapter

ListScoresActivity.tk

 

Et ajoutez au niveau du dossier layout les trois fichiers XML suivant :

activity_list_scores.xml

content_list_scores.xml

score_item.xml, c’est à dire à quoi va ressembler la ligne de score

 

Bon à ce stage là, il faut faire en sorte que quand on clique sur notre bouton “Mes Scores” cela nous mène directement à notre activity ListScoresActivity.tk

Donc on va modifier notre classe MainActivity.

MainActivity.tk

N’oubliez pas d’ajouter la méthode “onClickBtnScores” au niveau du fichier activity_main.xml sinon le clique ne fonctionnera pas.

Android kotlin Sqlite Anko

 

 

Voilà, normalement maintenant votre score sera enregistré au niveau de votre base de données à chaque fin de partie, et quand vous irait sur la partie “Mes scores” vous pourrez voir vos scores sous forme de liste.

Je n’ai pas voulu en faire une vidéo, car je vous avoue que je me sens encore novice côté BDD avec Kotlin et Anko, pour plus de détail je vous recommande fortement de lire cet article.

Si vous avez des questions ou quelque chose ne fonctionne pas correctement, laissez un commentaire et je vous aiderai 😀

 

CODE SOURCE

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *