SlideShare une entreprise Scribd logo
Persistance des données 
: Préférences et SQLite 
Saber LAJILI 
Version Janvier 2014
SharedPreferences 
 les préférences sauvegardées dans un fichier .XML 
 Un objet preferences est de type Bundel qui peut contenir des 
paires (clé, valeur) 
 Création : SharedPreferences preferences = 
PreferenceManager.getDefaultSharedPreferences(this); 
 Modification: 
Saber LAJILI 2
SharedPreferences 
 Accès: 
String username = preferences.getString("login", NULL); 
 Opérations de MAJ : 
edit.remove(clé) ; 
edit.clear() ; 
edit.commit() ; 
Edit.getString(clé) 
Edit.putString(clé, valeur) 
Saber LAJILI 3
SharedPreferences 
Exemple 
Saber LAJILI 4
Démo 
Réaliser cette interface avec sauvegarde de login 
de user 
Saber LAJILI 5
SQLite 
 SQLite Open Source intégrée dans Android. 
 SQLite supporte la syntaxe SQL, les transactions 
et les requêtes préparées. 
 Ne nécessite que peu de mémoire lors de 
l'exécution (environ 250 Ko). 
 Ne nécessite aucune tâche de configuration ni 
d'administration 
 Sauvegardé par défaut dans le répertoire: 
DATA/APP_NAME/FILENAME_DB 
 Ne supporte que les types : TEXT, REAL et 
INTEGER 
Saber LAJILI 6
SQLite 
 Création de la base 
 Package « android.database.sqlite » 
 La classe SQLiteOpenHelper 
Méthode : onCreate(), onUpgrade() 
 Manipulation de la base 
 La classe « SQLiteDatabase » 
méthodes :execSQL() , rawQuery, query 
insert (), update () et delete () 
 Résultat de requête : un objet Cursor 
Saber LAJILI 7
Démo 
Il s’agit de créer une interface de gestion des 
commentaires 
Saber LAJILI 8
Démo 
 Démarche suivante: 
1. Créer la base de données : étendre la classe « 
SQLiteOpenHelper » 
2. Créer la classe « Comment » 
3. Créer la classe « DAO » d’accès aux données 
4. Créer la classe de test (main_activity) 
Saber LAJILI 9

Contenu connexe

Tendances

Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
Soukaina Boujadi
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
DNG Consulting
 
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Workshop Spring  3 - Tests et techniques avancées du conteneur SpringWorkshop Spring  3 - Tests et techniques avancées du conteneur Spring
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Antoine Rey
 
Retours Devoxx France 2016
Retours Devoxx France 2016Retours Devoxx France 2016
Retours Devoxx France 2016
Antoine Rey
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
Antoine Rey
 
Introduction aux Web components (DNG Consulting)
Introduction aux Web components (DNG Consulting)Introduction aux Web components (DNG Consulting)
Introduction aux Web components (DNG Consulting)
DNG Consulting
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
aliagadir
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
Antoine Rey
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
Mohamed Ben Bouzid
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
louschwartz
 
2- Configuration des référentiels ODI 11
2- Configuration des référentiels ODI 112- Configuration des référentiels ODI 11
2- Configuration des référentiels ODI 11
samr
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
Antoine Rey
 
Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)
Eric SIBER
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
Antoine Rey
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring BatchAntoine Rey
 
Marzouk jsp
Marzouk jspMarzouk jsp
Marzouk jsp
abderrahim marzouk
 
Kick starting OpenERP
Kick starting OpenERPKick starting OpenERP
Kick starting OpenERP
Quentin CLARENNE
 
Netbeans Install
Netbeans InstallNetbeans Install
Netbeans Install
Dghaies Jihed , PSM I Ⓡ
 

Tendances (20)

Rapport tp2 j2ee
Rapport tp2 j2eeRapport tp2 j2ee
Rapport tp2 j2ee
 
Le framework-executor
Le framework-executorLe framework-executor
Le framework-executor
 
Présentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'OfflinePrésentation GWT et HTML 5 pour l'Offline
Présentation GWT et HTML 5 pour l'Offline
 
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
Workshop Spring  3 - Tests et techniques avancées du conteneur SpringWorkshop Spring  3 - Tests et techniques avancées du conteneur Spring
Workshop Spring 3 - Tests et techniques avancées du conteneur Spring
 
Retours Devoxx France 2016
Retours Devoxx France 2016Retours Devoxx France 2016
Retours Devoxx France 2016
 
Workshop Spring - Session 1 - L'offre Spring et les bases
Workshop Spring  - Session 1 - L'offre Spring et les basesWorkshop Spring  - Session 1 - L'offre Spring et les bases
Workshop Spring - Session 1 - L'offre Spring et les bases
 
Introduction aux Web components (DNG Consulting)
Introduction aux Web components (DNG Consulting)Introduction aux Web components (DNG Consulting)
Introduction aux Web components (DNG Consulting)
 
Architecture java j2 ee a partager
Architecture java j2 ee a partagerArchitecture java j2 ee a partager
Architecture java j2 ee a partager
 
Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?Quoi de neuf à Devoxx France 2017 ?
Quoi de neuf à Devoxx France 2017 ?
 
Installation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de TomcatInstallation et Configuration ee JDK et de Tomcat
Installation et Configuration ee JDK et de Tomcat
 
Utilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérienceUtilisation de ZK avec Java - Retour d’expérience
Utilisation de ZK avec Java - Retour d’expérience
 
2- Configuration des référentiels ODI 11
2- Configuration des référentiels ODI 112- Configuration des référentiels ODI 11
2- Configuration des référentiels ODI 11
 
Les dessous du framework spring
Les dessous du framework springLes dessous du framework spring
Les dessous du framework spring
 
Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)Spring Meetup Paris - Back to the basics of Spring (Boot)
Spring Meetup Paris - Back to the basics of Spring (Boot)
 
Introduction à spring boot
Introduction à spring bootIntroduction à spring boot
Introduction à spring boot
 
Workshop Spring - Session 4 - Spring Batch
Workshop Spring -  Session 4 - Spring BatchWorkshop Spring -  Session 4 - Spring Batch
Workshop Spring - Session 4 - Spring Batch
 
Marzouk jsp
Marzouk jspMarzouk jsp
Marzouk jsp
 
Kick starting OpenERP
Kick starting OpenERPKick starting OpenERP
Kick starting OpenERP
 
Netbeans Install
Netbeans InstallNetbeans Install
Netbeans Install
 
Cours jee 1
Cours jee 1Cours jee 1
Cours jee 1
 

Similaire à 3 shared preference_sq_lite

chapitre 1 Android 2.pptx
chapitre 1 Android 2.pptxchapitre 1 Android 2.pptx
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
FethiBenYahia1
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
Ines Ouaz
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1infcom
 
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
oumaimanouari
 
LP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxLP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptx
FATIMAEZZAHRAEOUBELL
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
Lilia Sfaxi
 
Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g
noble Bajoli
 
Joomla! Platform - Pourquoi l’API Joomla!
Joomla! Platform - Pourquoi l’API Joomla!Joomla! Platform - Pourquoi l’API Joomla!
Joomla! Platform - Pourquoi l’API Joomla!
Bilel McSam
 
J platform
J platformJ platform
J platform
Bilel McSam
 
Drools et les moteurs de règles
Drools et les moteurs de règlesDrools et les moteurs de règles
Drools et les moteurs de règles
Publicis Sapient Engineering
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
5pidou
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
MSDEVMTL
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
Atsé François-Xavier KOBON
 
LP_Admin_base_données.ppt
LP_Admin_base_données.pptLP_Admin_base_données.ppt
LP_Admin_base_données.ppt
Idriss22
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
Ines Ouaz
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
Youness Boukouchi
 

Similaire à 3 shared preference_sq_lite (20)

