Gestion des données avec SQLite sous Android

Save this PDF as:
 WORD  PNG  TXT  JPG

Dimension: px
Commencer à balayer dès la page:

Download "Gestion des données avec SQLite sous Android"

Transcription

1 Gestion des données avec SQLite sous Android La base de données SQLite SQLite est une base de données Open Source embarquée dans le système Android. SQLite supporte les types suivants : NULL : valeur non définie TEXT : équivalent à String en Java INTEGER : équivalent à Long en Java REAL : équivalent à Double en Java BLOB : la donnée est enregistrée comme elle a été donnée Les autres types doivent être convertis dans un de ces types définis ci-dessus avant l'insertion en base. SQLite n'offre pas de support concernant la validation de ces types lors de l'insertion. SQLite est disponible sur n'importe quel terminal sous Android. Utiliser une base SQLite ne requiert aucune étape d'administration ou de paramétrage préalable. Il suffit simplement d'écrire les requêtes SQL permettant de créér ou de mettre à jour la base de données. Celle-ci est ensuite gérée automatiquement par la plateforme Android. Accéder à une base de données SQLite implique en fait d'accéder à un fichier stocké quelque part sur le système de fichier. Cette opération peut être plus ou moins longue. Il est donc recommandé de réaliser toutes les opérations sur la base de données de manière asynchrone, par exemple via la classe AsyncTask de l'api Android. Par défaut, la base de données est sauvegardée dans l'espace réservé à l'application : /data/data/<package de l'application>/databases/<nom de la base de données> Le sous package android.database.sqlite contient les classes spécifiques à SQLite. La classe SQLiteDatabase est la classe principale permettant de travailler avec les bases de données SQLite. Elle offre plusieurs méthodes pour accéder à la base de données, exécuter des requêtes pour récupérer un ensemble de données ou pour mettre à jour la base et fermer la base de données : insert*() : méthodes pour insérer une donnée dans une table execsql() : exécuter une requête SQL qui ne retourne pas ou ne modifie pas ou ne supprime pas des données query*() : retourne un Cursor sur les données en fonction de paramètres donnés rawquery() : retourne un Cursor en prenant en entrée directement une requête SQL update*() : méthodes pour mettre à jour un ensemble de données delete() : méthode pour supprimer un ensemble de données Les méthodes insert*() et update*() utilisent en paramètre la classe ContentValues qui décrit sous forme de clé / valeur la donnée à insérer en base. Objet Cursor Les méthodes query*() et rawquery() retournent un objet Cursor. Cet objet représente le résultat de la requête exécutée et pointe généralement sur un élément de la liste du résultat. Ce principe permet d'éviter de devoir tout charger en mémoire. La classe Cursor offre les méthodes nécessaires pour naviguer dans la liste des éléments du résultat de la requête : getcount() : retourne le nombre d'éléments du résultat de la requête move*() : méthodes permettant de déplacer le curseur dans le résultat isafterlast() : permet de déterminer si on a atteint la fin de la liste du résultat get*(int columnindex) : ensemble de méthodes permettant de retourner la valeur typée d'une colonne donnée selon son index. Exemple : getlong() ou getstring() getcolumnindex() : retourne l'index correspondant au nom de la colonne ou retourne -1 si le nom de la colonne n'existe pas getcolumnindexorthrow() : retourne l'index correspondant au nom de la colonne ou lève une exception si le nom de la colonne n'existe pas Page 1 sur 5

