Comment attaquer une base de donnée SQLite sous Android

Bonjour, suite à une forte demande de votre part, nous aborderons avec vous dans ce tutoriel comment utiliser la base de données SQLite dans son application Android.

Pour rappel, notons SQLite est un SGBD relativement léger, il est beaucoup utilisé dans les systèmes embarqués tel les applications mobiles ou encore dans certains jeux vidéo, contrairement aux SGBD traditionnel, SQLite ne demande pas d’installation, il s’agit juste d’un simple fichier; de plus il ne nécessite pas de faire tourner un serveur pour le faire fonctionner. Ce qui fait donc de SQLite le SGBD adapté pour des travaux rapides et léger. SQLite est par défaut supporté par Android, donc pour l’utiliser dans notre application, on devra juste faire appels aux classes nécessaires. Sans plus tarder, entrons dans le vif du sujet.

Il n’y a pas de meilleure façon de comprendre un concept que par l’exemple, en partant de ce principe et afin de vous faire assimiler comment utiliser SQLite dans vos applications Android, nous allons supposer dans notre cas de figure avoir à créer une application Android devant permettre d’enregistrer, de modifier, de supprimer et d’afficher des articles. Un article étant composé d’un id, d’un titre et d’un contenu.

Nous allons donc lancer un projet Android que nous appellerons Article

Image sans titre

Cliquez sur Next jusqu’à ce que vous arriviez à la page ci-dessous (ne modifiez que si vous savez ce que vous faites, sinon laissez les options par défaut )

Image sans titre2

Cliquez sur Finish pour finir la création de votre projet. Vous verrez alors sur la gauche le projet Article apparaître.

Comme dit plus haut, notre apps a pour but de permettre de créer, modifier, supprimer et afficher les éléments d’un article. Nous allons donc commencer notre apps en définissant la classe Article !!

Image sans titre3

Ci-joint le code complet de notre classe Article : https://www.dropbox.com/s/e8f67n36ywqiorn/Article.java?dl=0

Maintenant que notre classe Database a été créé, créons à présent une autre classe Requete, elle sera chargé elle d’exécuter nos différentes requêtes pour créer, modifier, supprimer ou lister le contenu des articles https://www.dropbox.com/s/152j1q03c13fv60/Requete.java?dl=0

Pour finir, nous avons deux autres classes dans notre application, en fait ce sont des Activity qui seront reliées aux deux pages de notre apps; il s’agit de la classe MainActivity.java qui servira de page d’accueil ( elle est généré automatiquement lorsque l’on crée le projet) et la classe Crud.java (cette classe permet d’effectuer les opérations CRUD dans notre projet).

NB : pour utiliser SQLite dans votre projet, les classes primordiales sont Database.java, Requete.java; les autres classes qui ont été créée dans ce projet peuvent varier en fonction des circonstances. Bien entendu en fonction de ce que vous voulez gérer dans votre BD, les types d’attributs et de méthodes des classes Database et Requete pourront varier.

A présent, nous avons toutes les classes nécessaire, il ne nous reste à présent qu’à créer les interfaces pour chacune des actions que l’on veut mettre en place.

Pour mettre en place la partie visuelle de notre application (NB que le choix visuel vous appartient, il peut être calqué sur celui-ci ou être totalement différent) nous allons opter pour trois pages :

  • Une première qui affichent la liste de tous les articles et qui permet aussi d’en ajouter au besoin (activity_main.xml), elle sera liée à l’activity MainActivity.java et servira de page d’accueil. Elle contiendras en somme un bouton pour ajouter un article et une listview qui affichera l’ensemble des articles déjà enregistré
  • Une deuxième qui servira de template pour l’affichage des éléments de la listview (affiche.xml), en effet dans cet article, nous aborderons unpeu le concept de listview, mais rassurer vous, nous y reviendrons dans un futur billet.
  • La troisième et dernière page permettra d’ajouter, d’afficher, de modifier et de supprimer les articles (crud.xml), elle sera géré par l’activity (Crud.java)

 

RMQ : Je vous invites à parcourir le code des classes XML crée ci-dessous pour mieux comprendre la logique UI mise en place.

Après avoir mis notre partie UI en place, reste plus qu’à exécuter l’application, et en principe tout devrait bien se dérouler et on devrait voir quelques choses comme ceci :

Image sans titre6 Image sans titre7 Image sans titre8 Image sans titre5 Image sans titre4

Vous pouvez télécharger le projet complet ici : https://www.dropbox.com/s/ve85j5gyd3saxaj/Article.rar?dl=0

NB : Ce tutoriel a été écrit avec Éclipse, mais la logique reste la même sous Android Studio. C’est d’ailleurs cet IDE que je vous conseilles pour vos projets Android.