chapitre 1 Android 2.pptx
chapitre 1 Android 2.pptxchapitre 1 Android 2.pptx
chapitre 1 Android 2.pptx
 
3-android.pdf
3-android.pdf3-android.pdf
3-android.pdf
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Dba oracle-v1
Dba oracle-v1Dba oracle-v1
Dba oracle-v1
 
Test
TestTest
Test
 
PHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiquesPHP_partie_.ppt,php_cours_mathematiques_informatiques
PHP_partie_.ppt,php_cours_mathematiques_informatiques
 
LP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptxLP_chapitre3_Creation et gestion_BD_2019.pptx
LP_chapitre3_Creation et gestion_BD_2019.pptx
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g Administration des base de donnees sous oracle 10g
Administration des base de donnees sous oracle 10g
 
NIO 2
NIO 2NIO 2
NIO 2
 
Joomla! Platform - Pourquoi l’API Joomla!
Joomla! Platform - Pourquoi l’API Joomla!Joomla! Platform - Pourquoi l’API Joomla!
Joomla! Platform - Pourquoi l’API Joomla!
 
J platform
J platformJ platform
J platform
 
Drools et les moteurs de règles
Drools et les moteurs de règlesDrools et les moteurs de règles
Drools et les moteurs de règles
 
Quelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application webQuelle place pour le framework Rails dans le développement d'application web
Quelle place pour le framework Rails dans le développement d'application web
 
Hibernate et jsf
Hibernate et jsfHibernate et jsf
Hibernate et jsf
 
Les micro orm, alternatives à entity framework
Les micro orm, alternatives à entity frameworkLes micro orm, alternatives à entity framework
Les micro orm, alternatives à entity framework
 
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
#J2Code2018 - Mettez du feu à vos applications avec CodeIgniter
 
LP_Admin_base_données.ppt
LP_Admin_base_données.pptLP_Admin_base_données.ppt
LP_Admin_base_données.ppt
 
Connexion jdbc
Connexion jdbcConnexion jdbc
Connexion jdbc
 
La persistance des données : ORM et hibernate
La persistance des données : ORM et hibernateLa persistance des données : ORM et hibernate
La persistance des données : ORM et hibernate
 

Plus de Saber LAJILI

Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
Saber LAJILI
 
Cours android 2016
Cours android 2016Cours android 2016
Cours android 2016
Saber LAJILI
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
Saber LAJILI
 
Accueil.java
Accueil.javaAccueil.java
Accueil.java
Saber LAJILI
 
Activity accueil
Activity accueilActivity accueil
Activity accueil
Saber LAJILI
 
Main.xml
Main.xmlMain.xml
Main.xml
Saber LAJILI
 
Liste exposés université privée leaders
Liste exposés université privée leadersListe exposés université privée leaders
Liste exposés université privée leaders
Saber LAJILI
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
Saber LAJILI
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
Saber LAJILI
 
Exemple de création de base
Exemple de création de baseExemple de création de base
Exemple de création de base
Saber LAJILI
 
Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3
Saber LAJILI
 
Les capteurs sous android
Les capteurs sous androidLes capteurs sous android
Les capteurs sous android
Saber LAJILI
 
F3
F3F3
F1
F1F1
F2
F2F2
2 activity user_interface
2 activity user_interface2 activity user_interface
2 activity user_interfaceSaber LAJILI
 

Plus de Saber LAJILI (16)

Cours android user_interface_2016
Cours android user_interface_2016Cours android user_interface_2016
Cours android user_interface_2016
 
Cours android 2016
Cours android 2016Cours android 2016
Cours android 2016
 
Les ateliers android_1_vers2015
Les ateliers android_1_vers2015Les ateliers android_1_vers2015
Les ateliers android_1_vers2015
 
Accueil.java
Accueil.javaAccueil.java
Accueil.java
 
Activity accueil
Activity accueilActivity accueil
Activity accueil
 
Main.xml
Main.xmlMain.xml
Main.xml
 