2 Exemple avec une classe Article Elle va être utilisée pour le passage ou la récupération de paramètres depuis ou vers la base de données. public class Article { protected String reference; protected String designation; protected String prixunitht; protected String quantite; public Article(String unereference, String unedesignation, String unprixunitht) public String getreference() public void setreference(string reference) public String getdesignation() public void setdesignation(string designation) public String getprixunitht() public void setprixunitht(string prixunitht) public String getquantite() public void setquantite(string quantite) Il faut créer une nouvelle classe CreateBdArticle.class et qui hérite de SQLiteOpenHelper. Cette classe va permettre de définir la table qui sera produite lors de l instanciation de celle-ci. public class CreateBdArticle extends SQLiteOpenHelper { private static final String TABLE_ARTICLES = "table_articles"; static final String COL_ID = "_id"; private static final String COL_REF = "REF"; private static final String COL_DES = "DES"; private static final String COL_PU = "PU"; private static final String COL_QTE = "QTE"; private static final String CREATE_BDD = "CREATE TABLE " + TABLE_ARTICLES + " ("+COL_ID+" INTEGER PRIMARY KEY AUTOINCREMENT," + COL_REF + " TEXT NOT NULL, " + COL_DES + " TEXT NOT NULL, " + COL_PU + " TEXT NOT NULL," + COL_QTE + " TEXT NOT NULL);"; public CreateBdArticle(Context context, String name, CursorFactory factory, int version) { super(context, name, factory, version); // TODO Auto-generated constructor public void oncreate(sqlitedatabase db) { // appelée lorsqu aucune base n existe et que la classe utilitaire doit en créer une //on créé la table à partir de la requête écrite dans la variable CREATE_BDD // appelée si la version de la base a changé public void onupgrade(sqlitedatabase db, int oldversion, int newversion) { //On peut supprimer la table et de la recréer db.execsql("drop TABLE " + TABLE_ARTICLES + ";"); oncreate(db); Ensuite il faut créer une nouvelle classe utilitaire BdAdapter.java. Elle va nous permettre de gérer l insertion, la suppression, la modification de articles dans la Base De Données ainsi que de faire des requêtes pour récupérer un article contenu dans la base de données. Page 2 sur 5

3 public class BdAdapter { static final int VERSION_BDD = 1; private static final String NOM_BDD = "articles.db"; static final String TABLE_ARTICLES = "table_articles"; static final String COL_ID = "_id"; static final int NUM_COL_ID = 0; static final String COL_REF = "REF"; static final int NUM_COL_REF = 1; static final String COL_DES = "DES"; static final int NUM_COL_DES = 2; static final String COL_PU = "PU"; static final int NUM_COL_PU = 3; static final String COL_QTE = "QTE"; static final int NUM_COL_QTE = 4; private CreateBdArticle bdarticles; private Contextcontext; private SQLiteDatabase db; public BdAdapter (Context context){ this.context = context; bdarticles = new CreateBdArticle(context, NOM_BDD, null, VERSION_BDD); //si la base n existe pas, l objet SQLiteOpenHelper exécute la méthode oncreate // si la version de la bse a changé, la méthode onupgrade sera lancée // dans les 2 cas l appel à getwritabledatabase ou getreadabledatabase renverra la base // de données en cache, nouvellement ouverte, nouvellement créée ou mise à jour public BdAdapter open (){ db = bdarticles.getwritabledatabase(); return this; public BdAdapter close (){ db.close(); return null; public long insererarticle (Article unarticle){ //Création d'un ContentValues (fonctionne comme une HashMap) ContentValues values = new ContentValues(); //on lui ajoute une valeur associé à une clé (qui est le nom de la colonne où on veut mettre la valeur) values.put(col_ref, unarticle.getreference()); values.put(col_des, unarticle.getdesignation()); values.put(col_pu, unarticle.getprixunitht()); values.put(col_qte, unarticle.getquantite()); //on insère l'objet dans la BDD via le ContentValues return db.insert(table_articles, null, values); private Article cursortoarticle(cursor c){ //Cette méthode permet de convertir un cursor en un article //si aucun élément n'a été retourné dans la requête, on renvoie null if (c.getcount() == 0) return null; //Sinon c.movetofirst(); //on se place sur le premier élément Article unarticle = new Article(); //On créé un article //on lui affecte toutes les infos grâce aux infos contenues dans le Cursor unarticle.setreference(c.getstring(num_col_ref)); unarticle.setdesignation(c.getstring(num_col_des)); unarticle.setprixunitht(c.getstring(num_col_pu)); unarticle.setquantite(c.getstring(num_col_qte)); c.close(); //On ferme le cursor Page 3 sur 5

4 return unarticle; //On retourne l'article public Article getarticlewithdesignation(string designation){ //Récupère dans un Cursor les valeurs correspondant à un article grâce à sa designation) Cursor c = db.query(table_articles, new String[] {COL_ID,COL_REF, COL_DES, COL_PU, COL_QTE, COL_DES + " LIKE \"" + designation +"\"", null, null, null, null); return cursortoarticle(c); public int updatearticle(string ref, Article unarticle){ //La mise à jour d'un article dans la BDD fonctionne plus ou moins comme une insertion //il faut simple préciser quel article on doit mettre à jour grâce à sa référence ContentValues values = new ContentValues(); values.put(col_des, unarticle.getdesignation()); values.put(col_pu, unarticle.getprixunitht()); values.put(col_qte, unarticle.getquantite()); return db.update(table_articles, values, COL_REF + " = \"" +ref+"\"", null); public int removearticlewithref(string ref){ //Suppression d'un article de la BDD grâce à sa référence return db.delete(table_articles, COL_REF + " = \"" +ref+"\"", null); public Cursor getdata(){ return db.rawquery("select * FROM TABLE_ARTICLES", null); Pour tester ces 2 nouvelles classes, il suffit de rajouter la méthode suivante dans la classe MainActivity.java et l appeler juste avant la gestion des boutons. protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); // test de la BD testbd(); public void testbd(){ //Création d'une instance de la classe unarticlesbdd articlebdd = new BdAdapter(this); //Création d'un Article Article unarticle = new Article("ref1", "des1", "10.0","3"); //On ouvre la base de données pour écrire dedans articlebdd.open(); //On insère l'article que l'on vient de créer articlebdd.insererarticle(unarticle); System.out.println("insertion article"); //Pour vérifier que l'on a bien créé un Article dans la BDD //on extrait l article de la BDD grâce à la désignation de l'article que l'on a créé précédemment Article unarticlefrombdd = articlebdd.getarticlewithdesignation("des1"); //Si un unarticle est retourné (donc si le unarticle à bien été ajouté à la BDD) if(unarticlefrombdd!= null){ //On affiche les infos de l Article dans un Toast Toast.makeText(this, unarticlefrombdd.getdesignation(), Toast.LENGTH_LONG).show(); //On modifie le titre de l Article Page 4 sur 5

5 unarticlefrombdd.setdesignation("des2"); //Puis on met à jour la BDD articlebdd.updatearticle(unarticlefrombdd.getreference(), unarticlefrombdd); else { Toast.makeText(this, "Article non trouvé", Toast.LENGTH_LONG).show(); //On extrait l Article de la BDD grâce à sa nouvelle désignation unarticlefrombdd = articlebdd.getarticlewithdesignation("des2"); //S'il existe un Article possédant cette désignation dans la BDD if(unarticlefrombdd!= null){ //On affiche les nouvelles info de l Article pour vérifié que la désignation de l Article a bien été maj Toast.makeText(this, unarticlefrombdd.getdesignation(), Toast.LENGTH_LONG).show(); //on supprime le unarticle de la BDD grâce à son ID articlebdd.removearticlewithref(unarticlefrombdd.getreference()); //On essait d'extraire de nouveau l Article de la BDD toujours grâce à sa nouvelle désignation unarticlefrombdd = articlebdd.getarticlewithdesignation("des2"); //Si aucun unarticle n'est retourné if(unarticlefrombdd == null){ //On affiche un message indiquant que l Article n'existe pas dans la BDD Toast.makeText(this, "Cet article n'existe pas dans la BDD", Toast.LENGTH_LONG).show(); else{ //Si l'article existe (mais normalement il ne devrait pas) //on affiche un message indiquant que l Article existe dans la BDD Toast.makeText(this, "Cet article existe dans la BDD", Toast.LENGTH_LONG).show(); articlebdd.close(); création de quelques enregistrements Dans la classe MainActivity.java on peut rajouter le code suivant pour créer quelques enregistrements dans la base de données. //Création d'une instance de la classe unarticlesbdd articlebdd = new BdAdapter(this); //On ouvre la base de données pour écrire dedans articlebdd.open(); //On insère DES ARTICLES DANS LA BD articlebdd.insererarticle(new Article("ref1", "des1", "10.0","3")); articlebdd.insererarticle(new Article("ref2", "des2", "12.0","6")); articlebdd.insererarticle(new Article("ref3", "des3", "15.0","10")); articlebdd.insererarticle(new Article("ref4", "des4", "11.0","5")); articlebdd.close(); Une fois les enregistrements créés, le code suivant permet de vérifier s ils sont bien présents dans la base de données : Cursor c = articlebdd.getdata(); Toast.makeText(getApplicationContext(), "il y a "+String.valueOf(c.getCount())+" articles dans la BD", Toast.LENGTH_LONG).show(); Ce code permet de récupérer le contenu de la base de données dans un curseur, puis une fenêtre popup affiche le nombre d enregistrements trouvé dans le curseur. Page 5 sur 5

La persistance des données avec SQLite. Jean-marc Farinone. JMF (Tous droits réservés) 1

La persistance des données avec SQLite. Jean-marc Farinone. JMF (Tous droits réservés) 1 La persistance des données avec SQLite Jean-marc Farinone JMF (Tous droits réservés) 1 Remarques sur SQLite La base de données FILENAME est stockée dans le smartphone sous /data/data/nom_package_appli/databases/filename

Plus en détail

Android API de Persistance. James Douglass Lefruit Ingénieur de Recherche, INRIA Grenoble

Android API de Persistance. James Douglass Lefruit Ingénieur de Recherche, INRIA Grenoble Android API de Persistance James Douglass Lefruit Ingénieur de Recherche, INRIA Grenoble Android Les Préférences SharedPreferences Stockage SQLite sur Android Introduction Générale à SQLite Les API SQLite

Plus en détail

Content Provider. Qu est-ce qu un ContentProvider? Table des matières

Content Provider. Qu est-ce qu un ContentProvider? Table des matières Content Provider Table des matières Qu est-ce qu un ContentProvider?...1 Comment créer un ContentProvider?...2 Exemple...3 Création d une classe de test...5 Application Tierce...6 Source...7 Qu est-ce

Plus en détail

Bases de données. Programmation Mobile Android Master CCI. Définition du modèle. Définition du SQLiteOpenHelper

Bases de données. Programmation Mobile Android Master CCI. Définition du modèle. Définition du SQLiteOpenHelper SQLite Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Nous allons voir comment stocker de l information structurée sous la forme d une base de données

Plus en détail

Sauvegarder ses données sous Android :! SharedPreferences, SQLite, Files

Sauvegarder ses données sous Android :! SharedPreferences, SQLite, Files Sauvegarder ses données sous Android : SharedPreferences, SQLite, Files Jean-Ferdinand Susini Maître de conférences au CNAM Sources : Wikipedia, developper.android.com Paris, 05/06/2014 Les SharedPreferences

Plus en détail

SQLite pour Android. Construction de la base de données

SQLite pour Android. Construction de la base de données SQLite pour Android On veut, dans ce TP, construire une application Android qui permet de gérer des contacts (essentiellement un nom associé à un numéro de téléphone). Ces contacts seront mis dans une

Plus en détail

1- Créer notre DatabaseHelper, enfant de SQLiteOpenHelper (permet de créer nos tables) 2- Créer notre Model qui contiendra les requêtes

1- Créer notre DatabaseHelper, enfant de SQLiteOpenHelper (permet de créer nos tables) 2- Créer notre Model qui contiendra les requêtes B53 Android SQLite SQLite est intégrée au moteur d exécution d Android. Il s agit d un SGBD très apprécié car il fournit une interface SQL tout en nécessitant un minimum de mémoire et en fournissant une

Plus en détail

Chapitre 4 : La persistance des données

Chapitre 4 : La persistance des données Chapitre 4 : La persistance des données Vue d ensemble Ce Chapitre présente la définition et l utilisation de la persistance des données Objectifs Ce chapitre traite de la conservation de l état des applications

Plus en détail

Activité : Base de données sous Android

Activité : Base de données sous Android Activité : Base de données sous Android Thierry Vaira 19/03/2017 (rev. 1) Table des matières Base de données sous Android 1 La classe XXXSQLite....................................................

Plus en détail

Persistance des données

Persistance des données Persistance des données 1 Différentes persistances Android fournit plusieurs méthodes pour faire persister les données applicatives: la persistance des activités (pouvoir conserver l état de l interface

Plus en détail

Sauvegarde locale des données : SharedPreferences, SQLite, Files

Sauvegarde locale des données : SharedPreferences, SQLite, Files Sauvegarde locale des données : SharedPreferences,, Files Jean-Ferdinand Susini Maître de conférences au CNAM Sources : Wikipedia, developper.android.com Paris, 31/05/2015 Les SharedPreferences 2 Héritier

Plus en détail

Créer une appli Android Partie 4 : SQLite

Créer une appli Android Partie 4 : SQLite Créer une appli Android Partie 4 : SQLite Java Android Hervé PHILIPPE Promotion 2015-2016 Plan SQLite Cursor Présentation DAO Gérer la création/mise à jour de la base de données (SQLiteOpenHelper) Manipuler

Plus en détail

Android Gestion des données. Rémi Forax

Android Gestion des données. Rémi Forax Android Gestion des données Rémi Forax Types de stockage Android fourni plusieurs types de stockage Données actives d'une activité (Bundle) Fichier ressources read-only (répertoire res) Préférence partageable

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe

Plus en détail

1. Base de données SQLite

1. Base de données SQLite Dans ce TP, nous allons voir comment créer et utiliser une base de données SQL locale pour stocker les informations. La semaine prochaine, ça sera avec un WebService. On repart de l application AvosAvis

Plus en détail

La persistance des données avec SQLite. JMF (Tous droits réservés) 1

La persistance des données avec SQLite. JMF (Tous droits réservés) 1 La persistance des données avec SQLite JMF (Tous droits réservés) 1 Une base de données =? Une base de données est un système contenant des données et géré par un logiciel Une base de données (BD) relationnelle

Plus en détail

Programmation orientée objet en langage JAVA

Programmation orientée objet en langage JAVA Programmation orientée objet en langage JAVA Connexion à une base de données avec JDBC Claude Duvallet Université du Havre UFR Sciences et Techniques 25 rue Philippe Lebon - BP 540 76058 LE HAVRE CEDEX

Plus en détail

Bases de données et fournisseurs de contenu

Bases de données et fournisseurs de contenu 8 Bases de données et fournisseurs de contenu Au sommaire de ce chapitre : Créer des bases de données et utiliser SQLite Utiliser les fournisseurs de contenu, les curseurs et les content values pour stocker,

Plus en détail

TP n 4 - Quiz. 1) Création du projet. 2) Construction de la page d accueil. Pratique d Android

TP n 4 - Quiz. 1) Création du projet. 2) Construction de la page d accueil. Pratique d Android TP n 4 - Quiz 1) Création du projet L objectif ici est de construire une application Android proposant un Quiz sur des noms de films et d'acteurs à retrouver en fonction du nom du rôle du personnage. Créer

Plus en détail

Android - Semaine 6. Android - Semaine 6. Pierre Nerzic. février-mars 2015. 1 / 60 Pierre Nerzic

Android - Semaine 6. Android - Semaine 6. Pierre Nerzic. février-mars 2015. 1 / 60 Pierre Nerzic Android - Semaine 6 Pierre Nerzic février-mars 2015 1 / 60 Pierre Nerzic Après avoir représenté une liste d'items sous forme d'un tableau en semaine 4, nous allons la stocker dans un SGBD SQL. SQLite3

Plus en détail

Chapitre 5. La persistance des données

Chapitre 5. La persistance des données Chapitre 5 La persistance des données 1 Plan du chapitre 5 Comment partager des données entre applications Utilisation des Shared Preferences Utilisation du système de fichiers (dont XML) Utilisation de

Plus en détail

SQLITE. Imene Sghaier

SQLITE. Imene Sghaier SQLITE 1 Imene Sghaier 2017-2018 PLAN DU CHAPITRE Introduction SQLite Création et mise à jour Types de données pour SQLite Création de table avec SQLite Exécution de requêtes Récupéreration de la base

Plus en détail

Université Mohammed Premier Année universitaire 2012-2013

Université Mohammed Premier Année universitaire 2012-2013 Université Mohammed Premier Année universitaire 2012-2013 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Responsable du cours : El Mostafa

Plus en détail

LP DAM. BDD Client. IUT Informatique Université de Nice-Sophia Antipolis. Macha DA COSTA - machada.fr - macha.dacosta@gmail.com

LP DAM. BDD Client. IUT Informatique Université de Nice-Sophia Antipolis. Macha DA COSTA - machada.fr - macha.dacosta@gmail.com LP DAM BDD Client IUT Informatique Université de Nice-Sophia Antipolis Macha DA COSTA - machada.fr - macha.dacosta@gmail.com Résumé séances précédentes L architecture Client-Serveur Les applications Clientes

Plus en détail

Programmation orientée objet TP 1 Prise en main de l environnement Java

Programmation orientée objet TP 1 Prise en main de l environnement Java Programmation orientée objet TP 1 L2 MPCIE Prise en main de l environnement Java Exercice 1 Nous désirons développer un programme pour la gestion (très simplifiée) d'un parc de véhicules destinés à la

Plus en détail

Java et les bases de données

Java et les bases de données Java et les bases de données Introduction Application Java? Base de données Besoin d'un framework permettant l'accès aux bases de données (SQL) dans un programme Java : - Indépendamment du type de la base

Plus en détail

TP SIN Programmation sur androïde Support : eclipse

TP SIN Programmation sur androïde Support : eclipse TP SIN Programmation sur androïde Support : eclipse Support : Smartphone sur androïde Pré requis (l élève doit savoir): Savoir utiliser un ordinateur Savoir utiliser un Smartphone Programme Objectif terminale

Plus en détail

Architecture des systèmes mobiles

Architecture des systèmes mobiles Architecture des systèmes mobiles contrôle 1 - année 2013 durée 1h30 seul document autorisé : les polycopiés du cours Voici l application Chronomètre : Le premier clic sur le bouton enregistre un premier

Plus en détail

TUTO 2 - ANDROID : BONJOUR QUI?

TUTO 2 - ANDROID : BONJOUR QUI? TUTO 2 - ANDROID : BONJOUR QUI? Dans ce tutoriel, on va développer une application assez simple. Ce tutoriel va permettre de découvrir des composants graphiques (Textfield, EditText et Bouton). Un aperçu

Plus en détail

Les exceptions en java

Les exceptions en java 1/12 Les exceptions en java 2/12 C'est quoi une exception? Une exception est un événement (une erreur) qui se produit lors de l'exécution d'un programme, et qui va provoquer un fonctionnement anormal (par

Plus en détail

FONCTIONS DE TRAITEMENT} COUNT

