Les fichiers. Programmation Mobile Android Master CCI. Créer un fichier dans le stockage interne. Écrire et lire des données dans un fichier

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

Download "Les fichiers. Programmation Mobile Android Master CCI. Créer un fichier dans le stockage interne. Écrire et lire des données dans un fichier"

Transcription

1 Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Les fichiers Deux espaces de stockage : Stockage interne : Toujours disponible Par défaut, accessible uniquement par votre application Supprimés à la désinstallation de l application Sockage externe : Pas toujours disponible (USB, etc) Accessibles et modifiables par tout le monde Seuls les fichiers du répertoire getexternalfilesdir() sont supprimés à la désinstallation de l application Nécessite des permissions Utile pour partager des données entre applications Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Créer un fichier dans le stockage interne Deux répertoires : getfilesdir() : Le répertoire interne de votre application ; getcachedir() : le cache interne de votre application Pour créer un fichier dans l un de ces répertoires : File file = new File(contextgetFilesDir(), "fichiertxt"); ou FileOutputStream outputstream = openfileoutput("fichiertxt", ContextMODE_PRIVATE); ou File file = FilecreateTempFile("fichier", "tmp", contextgetcachedir()); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Nous souhaitons écrire un éditeur de fichier : Bertrand Estellon (AMU) Android Master CCI March 23, / 266

