Vous êtes sur la page 1sur 5
Institut Supérieur d'Informatique Année universitaire : 2022-2023 et de Mathématiques de Monastir SERIE DE TP N° 4 Matire : Développement Mobile Seetion : Ing Info 1 Enseignant : M. BEN SALEM Android - SQLite Objectif: Réaliser une application simple permettant de manipuler des éléments dans une bese de données. Les opérations que ‘sale implémenter sont: Pajout, achage et suppression Detabeseppiication § Databaserppiication : Dotaboserppiication ‘BekiPrsooter | memavE RBIET ey EES Sarma learns Page 1|4 Création de la base Pour manipuler une base de données SQLite, les apes recommandées sont 1. Crser une clase qui brite de SQLiteOpentelper 2, Créer des classes modlesreprésentant chacune des tables de lt base 3. Crker la base de données et les tables nk aires 4, Implémenter les méthodes suivantes a, Le constructeur b. onCreate: contient les opérations réalisées a la création de la base de données C.onU/pgrade: opérations réalisées quand la base fait un upgrade ‘Liimplémentation de ces deux méthodes se fait toujours de la méme maniére : public class MyDBHandler extends SLiteOpenHetper { private static final int DATABASE_VERSION = 1; private static final String DATABASE_NAME private static final String TABLE PRODUCTS public stati sk String COLUMN_ZD = public static final String COLUMN PRODUCTNAME public static final String COLUMN_QUANTITY public MyDBHandler(Context context, String name, , ‘SQLiteDatabase.CursorFactory factory, int version) ¢ super(context, DATABASE_NAME, factory, DATABASE_VERSION) ; @override ) public void onCreate(soLiteDatabase db) { ‘String CREATE_PRODUCTS TABLE = “CREATE TABLE " + TABLE_PRODUCTS + "(” + COLUMN_ID + " INTEGER PRIMARY KEY," + COLUMN_PRODUCTNAME +" TEXT," + COLUMN_QUANTITY + “ INTEGER" + db. execSQL(CREATE_PRODUCTS_TABLE) ; 1 + eoverride public void onUpgrade(SaLiteDatabase db, int oldversion, ) int newVersion) { db.execSQL("DROP TABLE IF EXISTS “ + TABLE_PRODUCTS); oncreate (ab); 1 + Remarque Pour implémenter les diférents CRUD, i est fortement déconseillé de le faire dans cette méme classe, car cela risque de Vencombrer et de la rendre ttop chargée et incompréhensible, surtout si le nombre de tables augmente, Il faudrait alors eréer des clases indépendantes pout manipuler chacune de ces tables, et les appeler a partir de ce Helper. Page 2|4 Insertion Pour insérer un élément dans une table de la base, utiliser l'objet ContentValues, qui va contenir, pour chaque enregistrement, les valeurs des différentes colonnes, ContentValues values = new ContentValues() ; values.put(,) ; values.put(,) Une fois Penregistement er Pinsrer dans la base en uilisant un objet (db) de type SQLiteDatabase Cet objet et obtenu en appelant this getWritableDatabase()& partir del classe SQLiteOpentelper. db insert(,null,values) ; Te faut jamais oublierdefermer a table une fas Vopéation termine db.close() ; Recherche Pour chercher et afficher un élément d'une table 1. Créer une chaine de caractéres query contenant votre requéte SELECT 2. Créer un curseur pour parcourir le résultat de la chaine Cursor cursor = db.rawQuery(query, null) ; 3. Parcourir les éléments avec le curseur, Ne pas oubler de fire Tes east nécessaires! If(cursor.moveToFirst()) { cursor.moveToFirst() ; int elem1 = Integer.parseInt(cursor.getString(0)) ;String elem2 = cursor.getString(1) ; cursor.close() ; } db.close() : Page 3/4 Suppression Pour supprimer un ou plusieurs éléments de la base 1, Créer une chaine de caractéres query contenant votre requéte SELECT 2. Créer un curseur pour parcourir les éléments de la requéte 3. Utiliser la fonction suivante : db.delete(, +" =", ) ; ‘Nroubliez pas de ferme le curseur et la base ! Page 4|4 4) wirDpor" This document was created with the Win2PDF “Print to PDF” printer available at https://www.win2pdf.com This version of Win2PDF 10 is for evaluation and non-commercial use only. Visit httos://www.win2paf.comv/triall for a 30 day trial license. This page will not be added after purchasing Win2PDF. hittps://www.win2pdf.com/purchase/

Vous aimerez peut-être aussi