FONCTIONS DE TRAITEMENT} COUNT Nom Prénom Promotion Date Buhl Damien Année 1 Groupe 2 21 Janvier 2007 CER Prosit n 22 Mots-Clés : - Requête/Langage SQL Le langage SQL (Structured Query Language) est un langage de requêtes, il permet

Plus en détail

Cours 3 : Encapsulation et tests

Cours 3 : Encapsulation et tests DUT Informatique S3 - Programmation Java Jean-Claude MARTIN MARTIN@LIMSI.fr Cours 3 : Encapsulation et tests Plan Divers Paquetages : intérêt, utilisation des packages existants, créer un package Encapsulation

Plus en détail

NFA032 Programmation objet avec Java

NFA032 Programmation objet avec Java NFA032 Programmation objet avec Java CNAM-Paris-Île-de-France Première session 2013 (sujet bis) Documents et calculatrice interdits. Le barème est donné à titre indicatif. Exercice 1 : programmation objet

Plus en détail

SQL Server 2014 - SQL, Transact SQL Conception et réalisation d'une base de données (avec exercices pratiques et corrigés)

SQL Server 2014 - SQL, Transact SQL Conception et réalisation d'une base de données (avec exercices pratiques et corrigés) Le modèle relationnel 1. Introduction 9 2. Rappels sur le stockage des données 9 2.1 Les différentes catégories de données 10 2.1.1 Les données de base 10 2.1.2 Les données de mouvement 10 2.1.3 Les données