2 Déclenchement de l écriture et de la lecture du fichier : Supposons que nous ayons l activité suivante : public class MainActivity extends Activity { private EditText edittext; protected void oncreate(bundle savedinstancestate) { superoncreate(savedinstancestate); setcontentview(rlayoutactivity_main); edittext = (EditText)findViewById(RideditText); public class MainActivity extends Activity { private EditText edittext; protected void onstart() { superonresume(); edittextsettext(load()); protected void onstop() { superonpause(); save(edittextgettext()tostring()); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266 La sauvegarde : private void save(string string) { File file = new File(getFilesDir(), filename); try (BufferedWriter writer = new BufferedWriter(new FileWriter(file))) { writerwrite(string); catch (IOException e) { ToastmakeText(this, getstring(rstringread_error), ToastLENGTH_LONG); La lecture : private String load() { File file = new File(getFilesDir(), filename); if (!fileexists()) return ""; try (BufferedReader reader = new BufferedReader(new FileReader(file))) { return load(reader); catch (IOException e) { ToastmakeText(this, getstring(rstringread_error), ToastLENGTH_LONG); return ""; Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

3 Permissions pour le stockage externe La lecture : private String load(bufferedreader reader) throws IOException { StringBuilder builder = new StringBuilder(); for(;;) { String line = readerreadline(); if (line==null) break; builderappend(line)append("\n"); return buildertostring(); Il suffit d ajouter les permissions dans le manifeste de l application : Pour l écriture : <manifest> <uses-permission android:name="androidpermissionwrite_external_storage" /> </manifest> Pour la lecture : <manifest> <uses-permission android:name="androidpermissionread_external_storage" /> </manifest> Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Un exemple d application Nous souhaitons parcourir et lire les fichiers du stockage externe : Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Un exemple d application Nous souhaitons parcourir et lire les fichiers du stockage externe : Deux types de fragments : Affichage d un répertoire : DirectoryFragment; Deux types de fragments : Affichage d un répertoire : DirectoryFragment; : FileFragment : FileFragment Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

4 Le layout : <FrameLayout xmlns:android="" android:layout_width="match_parent" android:layout_height="match_parent"> <ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <TextView android:layout_width="match_parent" android:layout_height="wrap_content" </ScrollView> </FrameLayout> Création de l instance et conservation du chemin : public class FileFragment extends Fragment { public static FileFragment newinstance(string filename) { FileFragment fragment = new FileFragment(); Bundle args = new Bundle(); argsputstring("path", filename); fragmentsetarguments(args); return fragment; private String path() { return getarguments()getstring("path"); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Création de la vue et gestion du cycle de vie : public class FileFragment extends Fragment { private TextView textview; public View oncreateview(layoutinflater inflater, ViewGroup container, Bundle savedinstancestate) { View view = inflaterinflate(rlayoutfragment_file, container, false); textview = (TextView)viewfindViewById(RidtextView); return view; public void onresume() { superonresume(); textviewsettext(load()); getactivity()settitle(path()); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Chargement du contenu du fichier : public class FileFragment extends Fragment { private String load() { File file = new File(path()); if (!fileexists()) return ""; try (BufferedReader reader = new BufferedReader(new FileReader(file))) { return load(reader); catch (IOException e) { ToastmakeText(thisgetActivity(), getstring(rstringread_error), ToastLENGTH_LONG); return ""; Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

5 Chargement du contenu du fichier : public class FileFragment extends Fragment { private String load(bufferedreader reader) throws IOException { StringBuilder builder = new StringBuilder(); for(;;) { String line = readerreadline(); if (line==null) break; builderappend(line)append("\n"); return buildertostring(); Création de l instance : public static DirectoryFragment newinstance(string path) { DirectoryFragment fragment = new DirectoryFragment(); Bundle args = new Bundle(); argsputstring("path", path); fragmentsetarguments(args); return fragment; private String path() {return getarguments()getstring("path"); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Création de la vue et gestion du cycle de vie : private String[] files; void oncreate(bundle savedinstancestate) { superoncreate(savedinstancestate); File directory = new File(path()); files = directorylist(); setlistadapter(new ArrayAdapter<>(getActivity(), androidrlayoutsimple_list_item_1, androidridtext1, files)); Mise en place des notifications de l activité : private OnDirectoryFragmentListener listener; public interface OnDirectoryFragmentListener { public void onchangepath(string path); public void onresume() { superonresume(); getactivity()settitle(path()); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

6 Mise en place des notifications de l activité : private OnDirectoryFragmentListener listener; public void onattach(activity activity) { superonattach(activity); try { listener = (OnDirectoryFragmentListener) activity; catch (ClassCastException e) { throw new ClassCastException(activitytoString() + " must implement OnFragmentInteractionListener"); public void ondetach() { superondetach(); listener = null; Mise en place des notifications de l activité : private OnDirectoryFragmentListener listener; public void onlistitemclick(listview list, View view, int position, long id) { superonlistitemclick(list, view, position, id); if (null!= listener) { String path = path()equals("/")?"":path(); listeneronchangepath(path + "/" + files[position]); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 L activité principale Bertrand Estellon (AMU) Android Master CCI March 23, / 266 L activité principale Réception des notifications des fragments : Création de le la vue : public class MainActivity extends Activity { protected void oncreate(bundle savedinstancestate) { superoncreate(savedinstancestate); setcontentview(rlayoutactivity_main); if (savedinstancestate == null) { getfragmentmanager()begintransaction() add(ridcontainer, DirectoryFragmentnewInstance("/")) commit(); public class MainActivity extends Activity implements DirectoryFragmentOnDirectoryFragmentListener { public void onchangepath(string path) { File file = new File(path); Fragment fragment = (fileisdirectory())?directoryfragmentnewinstance(path) :FileFragmentnewInstance(path); getfragmentmanager()begintransaction() replace(ridcontainer, fragment) addtobackstack(path) commit(); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

7 Le format JSON Le format JSON JSON (JavaScript Oject Notation) est un format de données dérivé de la notation des objets et tableaux de ECMAScript (donc de JavaScript) : {"machin": { "taille": 12, "style": "gras", "bidule": { "machin": [ {"style" : "italique", {"style" : "gras" ] L avantage de JSON est qu il est reconnu nativement par JavaScript Les éléments en JSON : Les objets : {chaîne : valeur, chaîne : valeur Les tableaux : [valeur, valeur, ] Les valeurs : chaîne, nombre, objet, tableau, true, false, null Les chaînes : "abcdef" ou "abcd\n\t" Les nombres : {"unobjet": { "untableau": [12, 13, 53], "unnombre" : 53, "unchaîne" : "truc\n" "unobjet" : { "style" : "gras" Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Le format JSON Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Les éléments en JSON : Les objets : {chaîne : valeur, chaîne : valeur Les tableaux : [valeur, valeur, ] Les valeurs : chaîne, nombre, objet, tableau, true, false, null Les chaînes : "abcdef" ou "abcd\n\t" Les nombres : {"unobjet": { "untableau": [12, 13, 53], "unnombre" : 53, "unchaîne" : "truc\n" "unobjet" : { "style" : "gras" La gestion des objets est réalisée par la classe JSONObject : JSONObject put(string key, JSONObject object) ; JSONObject put(string key, JSONArray array) ; JSONObject put(string key, boolean int long double b) ; JSONObject getjsonobject(string key) ; JSONArray getjsonarray(string key) ; boolean getboolean(string key), ; Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

8 Un objet JSON : La gestion des tableaux est réalisée par la classe JSONArray : JSONArray put([int index,] JSONObject object) ; JSONArray put([int index,] JSONArray array) ; JSONArray put([int index,] boolean int long double b) ; JSONObject getjsonobject(int index) ; JSONArray getjsonarray(int index) ; boolean getboolean(int index), ; int length() ; {"array": [1, 2, 3], "boolean" : false Construction d une chaîne de caractères au format JSON en Java : String tojson() throws JSONException { JSONObject object = new JSONObject(); JSONArray array = new JSONArray(); arrayput(1)put(2)put(3); objectput("array", array); objectput("boolean", false); return objecttostring(); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Un objet JSON : {"array": [1, 2, 3], "boolean" : false Construction d une chaîne de caractères au format JSON en Java : String tojson() throws JSONException { JSONObject object = new JSONObject(); JSONArray array = new JSONArray(); arrayput(1)put(2)put(3); objectput("array", array); objectput("boolean", false); return objecttostring(); Un objet JSON : {"array": [1, 2, 3], "boolean" : false Lecture d une chaîne de caractères au format JSON en Java : void readjson(string json) throws JSONException { JSONObject object = new JSONObject(json); JSONArray array = objectgetjsonarray("array"); for (int i = 0; i < arraylength(); i++) Logd("json", ""+arrayget(i)); Logd("json", ""+objectgetboolean("boolean")); Bertrand Estellon (AMU) Android Master CCI March 23, / 266 Bertrand Estellon (AMU) Android Master CCI March 23, / 266

Programmation Mobile Android Master CCI

Programmation Mobile Android Master CCI Programmation Mobile Android Master CCI Bertrand Estellon Aix-Marseille Université March 23, 2015 Bertrand Estellon (AMU) Android Master CCI March 23, 2015 1 / 266 Introduction Organisation de l UE Objectifs

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

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

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

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

Android INTRODUCTION

Android INTRODUCTION Android INTRODUCTION Présentation Système d exploitation open source Développé en 2007 par une startup rachetée par Google. Caractéristique du Système d exploitation Android: Multi utilisateur, chaque

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

Persistance des données sur une courte durée

Persistance des données sur une courte durée Persistance des données sur une courte durée Chantal Keller 16 octobre 2015 Persistance des données sur une courte durée Chantal Keller 1 / 16 Plan 1 Points généraux importants 2 Persistance des 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

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar

Programmation - Java - Fiches du Langage. Marie Beurton-Aimar Programmation - Java - Fiches du Langage Marie Beurton-Aimar Fiche Numéro 1 1.1 Structure d un programme Java Toutes les instructions se terminent par un ; Le nom du fichier qui contient une classe doit

Plus en détail

Cours 8 : Exceptions, un peu de graphique

Cours 8 : Exceptions, un peu de graphique 1 Cours 8 : Exceptions, un peu de graphique 1. Traiter les exceptions usuelles 2. Créer ses propres exceptions 3. Exemples: les files. 4. Quelques éléments sur les graphiques 2 Exceptions Une exception

Plus en détail

1) Lecture et Ecriture de Code Android (8 points)

1) Lecture et Ecriture de Code Android (8 points) Durée : 120 minutes Le barème n est donné qu à titre indicatif Tous documents autorisés. L usage de téléphone, montre, calculatrice, ordinateur ou tout autre objet connecté est interdit 1) Lecture et Ecriture

Plus en détail

PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA

PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA PROGRAMMATION DE COMPOSANTS MOBILES (ANDROID) WIESLAW ZIELONKA WWW.IRIF.UNIV-PARIS-DIDEROT.FR/~ZIELONKA ActionBar Android recommande d'utiliser ToolBar à la place de ActionBar. Nous allons suivre cette

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

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

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

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

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

Plus en détail

Correction langage Java

Correction langage Java MINISTÈRE DE L ÉCOLOGIE, DU DÉVELOPPEMENT DURABLE, DES TRANSPORTS ET DU LOGEMENT EXAMEN PROFESSIONNEL DE VÉRIFICATION D APTIDUDE AUX FONCTIONS DE PROGRAMMEUR Session 2010 Correction langage Java Langage:

Plus en détail

Android Fragment et MVC. Rémi Forax

Android Fragment et MVC. Rémi Forax Android Fragment et MVC Rémi Forax Fragment Fragment Sous-activité introduite par la version 11 (Android 3.0) et possède aussi un cycle de vie Il permet de découpe un écran en plusieurs partie, plusieurs

Plus en détail

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux

Les tableaux. Programmation Orientée Objet Java. Références et Garbage Collector. Les tableaux Les tableaux Déclaration d une variable de type référence vers un tableau : Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 29 octobre 2015 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 29 octobre

Plus en détail

IFT1155 Examen Final

IFT1155 Examen Final Trimestre Été, 2013 Mohamed Lokbani IFT1155 Examen Final Inscrivez tout de suite : votre nom et le code permanent. Nom : Prénom(s) : Signature : Code perm : Date : mardi 16 juillet 2013 Durée : 3 heures

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

Mon application : Capture Photo

Mon application : Capture Photo Mon application : Capture Photo Explications Ce TP a pour but de vous faire manipuler un capteur : l appareil photo. Pour complètement y arriver, vous devrez : - Manipuler correctement l objet Camera en

Plus en détail

Android - Semaine 4. Android - Semaine 4. Pierre Nerzic. février-mars 2015. 1 / 54 Pierre Nerzic

Android - Semaine 4. Android - Semaine 4. Pierre Nerzic. février-mars 2015. 1 / 54 Pierre Nerzic Android - Semaine 4 Pierre Nerzic février-mars 2015 1 / 54 Pierre Nerzic Durant les prochaines semaines, nous allons nous intéresser aux applications de gestion d'une liste d'items. Stockage d'une liste

Plus en détail

Bibliographie utilisée

Bibliographie utilisée Android View, onclick, Activity, Modèle Vue Contrôleur jean-michel Douin, douin au cnam point fr version : 26 Septembre 2012 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html

Plus en détail

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13

Programmation Réseau. Sécurité Java. Jean-Baptiste.Yunes@univ-paris-diderot.fr. UFR Informatique 2012-2013. jeudi 4 avril 13 Programmation Réseau Sécurité Java Jean-Baptiste.Yunes@univ-paris-diderot.fr UFR Informatique 2012-2013 Java Sécurité? différentes sécurités disponibles et contrôlables intégrité contrôle d accès signature/authentification/cryptographie

Plus en détail

Mobile : Application Native et Cross Platform avec Xamarin Introduction JEROME ROMAGNY

Mobile : Application Native et Cross Platform avec Xamarin Introduction JEROME ROMAGNY 2014 Mobile : Application Native et Cross Platform avec Xamarin Introduction JEROME ROMAGNY I. ANDROID... 2 1. APPLICATION NATIVE... 2 A. Installation... 2 AppInventor... 3 Emulateur... 3 B. Anatomie d

Plus en détail

LES PARCELABLES. Dans ce cas nous avons les 2 méthodes de l interface a implémenter :

LES PARCELABLES. Dans ce cas nous avons les 2 méthodes de l interface a implémenter : LES PARCELABLES Comment passer un objet entre des activity? Passer des données entre des activités est très facile sous Android. Normalement on utilise les Bundles. Mais que se passe -t-il quand on veut

Plus en détail

POO LES EXCEPTIONS LES EXCEPTIONS

POO LES EXCEPTIONS LES EXCEPTIONS CHAPITRE 7 : LES EXCEPTIONS Objectifs spécifiques 1. Introduire la notion d exception, les règles d utilisation et de définition des exceptions. 2. Distinguer entre les exceptions prédéfinies et les exceptions

Plus en détail

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr)

Programmer en JAVA. par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Programmer en JAVA par Tama (tama@via.ecp.fr( tama@via.ecp.fr) Plan 1. Présentation de Java 2. Les bases du langage 3. Concepts avancés 4. Documentation 5. Index des mots-clés 6. Les erreurs fréquentes

Plus en détail

Projet Android (LI260) Cours 2

Projet Android (LI260) Cours 2 Projet Android (LI260) Cours 2 Nicolas Baskiotis Université Pierre et Marie Curie (UPMC) Laboratoire d Informatique de Paris 6 (LIP6) S2-2013/2014 Plan Les ressources Debug Communication entre activités

Plus en détail

LES FICHIERS. 1-169169 JAVA Christine BONNET

LES FICHIERS. 1-169169 JAVA Christine BONNET 12 LES FICHIERS 1-169169 JAVA Christine BONNET LES FLOTS Package java.io La gestion des E/S s'effectue à l'aide des flots. Un stream (flot) représente un canal de communication ( écran, fichier, pipe,

Plus en détail

Sérialisation sur le système de fichiers. Gestion des exceptions en Java.

Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Sérialisation sur le système de fichiers. Gestion des exceptions en Java. Christophe Gravier, Frédérique Laforest, Julien Subercaze Télécom Saint-Étienne Université Jean Monnet {pnom.nom}@univ-st-etienne.fr

Plus en détail

Le Langage Java et le Monde des Objets

Le Langage Java et le Monde des Objets . p.1 Le Langage Java et le Monde des Objets Les principes de la modélisation Orientée Objet. Qu est-ce qu une classe?. Les types de base. Utiliser les classes. Les tentacules de Java. . p.2 Bibliographie

Plus en détail

Application Android par défaut

Application Android par défaut Projet Android À la création d un projet Android (IDE netbeans) tout un ensemble de répertoires et de fichiers sont engendrés. Source Packages : là où seront les sources de votre application. Generated

Plus en détail

Introduction à la Programmation Orientée Objet

Introduction à la Programmation Orientée Objet Introduction à la Programmation Orientée Objet Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 4 avril 2013 Bertrand Estellon (DII AMU) Introduction à la Programmation

Plus en détail

Programmation Orientée Objet Java

Programmation Orientée Objet Java Programmation Orientée Objet Java Bertrand Estellon Département Informatique et Interactions Aix-Marseille Université 12 novembre 2014 Bertrand Estellon (DII AMU) Programmation Orientée Objet Java 12 novembre

Plus en détail

L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni :

L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni : TP n 9 Xml/Json 1) Exemple d application analysant un fichier XML L exemple qui est mis à votre disposition a pour but de rechercher les données contenues dans un fichier services.xml fourni : Ce fichier

Plus en détail

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android Wies law Zielonka October 8, 2015 ListView et ArrayAdapter / r e c u p e r e r un t a b l e a u de S t r i n g a p a r t i r de r e s s o u r c e s / R e

Plus en détail

Cas EDF : Développement Android - Concepts avancés Partie 2

Cas EDF : Développement Android - Concepts avancés Partie 2 Cas EDF : Développement Android - Concepts avancés Partie 2 Cette publication comporte cinq parties dont l ordre est dicté par la logique du développement. Les parties 2 et 3 sont facultatives. Partie

Plus en détail

Projet Android. XML et JAVA

Projet Android. XML et JAVA Projet Android À la création d un projet Android (IDE AndroidStudio) tout un ensemble de répertoires et de fichiers sont engendrés. On en distingue 3 : 1. un fichier AndroidManifest.xml (dans le répertoire

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction

Université Mohammed Premier Année universitaire 2011-2012. Complément d exercices avec correction Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques et d Informatique Module : POO Java Semestre : S5 Complément d exercices avec correction

Plus en détail

Programmation Socket en Java

Programmation Socket en Java Programmation Socket en Java Cours sockets Université Paul Sabatier Plan Un bon réflexe Les adresses IP en Java Sockets en mode flot La classe Socket La classe ServerSocket Communication via les Sockets

Plus en détail

ALLER PLUS LOIN DANS LE DÉVELOPPEMENT ANDROID

ALLER PLUS LOIN DANS LE DÉVELOPPEMENT ANDROID ALLER PLUS LOIN DANS LE DÉVELOPPEMENT ANDROID Andr0 29 octobre 2015 Table des matières 1 Introduction 5 2 Fragmenter vos projets 7 2.1 Fragment...................................... 7 2.1.1 Introduction

Plus en détail

PROGRAMME ANDROID. I) Création d une activité réagissant au click comme un bouton

PROGRAMME ANDROID. I) Création d une activité réagissant au click comme un bouton PROGRAMME ANDROID Que ce soit de la création de jeux, de l informatique de gestion toute la problématique lorsque on tente de comprendre comment fonctionne tous les jeux va être de dégager, les différents

Plus en détail

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012

Université Mohammed Premier Année universitaire 2011-2012. Correction de l examen écrit de la session ordinaire 18 Février 2012 Université Mohammed Premier Année universitaire 2011-2012 Faculté des Sciences Filière SMI Département de Mathématiques Module : POO Java et d Informatique Semestre : S5 Correction de l examen écrit de

Plus en détail

Projet de programmation orientée objet

Projet de programmation orientée objet Projet de programmation orientée objet Florent Avellaneda Département Informatique et Interactions Aix-Marseille Université 12 janvier 2014 Description de l option Déroulement : Nombre d heures : 60 Rendu

Plus en détail

Android How To : Prise en Main

Android How To : Prise en Main Android How To : Prise en Main 1 Prise en main avec Eclipse... 2 1.1 Le projet... 2 1.2 Projet propriétés... 2 1.3 Le programme... 3 2 XML Base Layout... 4 2.1 Création du layout... 4 2.2 Lier le Layout

Plus en détail

M2 FMIN305 - Novembre 2010 CORBA

M2 FMIN305 - Novembre 2010 CORBA FMIN05 - Novembre 0 Ce TD est très largement inspiré de ceux de Gilles Roussel. Vous trouverez beaucoup de choses intéressantes ici : http://www-igm.univ-mlv.fr/ roussel. 1 Horloge distante On souhaite

Plus en détail

B53 Android Jeux 2D (CVMAndEngine)

B53 Android Jeux 2D (CVMAndEngine) B53 Android Jeux 2D (CVMAndEngine) Jeu CVMSpace Exercice : Création d'un projet CVMAndEngine Placer cvmandengine.jar dans libs et modifier le build path Création de notre activité de base et changer le

Plus en détail

Correction DS Java 2005 Classe Produit Classe CD

Correction DS Java 2005 Classe Produit Classe CD Correction DS Java 2005 Classe Produit public abstract class Produit { private static int derniernumeroproduit = 1; private int numeroproduit; // Le prix hors taxe du produit private double prix; //Le

Plus en détail

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer

Programmation des applications mobiles avec Android. 1 Inspiré du cours de Olivier Le Goaer Programmation des applications mobiles avec Android 1 Inspiré du cours de Olivier Le Goaer 2 OS mobile : outils de développement D après le cours de Olivier Le Goaer 3 Plateforme de développement MobileApp

Plus en détail

Flux de données Lecture/Ecriture Fichiers

Flux de données Lecture/Ecriture Fichiers Flux de données Lecture/Ecriture Fichiers 1 Un flux de données est un objet qui représente une suite d octets d un programme pour une certaine destination ou issus d une source pour un programme flux d

Plus en détail

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android responsable : Wies law Zielonka zielonka@liafa.univ-paris-diderot.fr http://liafa.univ-paris-diderot.fr/ zielonka September 19, 2015 Environnement de travail

Plus en détail

Votre première application Android - Introduction aux Interfac. utilisateur

Votre première application Android - Introduction aux Interfac. utilisateur Votre première application Android - Introduction aux Interfaces graphiques utilisateur frederic.guinand@univ-lehavre.fr 2014-2015 Plan Analyse d une app Android : visite guidée Introduction aux interfaces

Plus en détail

TP : dé couvérté d'android avéc uné todo list

TP : dé couvérté d'android avéc uné todo list TP : dé couvérté d'android avéc uné todo list Android Studio : Au premier lancement : on ne configure rien ( 1) pas d import 2) puis on ferme avec la croix en haut à gauche la fenêtre suivante). Il faut

Plus en détail

Programmation Orientée Objet. Exceptions et assertions

Programmation Orientée Objet. Exceptions et assertions Programmation Orientée Objet Exceptions et assertions Julien Provillard http://www.i3s.unice.fr/~provilla/poo/ julien.provillard@unice.fr Robustesse et Exceptions Error, RuntimeException Exceptions (non)

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

ANDROID Tutoriel Lecture d'un flux XML distant et enchainement d'activités

ANDROID Tutoriel Lecture d'un flux XML distant et enchainement d'activités L'objectif de ce tutoriel est de vous présenter une des façons d'exploiter en lecture des informations distantes disponibles au format XML. L'application présentera le résultat dans une ListView 1/ Prérequis

Plus en détail

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites

Université Paris Diderot ISIFAR Année 2008-2009. Exceptions et Classes Abstraites Université Paris Diderot JAVA ISIFAR Année 2008-2009 TP n 7 - Correction Exceptions et Classes Abstraites Exercice 1 [Utilisation des Exceptions] La méthode parseint est spécifiée ainsi : public static

Plus en détail

Les Flux : principes de base

Les Flux : principes de base Les Flux : principes de base Introduction Les flux permettent de travailler avec des données des fichiers provenant de l extérieur. Toutes les commandes de type Ouvrir, Enregistrer, Enregistrer sous des

Plus en détail

Éléments de base en Java (suite et fin)

Éléments de base en Java (suite et fin) Éléments de base en Java (suite et fin) P.O.O. LMI 2 Semestre 4 Option Info Année 2008-09 1/33 Éléments de base en Java (suite et fin) Année 2008-09 Plan du cours Les chaînes de caractères Retour vers

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

TP programmation Internet en JAVA

TP programmation Internet en JAVA TP programmation Internet en JAVA préparé par P. Bakowski Ce TP nécessite quelques préparations du logiciel. Vous pouvez utiliser l environnement NetBeans avec le pack SDK Java SE Le site polytech2go.fr

Plus en détail

Java. Exception et Entrée/Sortie

Java. Exception et Entrée/Sortie Java Exception et Entrée/Sortie Plan Exception Principe, utilisation, création Paquetage java.io Notion de flots Organisation du paquetage Flots d octets Flots de caractères Exceptions Principe Définition

Plus en détail

Développement Logiciel

Développement Logiciel Développement Logiciel Éxamen session 1-2012-2013 (Vendedi 25 mai, 9h-11h) Seuls les documents liés directement au cours sont autorisés (comme dit sur le site) : sujets de TD, notes de cours, notes personnelles

Plus en détail

Corrigé des exercices sur les références

Corrigé des exercices sur les références Corrigé des exercices sur les références Exercice 3.1.1 dessin Pour cet exercice, vous allez dessiner des structures de données au moyen de petits schémas analogues à ceux du cours, comportant la pile

Plus en détail

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau)

Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Année 2008-2009 Les entrées/sorties Java (sérialisation, accès aux chiers et connexion réseau) Nicolas Baudru mél : nicolas.baudru@esil.univmed.fr page web : nicolas.baudru.perso.esil.univmed.fr 1 Introduction

Plus en détail

Géocodage d une flotte de téléphones portables Principes (niveau débutants)

Géocodage d une flotte de téléphones portables Principes (niveau débutants) Géocodage d une flotte de téléphones portables Principes (niveau débutants) P. Lacomme (placomme@isima.fr) 1. Mise en place d un serveur web Étape 1 : Installer un serveur php. Par exemple : http://www.easyphp.org/

Plus en détail

Compétence (niveau moyen) Java J2EE - 2014

Compétence (niveau moyen) Java J2EE - 2014 Compétence (niveau moyen) Java J2EE - 2014 «Mars-Mai 2014. Réf : JAVA J2EE Version 1 Page 1 sur 23 Sommaire CONTEXTE DE LA REMISE A NIVEAU JAVA J2EE EN AUTOFORMATION... 3 1. UTILISATION DE ECLIPSE KEPLER

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

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éance 1 A] L architecture Client-Serveur B] Les normes Client-Serveur

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

as Architecture des Systèmes d Information

as Architecture des Systèmes d Information Présentation Flux octet Flux caractère Sérialisation Présentation Flux octet Flux caractère Sérialisation Programmation - Gestion des entrées / sorties - Nicolas Malandain March 30, 2011 as Architecture

Plus en détail

UPMC/Licence/Info/2I013 Flowdroid Android. Janvier 2015. Exemple de mise en œuvre

UPMC/Licence/Info/2I013 Flowdroid Android. Janvier 2015. Exemple de mise en œuvre UPMC/Licence/Info/2I013 Flowdroid Android Janvier 2015 Exemple de mise en œuvre Un jeu pour les enfants programmeurs Une variante du taquin Une grille 9x9 dont les cases contiennent les chiffres de 1 à

Plus en détail

Chapitre 6. Flux binaires (illustration sur les fichiers) Les flux. Plan. Flux. Types de Flux. Flux binaire entrant sur un fichier

Chapitre 6. Flux binaires (illustration sur les fichiers) Les flux. Plan. Flux. Types de Flux. Flux binaire entrant sur un fichier Chapitre 6 Les flux Flux binaires (illustration sur les fichiers) 05/12/03 Les flux page 1 05/12/03 Les flux page 5 Plan Flux binaires (flux d octets) Flux textes (flux de caractères) Conversions de flux

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

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

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan

CSC4002 : Contrôle Final Session 1. Date : jeudi 26 janvier 2012 Durée : 1H30. Coordonnateurs : Christian Bac et Denis Conan Corrigé et Barème Contrôle de connaissances 2011/2012 des étudiants de 2 è année (EI2) CSC4002 : Contrôle Final Session 1 Date : jeudi 26 janvier 2012 Durée : 1H30 Coordonnateurs : Christian Bac et Denis

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

Programmation de composant mobiles aka Android

Programmation de composant mobiles aka Android Programmation de composant mobiles aka Android Wies law Zielonka 10 décembre 2015 Toolbar Toolbar remplace Actionbar (Android 5.0 Lollipop) Dans AndroidManifest.xml utiliser un thème sans ActionBar : 1

Plus en détail

Les Fragments. 1.1 Définition, objectifs et philosophie des Fragments

Les Fragments. 1.1 Définition, objectifs et philosophie des Fragments Les Fragments Cet article est rédigé par Android2EE, expert en formation Android. Il est associé à deux tutoriaux vous montrant comment mettre en place : Une application avec des fragments statiques Une

Plus en détail

Les exceptions en Java

Les exceptions en Java Chapitre 6 Les exceptions en Java Lorsqu on conçoit un programme, on essaie évidemment qu il soit correct, c est-à-dire qu il fonctionne parfaitement dans les conditions prévues de son utilisation. L utilisateur

Plus en détail

Bibliographie utilisée

Bibliographie utilisée Android View, onclick,activity, Modèle Vue Contrôleur jean-michel Douin, douin au cnam point fr version : 24 Octobre 2011 Notes de cours 1 Bibliographie utilisée http://developer.android.com/resources/index.html

Plus en détail

Problématique. Développement Web 2. Problématique. Jetty Création d un serveur Web

Problématique. Développement Web 2. Problématique. Jetty Création d un serveur Web Communication client/serveur Comet Problématique Problématique Développement Web 2 Problématique : Nous souhaitons réaliser un tchat Les clients se connectent au serveur; Les clients peuvent discuter;

Plus en détail

Utilisation des capteurs sous Android

Utilisation des capteurs sous Android Utilisation des capteurs sous Android Master 2 informatique 2012-2013 Michel Chilowicz - Sous licence CC By-NC-SA Vibreur Permission requise : android.permission.vibrate Vibrator

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

Gestion des données avec SQLite sous Android

Gestion des données avec SQLite sous Android 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

Plus en détail

Chapitre 1. 1.1 types primitifs. 1.2 Casting

Chapitre 1. 1.1 types primitifs. 1.2 Casting Chapitre 1 Généralités 1.1 types primitifs byte (1 octet) peut contenir les entiers entre -128 et +127. short (2 octets) contient les entiers compris entre -32768 et +32767. int (4 octet) va de -2*10e9

Plus en détail

Créer des interfaces utilisateur

Créer des interfaces utilisateur 4 Créer des interfaces utilisateur Au sommaire de ce chapitre : Utiliser les vues et les layouts Comprendre les fragments Optimiser les layouts Créer des interfaces utilisateur indépendantes de la résolution

Plus en détail

opengeophone Documentation

opengeophone Documentation opengeophone Documentation Version 1.0.0 openmairie 28 June 2013 Table des matières 1 Manuel de l utilisateur 3 1.1 installation................................................ 3 1.2 Utilisation................................................

Plus en détail

EXAMEN DE JAVA 2010-2011

EXAMEN DE JAVA 2010-2011 NOM : PRÉNOM : TP : G TP EXAMEN DE JAVA 2010-2011 Consignes : avec documents, mais sans téléphone, ordinateur ou autre moyen de communication. Durée : 2h Recommandations : Le code doit être écrit en JAVA

Plus en détail

Développement sur Android

Développement sur Android Développement sur Android V. Barichard vincent.barichard@univ-angers.fr LERIA - Département Informatique Université d Angers M2 - SILI M2 - SILI Développement sur Android 1 Rappels Chapitre I Rappels M2

Plus en détail

Test de Personnalité. Groupe Entreprenant et Innovateur. France. Tutoriel. teaching@atipaxinti.com. Programmation Mobile. Cours. Arón HERRERA PONTE

Test de Personnalité. Groupe Entreprenant et Innovateur. France. Tutoriel. teaching@atipaxinti.com. Programmation Mobile. Cours. Arón HERRERA PONTE Groupe Entreprenant et Innovateur France Tutoriel 4 Test de Personnalité Cours Programmation Mobile Coach Arón HERRERA PONTE E-mail teaching@atipaxinti.com - 2011 - SOMMAIRE 1. Introduction... 3 2. Objectifs...

Plus en détail

1 ère PARTIE : COURS (sans document) Durée: 1h15

1 ère PARTIE : COURS (sans document) Durée: 1h15 Examen 1 ère session 2012-2013 page 1 NFA 032 - Programmation JAVA IPST-CNAM Programmation JAVA NFA 032 Mercredi 25 Juin 2014 Avec document Durée : 2 h30 Enseignant : LAFORGUE Jacques 1 ère Session NFA

Plus en détail

INTRODUCTION AUX TESTS ANDROID AVEC ESPRESSO

INTRODUCTION AUX TESTS ANDROID AVEC ESPRESSO INTRODUCTION AUX TESTS ANDROID AVEC ESPRESSO Andr0 29 octobre 2015 Table des matières 1 Introduction 5 2 Présentation d Espresso 7 3 Fonctionnement général 9 4 Prérequis avant le développement des tests

Plus en détail

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr

CCI - Initiation à Java. E.Coquery emmanuel.coquery@liris.cnrs.fr CCI - Initiation à Java E.Coquery emmanuel.coquery@liris.cnrs.fr Présentation du langage Outline 1 Présentation du langage 2 Types de données primitifs 3 Objets Présentation du langage Un langage orienté

Plus en détail

Projet de programmation (IK3) : TP n 1 Correction

Projet de programmation (IK3) : TP n 1 Correction Projet de programmation (IK3) : TP n 1 Correction Semaine du 20 septembre 2010 1 Entrées/sorties, types de bases et structures de contrôle Tests et types de bases Tests et types de bases (entiers) public

Plus en détail