0% ont trouvé ce document utile (0 vote)
32 vues23 pages

Gestion des bases de données SQLite

Le document décrit l'utilisation de SQLite comme base de données sur Android. SQLite est une base de données relationnelle fournie avec Android qui permet de stocker et gérer des données de manière persistante. Le document explique la structure et la manipulation de bases de données SQLite, y compris la création et l'interrogation.

Transféré par

salim tayaadine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
32 vues23 pages

Gestion des bases de données SQLite

Le document décrit l'utilisation de SQLite comme base de données sur Android. SQLite est une base de données relationnelle fournie avec Android qui permet de stocker et gérer des données de manière persistante. Le document explique la structure et la manipulation de bases de données SQLite, y compris la création et l'interrogation.

Transféré par

salim tayaadine
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

DÉVELOPPEMENT POUR MOBILES

(ANDROID)

Chapitre 6 – Partie II
Bases de données

Dr. KHALIFI Hamid


[Link]@[Link]
Persistance des
données SQLite
PRESENTATION

 SQLite est une base de données relationnelles disponible sur


tous les terminaux Android et le SDK fournit des API permettant
au développeur de créer/gérer sa base de données privées.
 SQLite fournit un moyen efficace de gérer une petite quantité
de donnée.
 Une application peut disposer de plusieurs bases de données (il
n’y a pas de limitation à priori).

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Structure de la BDD :

 À l’aide d’une classe d’assistance qui hérite de


SQLiteOpenHelper, on peut maîtriser toutes les relations avec la
base de données, notamment déclarer les noms de la base, des
tables, des colonnes ainsi que la version comme constantes.
 Il est nécessaire de définir le constructeur et redéfinir les
méthodes onCreate() et on Upgrade().
 onCreate() sera appelée à la création de la base de données et de ses des tables.

 onUpgrade() sera utilisée lorsque la BD passe d’une version à une autre version
supérieure.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Structure de la BDD :

SQLite ne contient que cinq types de données :

 NULL pour les données NULL.

 INTEGER pour les entiers (sans virgule).

 REAL pour les nombres réels (avec virgule).

 TEXT pour les chaînes de caractères.

 BLOB pour les données brutes, par exemple si vous voulez


mettre une image dans votre base de données.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Structure de la BDD :

Il est aussi possible de déclarer des contraintes pour chaque


attribut.

On trouve comme contraintes :

 PRIMARY KEY pour désigner la clé primaire sur un attribut .

 NOT NULL pour indiquer que cet attribut ne peut valoir NULL .

 CHECK afin de vérifier que la valeur de cet attribut est cohérente.

 DEFAULT sert à préciser une valeur par défaut.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exemple de création :

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exemple pour une BDD existante:

 Pour une base de données déjà existante, la classe d’assistance


doit hériter de SQLiteAssetHelper :

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Manipulation de la BDD :
 SQLiteDatabase : Classe permettant de manipuler une base de
données SQLite sous Android.
 Elle dispose d’un ensemble de méthodes permettant d’accéder
à la base en lecture et en écriture:
◦ Open() : Ouvrir la base de données en lecture ou en écriture
◦ Query() : Pour exécuter des requêtes SQL
◦ Update () : Pour modification
◦ Close() : Fermer une connexion à la base
 Plus spécifiquement elle propose des méthodes génériques
pour les requêtes CRUD : Create, read, update, delete.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Manipulation de la BDD :
 Pour réaliser des écritures ou lectures, on utilise les
méthodes getWritableDatabase() et getReadableDatabase()
qui renvoient une instance de SQLiteDatabase.
 Sur cet objet, une requête peut être exécutée via la
méthode query()

 ou rawQuery():

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Parcourir le Résultat :
La méthode query() et rawQuery() permettent de retourner un objet Cursor
qui pointe sur un ensemble d’enregistrements résultat d’une requête.
Ce Cursor permet de traiter la réponse (en lecture ou écriture), via ces
méthodes :
 int getCount() : Retourne le nombre de lignes renvoyés par le curseur.
 boolean moveToFirst() : déplace le curseur à la première ligne.
 boolean moveToNext() : pour aller à la ligne suivante. Par défaut on
commence à la ligne -1, donc, en utilisant un moveToNext() sur un tout
nouveau Cursor, on passe à la première ligne.
 boolean moveToPrevious() :pour aller à l'entrée précédente.
 boolean moveToPosition(int position) : pour aller à la position voulue.
 int getPosition() : pour récupérer la position actuelle.
 void close() : Fermer le curseur.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite

Extraire les Champs Résultats :

 Les curseurs, Objet représentant le résultat d'une requête


– Liste des enregistrements (et colonnes) sélectionnés

applet 225

const 255
mapreduce 100

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Extraire les Champs Résultats :
 L’objet Cursor pointe sur un enregistrement résultat à un moment donné.
 Le Cursor peut accéder aux champs de l’enregistrement pointé par les
méthodes de la forme : getXXX (N°Champ) avec XXX étant le type de la
donnée de ce champ (Float, String, Int, Double, ...)
Exemple :
 getInt(int columnIndex) : retourne la valeur (int) de la colonne passée
en paramètre.
 getString(int columnIndex) : retourne la valeur (String) de la colonne
passée en paramètre.
 getColumnName(int) : donne le nom de la colonne désignée par
l'index.
 ...

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exemple :

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice:

Cursor curseur = bd. rawQuery("select * from table", null);

[Link]();

[Link]();
table
[Link]("word");

[Link](4);

[Link](3);

[Link](2);

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction
[Link]();
La position du curseur n’est pas initialisée
!
tant qu’un déplacement n’a pas été effectué

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction
[Link]();
La position du curseur n’est pas initialisée
!
tant qu’un déplacement n’a pas été effectué

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction

[Link]();

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction

[Link]("word");

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction

[Link](4);

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction

[Link](3);

100

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite
Exercice - Correction

[Link](2);

user1

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID


Persistance des
données SQLite

Bonnes pratiques :

 N’oubliez jamais de fermer la base de données après chaque


Utilisation.

 Toujours fermer également les curseurs.

 Vérifiez toujours qu’un curseur a au moins une ligne avant de le


parcourir.

DÉVELOPPEMENT POUR MOBILES (ANDROID) - DR. KHALIFI HAMID

Vous aimerez peut-être aussi