Plus en détail

Développement d application web avec Visual Studio 2012 et ASP.NET. Tutoriel 3.1 : Programmation Web. Etape 1 Créer une application ASP.

Développement d application web avec Visual Studio 2012 et ASP.NET. Tutoriel 3.1 : Programmation Web. Etape 1 Créer une application ASP. Etape 1 Créer une application ASP.NET vide L objectif de cette étape est de montrer comment Visual Studio génère des fichiers et utilise le mécanisme des classes partielles pour accéder aux éléments générés

Plus en détail

TP Android : Utilisation de SQLite

TP Android : Utilisation de SQLite 1 TP Android : Utilisation de SQLite Vincent Dubois Android dispose d un moteur de base de données SQLite, assez proche de SQL (avec quelques simplifications et fonctionnalités en moins). L objectif de

Plus en détail

2010-2011. Projet EI4-AGI. Application Android. Corentin LAURENT / Bilal EL BAHRI / Benjamin DEMONET

2010-2011. Projet EI4-AGI. Application Android. Corentin LAURENT / Bilal EL BAHRI / Benjamin DEMONET 2010-2011 Projet EI4-AGI Application Android Corentin LAURENT / Bilal EL BAHRI / Benjamin DEMONET Table des matières I - Planète-ISTIA, Android edition... 3 A) Planète-ISTIA, le site des étudiants... 3

