Articles récents
Android : Base de données SQLite
SQLite est un système de base de donnée natif sous Android, donc pas nécessaire de l'installer. Il est possible de l'utiliser comme une base de données relationnelle dans vos applications. L'avantage par rapport aux PreferedShared est que la base de donnée est faite pour traiter des données structurées.
Attention cependant, les mobiles disposent de ressources limitées, il faudra un système simple et SQLite est parfaitement adaptée. A noter que SQLite ne fonctionne pas comme un serveur, donc pas comme la plupart des SGBDD. Un seul processus sera en mesure de travailler avec la base qui sera dédiée à l'application (les autre applications ou processus ne pourront pas accéder à cette BDD).
1)Création d'une base de données SQLite pour votre application Android
Nous allons réaliser une application qui permet d'enregistrer des commentaires et de les afficher. Pour cela, il faut initier la base de données, ce que nous allons faire.Pour créer la base de données, il faut créer une classe qui hérite de la classe SQLiteOpenHelper puis surchager la méthodes onCreate() pour créer la base et la méthode onUpgrade() si on veut modifier le modèle de données. La méthode execSQL permet d'éxecuter une requête SQL pour la création de la base par exemple.
La classe MybddOpenHelper
Le fichier MainActivity.java:
Si vous l'utilisez vous trouverez votre base sous /DATA/data/nom_app/databases/file .
2)Traitements avec la base de données
2.1)Généralités
Les bons usages veulent que l'on créé une classe intermédiaire appelée adapteur, elle permet de définir des méthodes simplifiées en transmettant ou recevant les données ce qui permet de faire abstraction des méthodes complexes de traitement des BDD d'Android.La classe adapteur définit un constructeur pour créer le SQLiteOpenHelper, ensuite il suffit d'ouvrir la base de données avec la méthode:
Avec l'ouverture d'une instance de notre classe SQLiteOpenHelper, Android appellera la méthode de création de la base. Ensuite, il suffira de créer les geters et seters, les méthodes d'insertion, de mise à jour, de sélection, de suppression dans la base de données, ... Et l'idée sera d’appeler ces méthodes simplifiés dans nos applications.
2.2)Effectuer une sélection
Pour faire une sélection, on utilise la méthode query (le nom est trompeur...) de la classe SQLiteDatabase tel que :La méthode retourne un curseur de la classe Cursor, qui est en fait la liste des résultats. L'objet Cursor dispose des méthodes dans la listes des réponses:
2.3) Insérer les données
Pour insérer un enregistrement dans la base de données, il existe la méthode insert. Il faudra passer par un objet ContentValues qui est une collection des champs à enregistrer pour former l'enregistrement.2.4)Mettre à jour les données
De la même façon, la classe SQLiteDatabase propose la méthode update. A noter, que cette méthode propose en sus un champ correspondant where de la requête SQL.2.5)Supprimer des données
Pour finir, la classe SQLiteDatabase propose la méthode update. A noter, que cette méthode propose en sus un champ correspondant where de la requête SQL.3)Exemple d'utilisation d'une base de données SQLite
Le mieux pour illustrer la mise en oeuvre de SQLite, c'est de créer une petite application comme exemple. Nous allons donc créer une application dans laquelle l'usager rédigera un commentaire et l'enregistrera en validant le formulaire.Pour ce faire, nous allons tout d'abord créer une classe qui gérera la création de la base de données, puis une classe adapter et pour finir le programme principale Android.
Le fichier MybddOpenHelper.java qui gère la création de la BDD ou de la mise à jour du modèle de données:
Le fichier adapter CommentAdapter.java pour simplifier l'usage de la BDD:
La vue principale activity_main.xml:
Le fichier MainActivity.java:
Ce qui donne notre application, il suffit de taper votre commentaire et de cliquer sur bouton Ajouter pour l’enregistrer.
Conclusion
Dans ce chapitre, nous avons vu comment intégrer la base de données SQLite dans une application mobile Android. Evidemment, l'usage des bases de données est pensé pour stocker des informations structurées, et souvent complexes. Google a voulu un système simple à mettre en oeuvre et robuste, autre aspect important le SGBD doit être peu gourmand en ressources systèmes.Bref, utilisez SQLite dans vos applications, nous l'avons vu, l'utilisation est relativement simple, native et surtout adaptée à Android!
© 2024 www.doritique.fr par Robert DORIGNY