Liste exposés université privée leaders
Liste exposés université privée leadersListe exposés université privée leaders
Liste exposés université privée leaders
 
1 tours horizon
1 tours horizon1 tours horizon
1 tours horizon
 
5 android web_service
5 android web_service5 android web_service
5 android web_service
 
Exemple de création de base
Exemple de création de baseExemple de création de base
Exemple de création de base
 
Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3Mini projet android 2014 2015 iset nabeul sem3
Mini projet android 2014 2015 iset nabeul sem3
 
Les capteurs sous android
Les capteurs sous androidLes capteurs sous android
Les capteurs sous android
 
F3
F3F3
F3
 
F1
F1F1
F1
 
F2
F2F2
F2
 
2 activity user_interface
2 activity user_interface2 activity user_interface
2 activity user_interface
 

3 shared preference_sq_lite

  • 1. Persistance des données : Préférences et SQLite Saber LAJILI Version Janvier 2014
  • 2. SharedPreferences  les préférences sauvegardées dans un fichier .XML  Un objet preferences est de type Bundel qui peut contenir des paires (clé, valeur)  Création : SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(this);  Modification: Saber LAJILI 2
  • 3. SharedPreferences  Accès: String username = preferences.getString("login", NULL);  Opérations de MAJ : edit.remove(clé) ; edit.clear() ; edit.commit() ; Edit.getString(clé) Edit.putString(clé, valeur) Saber LAJILI 3
  • 5. Démo Réaliser cette interface avec sauvegarde de login de user Saber LAJILI 5
  • 6. SQLite  SQLite Open Source intégrée dans Android.  SQLite supporte la syntaxe SQL, les transactions et les requêtes préparées.  Ne nécessite que peu de mémoire lors de l'exécution (environ 250 Ko).  Ne nécessite aucune tâche de configuration ni d'administration  Sauvegardé par défaut dans le répertoire: DATA/APP_NAME/FILENAME_DB  Ne supporte que les types : TEXT, REAL et INTEGER Saber LAJILI 6
  • 7. SQLite  Création de la base  Package « android.database.sqlite »  La classe SQLiteOpenHelper Méthode : onCreate(), onUpgrade()  Manipulation de la base  La classe « SQLiteDatabase » méthodes :execSQL() , rawQuery, query insert (), update () et delete ()  Résultat de requête : un objet Cursor Saber LAJILI 7
  • 8. Démo Il s’agit de créer une interface de gestion des commentaires Saber LAJILI 8
  • 9. Démo  Démarche suivante: 1. Créer la base de données : étendre la classe « SQLiteOpenHelper » 2. Créer la classe « Comment » 3. Créer la classe « DAO » d’accès aux données 4. Créer la classe de test (main_activity) Saber LAJILI 9

Notes de l'éditeur

  1. Les activités et les applications peuvent sauvegarder leurs préférences sous la forme de paires clés/valeurs qui persisteront entre deux appels. Les préférences peuvent être propres à une activité ou partagées par toutes les activités d’une application (mode de partage).
  2. Les activités et les applications peuvent sauvegarder leurs préférences sous la forme de paires clés/valeurs qui persisteront entre deux appels. Les préférences peuvent être propres à une activité ou partagées par toutes les activités d’une application (mode de partage).
  3. SQLite supporte les types de données (TEXT semblable à String dans Java), INTEGER (semblable à longue en Java) et REAL (semblable à double en Java). Tous les autres types doivent être convertis en un de ces champs avant de les enregistrer dans la base de donnéesL'accès à une base de données SQLite comprend l'accès au système de fichiers. Cela peut être lent. Par conséquent, il est recommandé d'effectuer les opérations de base de données de manière asynchrone, par exemple à l'intérieur de la classe AsyncTask.
  4. Pour réaliser des opérations d’insertion et de mises à jour de la base de données, on utilise les objets ContentValues qui permettent de définir les paires (clé/valeur). La "clé" représente l'identificateur de colonne de la table et la «valeur» représente le contenu cette colonne.