Plus en détail

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles

GL / C++ Chapitre 7. Lien Dynamique Méthodes Virtuelles GL / C++ Chapitre 7 Lien Dynamique Méthodes Virtuelles 1. Pointeur sur un objet d'une classe dérivée Considérons les classes écrites précédemment : Personne Etudiant // dérive de personne Salarie // dérive

Plus en détail

1. Programmation sous Android

1. Programmation sous Android Programmation XML Développez une application Android 1. Programmation sous Android Programmation XML Sous Android, les objets permettant l interaction avec l utilisateur s'appellent des widgets et, dans

Plus en détail

TP Android Les Intents avec passage de données

TP Android Les Intents avec passage de données TP Android Les Intents avec passage de données Romain Raveaux Polytech Tours Dans le TP précédent, nous avons vu comment démarrer une nouvelle fenêtre par le biais d une action sur un bouton posé sur une

Plus en détail

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible

Exceptions. Qu est ce qu un cas exceptionnel? Principe : détecter le maximum d erreurs à la compilation, mais... pas toujours possible Programmation Orientée Objet Jean-Christophe Routier Licence mention Informatique Université Lille Principe : détecter le maximum d erreurs à la compilation, mais pas toujours possible Gestion des erreurs

Plus en détail

Dossier de livraison PPE Gestion Commerciale

Dossier de livraison PPE Gestion Commerciale Dossier de livraison PPE Gestion Commerciale p. 1 Sommaire I. Guide utilisateur -------------------------------------------------------- p3 II. III. IV. Base de données ---------------------------------------------------------

Plus en détail

TP4 : Services Web REST

TP4 : Services Web REST TP4 : Services Web REST Développement d un service REST pour la réservation d un hôtel L objectif de cet exercice est le de veloppement de services REST à pàrtir de clàsses Jàvà pour là recherche et là

Plus en détail

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR

PHP /MySQL Interface d'accès aux BDDs PDO. Youssef CHAHIR PHP /MySQL Interface d'accès aux BDDs PDO Youssef CHAHIR 1 PLAN Architecture Créer une interface PHP/MySQL : Établir une connexion Exécuter une requête Gérer les erreurs Exploiter les résultats de la requête

Plus en détail

Les procédures fonctions packages et triggers

Les procédures fonctions packages et triggers Les procédures fonctions packages et triggers Les procédures stockées: Définition: Une procédure est un code PL/SQL défini par l utilisateur et stocké dans la base de données. Ce qui permet d éliminer

Plus en détail

Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9

Web & XML. Evaluation 1/2. ENSEIRB Programmation Web / XML. Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP. Page 1/9 Web & XML ENSEIRB Programmation Web / XML Evaluation 1/2 Version 1.00 du 19 décembre 2012 Etat : Travail SOPRA GROUP Page 1/9 Historique : Version Date Origine de la mise à jour Rédigée par Validée par

Plus en détail

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android

Guillaume MONTAVON Benoît MEILHAC. Rapport Technique du projet. Gestionnaire de tâches pour Android Guillaume MONTAVON Benoît MEILHAC Rapport Technique du projet Gestionnaire de tâches pour Android Sommaire 1. Introduction... 3 2. Outils utilisés... 3 2.1. Android SDK... 3 2.2. Android dans Eclipse...

Plus en détail

Institut Supérieur De Gestion De Tunis 3 ème LFIG BAYOUDHI Chaouki

Institut Supérieur De Gestion De Tunis 3 ème LFIG BAYOUDHI Chaouki Exemple JSF EJB et Bean géré I. Enoncé : Cet exemple est une petite application web proposant deux pages web : L une qui affiche un formulaire afin de pouvoir ajouter un livre (AjoutLivre.xhtml), L autre

Plus en détail

Déclaration et Implémentation d'une classe

Déclaration et Implémentation d'une classe Définir et Instancier une classe en Java Déclaration et Implémentation d'une classe En algorithmique (comme en C++ la plupart du temps), l'écriture du corps des méthodes (implémentation) se fait après

Plus en détail

Programmation Orientée Objet C++ Cours 1

