Tutoriel SQLite sur Android
Les développeurs d'applications Android peuvent choisir parmi plusieurs options de stockage et gestion de données, dont les bases de données SQLite. Avec SQLite, les apps Android modélisent les éléments de données en tables et colonnes, avec relations optionnelles. La source de données résultante peut être interrogée et gérée via des requêtes SQL. La création et l'administration d'une base SQLite impliquent quelques éléments clés.
Extension de classes
Pour créer une classe dans une application Android pour la programmation SQLite, les développeurs peuvent étendre la classe SQLiteOpenHelper. Exemple de déclaration :
public class MyDataAdministrator extends SQLiteOpenHelper {
// implémentation de la classe
}
Dans cette classe, le code gère la création, mise à jour et interrogation de la base. SQLiteOpenHelper gère la connexion et la gestion de la base, permettant à cette classe de se concentrer sur les détails de l'application : construction et exécution des requêtes SQL selon les besoins.
Redéfinition de méthodes
Dans la classe Java Android étendant SQLiteOpenHelper, le développeur peut redéfinir la méthode « onCreate ». Cela permet à une application de spécifier les détails de sa propre base, exemple :
public void onCreate(SQLiteDatabase db) {
// opérations de données au démarrage
}
Cette méthode est appelée à la création de la classe, quand du code externe crée une instance. Dans « onCreate », les développeurs effectuent les tâches de configuration nécessaires : création de tables, etc.
Détails de la base de données
Les détails de la base peuvent être inclus dans le constructeur de la classe étendant SQLiteOpenHelper. Comme la classe hérite, elle peut appeler le constructeur parent en passant ses propres détails :
MyDataAdministrator(Context context) {
super(context, "mydbname", null, 1);
}
Le constructeur est aussi appelé à la création d'une instance. En appelant le constructeur parent, le code passe les détails de la base : nom (string) et version (entier).
Requêtes SQL
Une fois la classe SQLite configurée, le code peut exécuter des requêtes SQL, exemple dans « onCreate » :
String queryString = "CREATE TABLE my_table (item_id INTEGER, item_name TEXT);";
db.execSQL(queryString);
Ce code utilise le paramètre passé à « onCreate » représentant la base pour appeler « execSQL » avec une variable string modélisant la requête SQL à exécuter (ici création d'une table avec colonnes spécifiques).