Programmation Orientée Objet C++ Cours 1 Programmation Orientée Objet C++ Cours 1 P. Pesneau pierre.pesneau@math.u-bordeaux1.fr Université Bordeaux 1 Bât A33 - Bur 265 Ouvrages de référence B. W. Kernighan et D. M. Ritchie - Le langage C : Norme

Plus en détail

Module B9-1 : sensibilisation à l UML

Module B9-1 : sensibilisation à l UML Module B9-1 : sensibilisation à l UML Olivier Habart : habart.olivier@gmail.com ENSTA B9-1 UML (Olivier Habart) Septembre 14 Diapositive N 1 Session 2 : Vue statique Sommaire Diagramme de classes Diagrammes

Plus en détail

TP3 : Composants Android

TP3 : Composants Android TP3 : Composants Android 1 Objectifs du TP TP3 : Composants Android Programmation Mobile Ce TP a pour objectif de vous initier aux différents composants importants d Android. Nous allons dans ce TP réaliser

Plus en détail

Programmation Android TP7 - WebServices

Programmation Android TP7 - WebServices 1. WebService Dans le TP6, les avis étaient stockés dans une base SQL. Cette semaine les n-uplets sont stockés sur une base de données externe gérée par un serveur HTTP sur lequel tournent des scripts

Plus en détail

TP 03. Cycle de vie d une activité. 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle)

TP 03. Cycle de vie d une activité. 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle) TP 03 Cycle de vie d une activité 1 ) Créer un nouveau projet Android 1. Comme au TP 02, mais nommez le différemment (par exemple ActivityLifeCycle) 2 ) Surchage des fonctions de callback 1. Ouvrez le

Plus en détail

1 Le Parking revisité

1 Le Parking revisité Module I6 - Manipulation de threads II 13 décembre 2012 1 Le Parking revisité Une société de gestion de parkings de voitures souhaite mettre en place un système automatique d affichage en temps réel de

Plus en détail

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1

L2 Informatique - gr A HLIN406-25 mars 2015. Contrôle continu 1 L2 Informatique - gr A HLIN406-25 mars 2015 Nom : Prénom : Numéro d étudiant : Contrôle continu 1 Tous documents sur support papier autorisés. Durée : 1h00. L ensemble des réponses sera à donner sur les

Plus en détail

Tp2 Emacs Développement Web

Tp2 Emacs Développement Web Tp2 Emacs Développement Web Les indications ci-dessous donnent les grandes lignes du développement. 1/ Evenement Ajax Jquery: Le code javascript jquery suivant permet d afficher un message dans un span

Plus en détail

QC ETL QUASAR Conseil QC ETL. - 1 - Qu est-ce qu un ETL? - 2 Les fonctionnalités de QC ETL. - 3 L écriture de procédures de transformation

QC ETL QUASAR Conseil QC ETL. - 1 - Qu est-ce qu un ETL? - 2 Les fonctionnalités de QC ETL. - 3 L écriture de procédures de transformation QC ETL - 1 - Qu est-ce qu un ETL? - 2 Les fonctionnalités de QC ETL - 3 L écriture de procédures de transformation 1 1 Qu est-ce qu un ETL? La création d un SIAD (Système d Information d Aide à la Décision)

Plus en détail

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés

PHP 6. www.fenetresurtoile.com PHP 6. Jean-François Ramiara. FAD Réseau Pyramide 14/01/2013 Toulouse. Copyright J.F. Ramiara Tous droits réservés www.fenetresurtoile.com Jean-François Ramiara FAD Réseau Pyramide 14/01/2013 Toulouse 1 www.fenetresurtoile.com Sommaire Introduction Ajout avec SQL Modification avec SQL Suppression avec SQL Mises à jour

Plus en détail

«Anatomie» d une application web Servlets - JDBC

«Anatomie» d une application web Servlets - JDBC «Anatomie» d une application web Servlets - JDBC Patrick REIGNIER - Philippe GENOUDUJF Février 2005 1 L application histogramme de notes HistoServlet HistoServlet HistogramModel HistogramModel (objet (objet

Plus en détail

Créer une simple application Java avec ECLIPSE. Par Ahcène BOUNCEUR

Créer une simple application Java avec ECLIPSE. Par Ahcène BOUNCEUR Créer une simple application Java avec ECLIPSE Par Ahcène BOUNCEUR Janvier 2005 INTRODUCTION Dans cet exemple nous allons vous montrer comment peut-on créer une simple application Java en utilisant l IDE

Plus en détail

Exercice 1 (API Java)

Exercice 1 (API Java) Programmation orientée objet TP 3 L2 MPCIE API Java, Paquetages Exercice 1 (API Java) 1. Écrire la classe Ensemble comme étant une collection d'éléments ne contenant pas de doublon. Elle sera donc implémentée

Plus en détail

Présentation Etapes dans le traitement d une requête d accès aux. Exemple. Contact: nadiri@najasoft.com (Décembre 2005)

Présentation Etapes dans le traitement d une requête d accès aux. Exemple. Contact: nadiri@najasoft.com (Décembre 2005) JDBC API Présentation Etapes dans le traitement d une requête d accès aux données JDBC. Exemple Contact: nadiri@najasoft.com (Décembre 2005) Présentation L API JDBC est composée de deux Packages java.sql

Plus en détail

Programmation objet en Java.

Programmation objet en Java. Programmation objet en Java. Didier Rémy 2001-2002 http://cristal.inria.fr/ remy/mot/7/ http://www.enseignement.polytechnique.fr/profs/informatique/didier.remy/mot/7/ Cours Exercices Slide 1 1. Classes,

Plus en détail

Listes et arbres binaires

Listes et arbres binaires Des structures de données dynamiques Listes, Listes ordonnées Arbres binaires, arbre binaires de recherche Listes chaînées Utile si le nombre d éléments n est pas connu à l avance et évolue beaucoup. Permet

Plus en détail

TP2 : Interaction avec la carte à puce à l aide d un programme Java sous Windows

TP2 : Interaction avec la carte à puce à l aide d un programme Java sous Windows TP2 : Interaction avec la carte à puce à l aide d un programme Java sous Windows Samia BOUZEFRANE http://cedric.cnam.fr/~bouzefra/pfsem10-11.html samia.bouzefrane@cnam.fr Laboratoire CEDRIC Chaire Systèmes

Plus en détail

Gestion Bibliothèque. Résumé

Gestion Bibliothèque. Résumé Gestion Bibliothèque Résumé Ces travaux seront réalisés dans le cadre du cours Web Services Miage NTDP afin de permettre aux étudiants d assimiler les concepts théoriques vus en cours. L idée est de développer

Plus en détail

TP 5 Développement d une plateforme de travail collaboratif (en PHP OO)

TP 5 Développement d une plateforme de travail collaboratif (en PHP OO) TP Développement d une plateforme de travail collaboratif (en PHP OO) I. POO : Rappel - Introduction 1. Définition d'un objet L'exemple le plus pertinent quand on fait un cours sur la POO est d'utiliser

Plus en détail

Développement Android : Activité n 3 (Base de données)

Développement Android : Activité n 3 (Base de données) Développement Android : Activité n 3 (Base de données) Thierry Vaira http://tvaira.free.fr/ 25/08/2016 (rev. 1) Table des matières Activité n 3 : Base de données SQLite 1 Objectif...........................................................

Plus en détail

Introduction à JDBC. Accès aux bases de données en Java

Introduction à JDBC. Accès aux bases de données en Java Introduction à JDBC Accès aux bases de données en Java Eric Cariou Université de Pau et des Pays de l'adour Département Informatique Eric.Cariou@univ-pau.fr 1 Introduction JDBC : Java Data Base Connectivity

Plus en détail

TP Android Google Maps API V2

TP Android Google Maps API V2 TP Android Google Maps API V2 Objectif La création d'une application Android qui utilise les cartes Google Maps API v2 Android. Vue d'ensemble La création d'une application Android qui utilise les cartes

Plus en détail

ORACLE SQL LDD. Langage de définition de données

ORACLE SQL LDD. Langage de définition de données ORACLE SQL LDD Langage de définition de données Le langage SQL (Structured Query Language) SQL a été normalisé par l ANSI puis par l ISO depuis 1986 sous ses différents aspects : LDD : définition des données

Plus en détail

Oracle 12c. Programmez. Exercices et corrigés. Jérôme GABILLAUD Anne-Sophie LACROIX

Oracle 12c. Programmez. Exercices et corrigés. Jérôme GABILLAUD Anne-Sophie LACROIX Oracle 12c Programmez avecsqletpl/sql Exercices et corrigés Téléchargement www.editions-eni.fr 90 QCM 93 travaux pratiques et leurs corrigés Près de 28 H de mise en pratique Jérôme GABILLAUD Anne-Sophie

Plus en détail

TP n o 14 : Bases de données, première partie

TP n o 14 : Bases de données, première partie TP n o 14 : Bases de données, première partie I Introduction Dans ce TP nous allons effectuer des opérations élementaires sur une base de données ne comportant qu une seule table. Lors de la prochaine

Plus en détail

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales:

Plan. Conseils de Programmation. Types et Classes. Exemple: fraction. Méthodes. Variables locales: Plan Conseils de Programmation Joël Quinqueton Dépt MIAp, UFR IV UPV Université Montpellier III Types et classes Un exemple de classe Les erreurs en Java L héritage en Java Types primitifs Tableaux Classes:

Plus en détail

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM

Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA Formation CNAM Examen 1 ère session 2012-2013 page 1 NFA 031 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 001 Mercredi 13 Février 2013 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session

Plus en détail

Programmation par les Objets en Java

Programmation par les Objets en Java Programmation par les Objets en Java Najib TOUNSI Les classes en Java (TD 3) I. Notion de classe I.1 Classe, champs, méthodes, instanciation, this, private vs. public. Créer une classe Point (coordonnée

Plus en détail

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION

Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION EILCO ING 1 - POO Java Contrôle 2014/2015 Définitions de classes permettant de gérer Étudiant en Enseignant CORRECTION Dans ces exercices, nous allons définir une classe Personne qui permettra de gérer

Plus en détail

APPLICATIONS JAVA. Interface graphique avec XML pour une activité Android. Android Partie VI

APPLICATIONS JAVA. Interface graphique avec XML pour une activité Android. Android Partie VI APPLICATIONS JAVA Android Partie VI Ivan MADJAROV - 2015 Interface graphique avec XML IvMad, 2011-2015 2 Interface graphique avec XML pour une activité Android L'objectif principal de ce cours est de découvrir

Plus en détail

Exercice 2 : ListView, Velibs and Cie! Troisième étape : Récupérer des informations réseau

Exercice 2 : ListView, Velibs and Cie! Troisième étape : Récupérer des informations réseau Exercice 2 : ListView, Velibs and Cie! Troisième étape : Récupérer des informations réseau On s'intéresse désormais au résultat à obtenir lorsqu'on sélectionne le premier item. La liste des stations Velib

Plus en détail

Tests d'acceptation avec FitNesse

Tests d'acceptation avec FitNesse Tests d'acceptation avec FitNesse Bruno Mermet 2010 ébauche Plan Présentation générale de FitNesse Langage de marquage : référence Types de table Slim : référence Présentation générale de FitNesse Tests

Plus en détail

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object)

Quelques patterns pour la persistance des objets avec DAO DAO. Principe de base. Utilité des DTOs. Le modèle de conception DTO (Data Transfer Object) Quelques patterns pour la persistance des objets avec DAO Ce cours présente des modèles de conception utilisés pour effectuer la persistance des objets Université de Nice Sophia-Antipolis Version 1.4 30/8/07

Plus en détail

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web

PHP & BD. PHP & Bases de données. Logiciels & matériels utilisés. Bases de données et Web PHP & Bases de données La quantité de données utilisée par certains sites web nécessite l'utilisation d'une base de données Il faut donc disposer d'un SGBD (mysql, postgresql, oracle, ) installé sur un

Plus en détail

SPRING WEBFLOW Cours JEE - Master 2 Université de Marne-la-Vallée 1 dimanche 14 novembre 2010

SPRING WEBFLOW Cours JEE - Master 2 Université de Marne-la-Vallée 1 dimanche 14 novembre 2010 SPRING WEBFLOW 1 RAPPEL D ARCHITECTURE Persistance des données 2 PROBLÉMATIQUE Comment faire le lien entre mes vues graphiques et ma logique métier en respectant les contraintes (maintenance, coût & temps

Plus en détail

Cours Bases de données 2ème année IUT

Cours Bases de données 2ème année IUT Cours Bases de données 2ème année IUT Cours 6 : JDBC : ou comment lier ORACLE avec Java 1ère partie Anne Vilnat http://www.limsi.fr/individu/anne/cours Plan 1 Introduction 2 les étapes de la connexion

Plus en détail

La centralisation comptable

La centralisation comptable Pégase 3 La centralisation comptable Dernière révision le 12/06/2007 http://www.micromegas.fr pegase3@micromegas.fr Sommaire Première étape...4 Deuxième étape :...4 Paramètres généraux...4 Page Général...

Plus en détail

TP4 : Stockage de données

TP4 : Stockage de données TP4 : Stockage de données 1 TP4 : Stockage de données Programmation Mobile Objectifs du TP Ce TP a pour objectif de vous initier au stockage des données dans le téléphone Android, dans la mémoire interne

Plus en détail

EXERCICE JAVA. Internet Base de données des RV

EXERCICE JAVA. Internet Base de données des RV EXERCICE JAVA Thèmes : Bases de données, accès JDBC, classes et interfaces Java, architectures 2 couches Niveau : intermédiaire Lectures conseillées : [1] : Apprentissage du langage Java [http://tahe.developpez.com/java/cours]

Plus en détail

Synthèse PL SQL ORACLE. Declaration des variables, des constants, des exceptions et des curseurs.

Synthèse PL SQL ORACLE. Declaration des variables, des constants, des exceptions et des curseurs. Synthèse PL SQL ORACLE Bloc PL-SQL DECLARE Declaration des types, des variables, des constantes, des exceptions et des curseurs. BEGIN [nom du bloc] EXCEPTION Traitement des erreurs END [nom du bloc] Declaration

Plus en détail

Programmer avec les exceptions en Java

Programmer avec les exceptions en Java Programmer avec les exceptions en Java Premier Cycle Cours Eurinsa 2002 (c) P.Pollet 05/12/2002 Java 2001 (PP) 1 Plan Gestion traditionnelle des erreurs d exécution Qu est-ce qu une exception? La classe

Plus en détail

Java : Programmation Impérative

Java : Programmation Impérative 1 Java : Programmation Impérative Résumé du cours précédent (I11) Paradigme impératif Algorithmique simple Découpage fonctionnel Qu est-ce qu un programme informatique? / un langage de programmation? /

Plus en détail

ERRATA - MAGASIN VIRTUEL

ERRATA - MAGASIN VIRTUEL ERRATA - MAGASIN VIRTUEL 1 28 juillet 2005 Entre mars et juillet 2005, un certain nombre d'articles sont parus sur [http://tahe.developpez.com]. Ils avaient pour but de présenter le framework Spring aussi

Plus en détail

2011 Hakim Benameurlaine 1

2011 Hakim Benameurlaine 1 Table des matières 1 SSIS... 2 1.1 Management Studio... 2 1.2 dtswizard... 13 1.3 BIDS... 14 1.4 Exemple SSIS... 16 1.4.1 Introduction... 16 1.4.2 Création du package... 18 1.4.3 Paramétrage de la tâche

Plus en détail

UML : Conception Objet

UML : Conception Objet MAI NFE103 Année 2013-2014 UM : Conception Objet F.-Y. Villemin (f-yv@cnam.fr) Plan!!Modèle Objet : Passage à la conception!!instances et iens!!cas d Utilisation!!Diagramme de Séquences!!Diagramme de Collaborations!!Exceptions

Plus en détail

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit

DUT Informatique Module JAVA Apprentis Département Informatique 2008 / 2009. Travaux Pratiques n o 2 : JUnit iut ORSAY DUT Informatique Département Informatique 2008 / 2009 Travaux Pratiques n o 2 : JUnit Nom(s) : Groupe : Date : Objectifs : Apprendre à vérifier une implantation à l aide de tests unitaires sous

Plus en détail

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule.

TP Mock. On veut modéliser un jeu de casino : le jeu de la boule. TP Mock Pour faire ce TP il faut récupérer la "bibliothèque" mockito-all-x.x.x.jar. Vous pouvez la trouver à partir de https://code.google.com/p/mockito/downloads/list (pour mockito- 1.9.5.zip). Anciennement

Plus en détail

package telephonie; import telephonie.util.date; public class OperateurTarifVariable implements Operateur {

package telephonie; import telephonie.util.date; public class OperateurTarifVariable implements Operateur { public class OperateurTarifVariable implements Operateur { private static final int TARIF_BAS = 15; private static final int TARIF_HAUT = 45; private static final int TARIF_MOYEN = 30; private int nbconnexionsactives;

Plus en détail

«14_Synthese _PHP_MySQL_cours_4»

«14_Synthese _PHP_MySQL_cours_4» «14_Synthese _PHP_MySQL_cours_4» Maintenant que nous nous sommes connectés à la base de données et y avons mis des informations via un formulaire (cours 13), nous allons voir comment interroger nos tables

Plus en détail

AP-5 TD n 2 J2EE 5 novembre 2013

AP-5 TD n 2 J2EE 5 novembre 2013 Objectifs Prérequis Gestion des informations temporaires, sessions et cookies JSP et servlets, mise en place d un contrôleur Java Runtime Environnement (http://www.java.com/fr/download/) (JRE Java 7) IDE

Plus en détail

Programmation Android L3 informatique

Programmation Android L3 informatique Programmation Android L3 informatique Étienne Payet Département de mathématiques et d informatique Ces transparents sont mis à disposition selon les termes de la Licence Creative Commons Paternité - Pas

Plus en détail