SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Downloaden Sie, um offline zu lesen
 

           Institut  Supérieur  d’Informatique  
           Université  de  Tunis  el  Manar  




           TP4  :  Stockage  de  données    
           Programmation  Mobile  –  2ème  Licence  –  Systèmes  Embarqués  


           Année  Universitaire  :  2011/2012  
             

             



MME.  LILIA  SFAXI  
             

             
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  
du  téléphone  et  dans  une  carte  de  stockage  externe.    


I. Stockage  des  données  dans  la  mémoire  interne  
          Une   application   peut   stocker   ses   données   dans   la   mémoire   interne   du   téléphone.   Par   défaut,   ces   données   sont  
privées,   c’est   à   dire   qu’elles   ne   sont   pas   accessibles   à   partir   d’autres   applications.   A   la   suppression   de   l’application,   ces  
données  sont  supprimées.    

          Pour        chaque         application,          le     système          Android          crée       un       répertoire        qui             s’appelle  :  
«  /data/data/package_de_l’application  ».  Les  fichiers  internes  sont  stockés  dans  le  répertoire  files  contenu  dans  ce  répertoire.  


I.  1. Lecture  et  écriture  des  données  à  partir  d’un  fichier  

          Les   primitives   pour   la   manipulation   des   fichiers   en   Java   se   déclinent   en   plusieurs   types.   On   distingue  
principalement  les  primitives  pour  la  lecture,  et  les  primitives  pour  l’écriture.    

I.  1.  1.   Primitives  de  lecture  
          Il  existe  principalement  deux  types  de  primitives  de  lecture  :  les  primitives  de  type  InputStream  et  les  primitives  
de   type   Reader.   Ces   deux   primitives   permettent   de   lire   un   flux   de   données   à   partir   d’une   source   en   entrée,   mais   la  
principale   différence   entre   les   deux,   c’est   que   le   InputStream   lit   un   flux   d’octets,   tandis   que   le   Reader   lit   un   flux   de  
caractères.  

          A  partir  d’un  InputStream,  il  est  possible  de  créer  un  Reader  en  utilisant  la  classe  InputStreamReader.  Il  est  bien  
entendu  plus  facile  de  gérer  un  flux  de  caractères  dans  notre  cas,  puisque  nous  désirons  lire  des  chaînes  de  caractères  à  
partir  d’un  fichier.  Nous  utiliserons  donc  principalement  les  primitives  de  type  Reader,  et  en  particulier  le  FileReader,  qui  
est  un  InputStreamReader  particulier,  qui  lit  un  flux  de  caractères  à  partir  d’un  fichier.    

          Enfin,   pour   faciliter   la   manipulation   de   ces   flux,   nous   allons   les   envelopper   dans   un   BufferedReader.   Les  
primitives  de  type  bufferisé  n’ajoutent  pas  de  fonctionnalités  supplémentaires,  mais  augmentent  l’efficacité  d’utilisation  en  
fournissant  des  primitives  facilitant  l’utilisation  des  flux,  comme  par  exemple  readLine().  




          MME.  LILIA  SFAXI                                                                                                                                      2011/2012  
TP4  :  Stockage  de  données                                                                                                   2              
           

I.  1.  2.   Primitives  d’écriture  
         Les   primitives   d’écriture   duales   à   InputStreamReader,   FileReader   et   BufferedReader   sont   respectivement  
OutputStreamWriter,  FileWriter  et  BufferedWriter.    


I.  2. Création  ou  modification  d’un  fichier  

         Pour   créer   un   fichier,   ou   modifier   un   fichier   existant,   la   méthode   prédéfinie   openFileOutput   est   utilisée.      En  
appelant  cette  méthode,  il  faut  spécifier  le  nom  du  fichier,  et  ses  modes  d’ouverture,  qui  sont:  

         -­‐‑   MODE_PRIVATE  :  Le  fichier  n’est  accessible  que  par  l’application  qui  l’a  créé.  
         -­‐‑   MODE_WORLD_READABLE  :  Le  fichier  est  accessible  en  lecture  par  les  autres  applications.  
         -­‐‑   MODE_WORLD_WRITEABLE  :  Le  fichier  est  accessible  en  écriture  par  les  autres  applications.  
         -­‐‑   MODE_APPEND  :  Si  le  fichier  existe  déjà,  les  données  seront  ajoutées  à  la  fin.    

         Indication  :  Il  est  possible  de  définir  plusieurs  modes  à  la  fois  en  les  séparant  par  un  |.  

         Une  méthode  simple  pour  stocker  des  données  dans  un  fichier  est    d’utiliser  le  code  suivant  :  

                    try {
                           // ouverture (ou création) du fichier pour modification en mode privé
                           BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(
                                                  openFileOutput("nom_fichier",Context.MODE_PRIVATE)));
                           // écriture de la chaîne de caractère dans le fichier
                           bw.write("chaine_a_ecrire");
                           // fermeture du fichier
                           bw.close();
                    } catch (Exception e) {
                           // Si une erreur existe, l’afficher dans un Toast
                           Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
                    }
           



       TAF-­‐‑1  :  Créer  une  application  Android  appelée  Stockage.    
       L’activité  principale  contient  un  champ  de  saisie  et  un  bouton  appelé  Ecrire  Interne.  En  cliquant  sur  le  bouton,  le  contenu  
       du  champs  de  saisie  sera  stocké  dans  un  fichier  appelé  :  «  saisie.txt  ».    
       Nous  désirons  que  ce  fichier  soit  accessible  en  lecture  par  les  autres  applications,  et  que  la  chaîne  entrée  soit  ajoutée  à  la  
       fin  du  fichier.    

           


I.  3. Lecture  du  contenu  d’un  fichier  

         Le  code  suivant  permet  de  lire  le  contenu  d’un  fichier,  et  de  le  stocker  dans  une  chaîne  de  caractères.    



         MME.  LILIA  SFAXI                                                                                                                            2011/2012  
TP4  :  Stockage  de  données                                                                                                              3              
             
                             try {
                                    // ouverture du fichier pour lecture
                                    BufferedReader br = new BufferedReader(new InputStreamReader(
                                                                  openFileInput("nom_du_fichier")));
                                    // line est une variable qui stocke le contenu d’une ligne
                                    String line;
                                    // StringBuffer contient des caractères qui peuvent être modifiés
                                    StringBuffer buffer = new StringBuffer();
                                    // lecture des lignes du fichier et leur sauvegarde dans le StringBuffer
                                    while ((line = br.readLine()) != null) {
                                            buffer.append(line);
                                    }
                                    // fermeture du Reader
                                    br.close();
                             } catch (Exception e) {
                                    // Si une erreur existe, l’afficher dans un Toast
                                    Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
                             }  


        TAF-­‐‑2  :  Ajouter   un   autre   bouton   à   votre   activité,   appelé  Lire  Interne.   Le   clic   sur   ce   bouton   affiche   le   contenu   du   fichier  
        saisie.txt  dans  un  Toast.      

             


I.  4. Accès  au  fichier  à  partir  d’une  autre  application  

           Il   est   possible   d’accéder   à   un   fichier   créé   dans   une   application   à   partir   d’une   autre   application.   Le   fichier   doit  
respecter  les  conditions  suivantes  :  

           -­‐‑   Il  doit  être  créé  avec  le  mode  MODE_WORLD_READABLE  pour  être  accessible  en  lecture  
           -­‐‑   Il  doit  être  créé  avec  le  mode  MODE_WORLD_WRITEABLE  pour  être  accessible  en  écriture  

           Pour  cela,  on  ne  doit  pas  appeler  le  fichier  directement  par  son  nom  dans  la  deuxième  application,  car  le  système  
va   le   chercher   dans   le   répertoire   associé   à   cette   application.   Au   lieu   de   cela,   il   faut   ajouter   une   référence   au   package   de  
l’application  à  laquelle  appartient  le  fichier.    

           Par   exemple,   si   le   fichier   fich.txt   a   été   crée   par   l’application   dont   le   package   est   pack.app1,   alors   remplacer   :  
openFileOutput("fich.txt")                 par   createPackageContext("pack.app1", 0).openFileOutput("fich.txt") et   garder   le   reste  
du  code  identique,  pour  l’écriture  ou  la  lecture  du  fichier.  

             

        TAF-­‐‑3  :    

                      -­‐‑    Créer  une  deuxième  application,  appelée  AccesStockage.      
                      -­‐‑    Modifier   le   fichier   saisie.txt   créé   dans   la   première   application   en   y   ajoutant   la   ligne   «  Accessible   de  




           MME.  LILIA  SFAXI                                                                                                                                       2011/2012  
TP4  :  Stockage  de  données                                                                                                      4              
           
                         l’extérieur  »  
                  -­‐‑   Exécuter  la  première  application,  et  afficher  le  contenu  du  fichier.  Y  trouvez-­‐‑vous  la  chaîne  ajoutée  ?  Si  non,  
                         pourquoi  ?  

           


II. Stockage  des  données  dans  une  mémoire  externe  
         Android   supporte   l’accès   à   un   système   de   stockage   externe   (une   carte   SD,   par   exemple).   Tous   les   fichiers   et  
répertoires  de  ce  support  de  stockage  sont  accessibles  en  lecture  pour  toutes  les  applications.    


II.  1. Accès  et  modification  du  support  de  stockage  externe  

         Pour   visualiser   le   contenu   du   support   de   stockage   externe   avec   Eclipse,   il   est   possible   d’utiliser   la   perspective  
DDMS  (Dalvik  Debug  Monitor  Server).  Pour  cela  :  

         -­‐‑   Aller  à  Window  -­‐‑>  Open  Perspective  -­‐‑>  Other…  
         -­‐‑   Sélectionner  DDMS  et  cliquer  sur  OK.  

         Une  fois  la  perspective  choisie,  l’affichage  devient  comme  dans  la  figure  suivante  :      




                                                                                                                                                 



         MME.  LILIA  SFAXI                                                                                                                               2011/2012  
TP4  :  Stockage  de  données                                                                                                         5              
            
          Dans  FileExplorer,  vous  pouvez  voir  le  contenu  de  votre  carte  SD  sous  le  répertoire  mnt/sdcard.    


          -­‐‑   Pour  ajouter  un  fichier  à  votre  carte  SD,  sélectionner  le  répertoire  sdcard  et  cliquer  sur  le  bouton                   

          -­‐‑   Pour  télécharger  un  fichier  existant  dans  votre  carte  SD,  cliquer  sur  le  bouton            


          Pour  revenir  à  l’affichage  du  code,  il  faut  revenir  à  la  perspective  Java.  Pour  cela,  cliquer  sur             .  


       TAF-­‐‑4  :    Créer  sur  votre  ordinateur  un  fichier  qui  s’appelle  chaine.txt,  dans  lequel  vous  écrirez  :  «  Texte  dans  la  carte  SD  ».  
       Ensuite,  ajouter  ce  fichier  à  la  carte  SD  de  votre  émulateur.    

            


II.  2. Tester  le  support  de  stockage  externe  

          Pour  tester  si  le  support  de  stockage  externe  est  bien  monté  et  s’il  est  accessible  en  écriture,  on  utilise  la  variable  
suivante  :  

                      String etat = Environment.getExternalStorageState();
            

          Cette  variable  etat  est  une  chaîne  de  caractère  qui  contient  l’état  du  support  externe.    

          -­‐‑   Si  etat  est  égale  à  Environment.MEDIA_MOUNTED alors  le  support  externe  existe,  est  monté  et  accessible  en  lecture  
                 et  écriture.  
          -­‐‑   Si  etat  est  égale  à   Environment.MEDIA_MOUNTED_READ_ONLY", alors  le  support  externe  existe,  est  monté  mais  est  
                 accessible  en  lecture  seulement.  

          Ainsi,  pour  tester  l’état  du  support  externe,  on  peut  exécuter  le  code  suivant  :  

                      boolean stockageExiste = false;
                      boolean stockageEcriture= false;
                      String etat = Environment.getExternalStorageState();

                      if (Environment.MEDIA_MOUNTED.equals(etat)) {
                          // Le support de stockage est accessible en lecture et écriture
                          stockageExiste = stockageEcriture= true;
                      } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(etat)) {
                          // Le support de stockage est accessible en lecture seulement
                          stockageExiste = true;
                          stockageEcriture= false;
                      } else {
                          // Le support de stockage n’est pas accessible
                          stockageExiste = stockageEcriture= false;
                      }




          MME.  LILIA  SFAXI                                                                                                                                  2011/2012  
TP4  :  Stockage  de  données                                                                                                          6              
           

      TAF-­‐‑5  :    Dans  l’application  Stockage,  créer  une  fonction  qui  s’appelle  mediaOK,  qui  retourne  true  si  la  carte  SD  existe  et  est  
      accessible  en  lecture  et  écriture,  et  false  sinon.    


II.  3. Lecture  d’un  fichier  dans  le  support  de  stockage  externe  

         Pour  accéder  à  un  fichier  dans  un  support  externe,  on  utilise  le  code  suivant  :  

                    // accéder au répertoire par défaut du support externe
                    File directory = Environment.getExternalStorageDirectory();
                    // Accès au fichier
                     File file = new File(directory + "/nom_du_fichier");
                    // Tester si le fichier désiré existe, sinon, un Toast affiche un message d’erreur
                     if (!file.exists()) {
                         Toast.makeText(this, "Fichier n’existe pas dans la carte SD", 1000).show();
                     }else{        // Si le fichier existe
                            try {
                                   // Créer un BufferedReader pour parcourir le fichier en lecture
                                   BufferedReader br = new BufferedReader(new FileReader(file));
                                   // Stocker le contenu du fichier dans un buffer
                                   String line;
                                   StringBuffer buffer = new StringBuffer();
                                   while ((line = br.readLine()) != null) {
                                           buffer.append(line);
                                   }
                                   // Fermer le fichier
                                   br.close();
                            } catch (Exception e) {
                                   Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show();
                            }
                    }

      TAF-­‐‑6  :    Ajouter  un  autre  bouton  dans  l’application  stockage  appelé  Lire  Externe.  Ce  bouton  permet  de  lire  le  contenu  du  
      fichier  chaine.txt  qui  se  trouve  dans  votre  carte  SD,  et  de  l’afficher  dans  un  Toast.  



II.  4. Création  ou  modification  d’un  fichier  dans  un  support  externe  

         Pour  modifier  un  fichier  dans  le  support  de  stockage  externe,  il  faut  tout  d’abord  ajouter  la  ligne  suivante  dans  le  
fichier  AndroidManifest  :  

         <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>    


         Ensuite,   utiliser   les   lignes   suivantes   dans   le   code   de   l’application,   pour   les   mêmes   variables   directory   et   file   que  
précédemment  :  




         MME.  LILIA  SFAXI                                                                                                                                   2011/2012  
TP4  :  Stockage  de  données                                                                                                                7            
        
                              try {
                                     // ouvrir le fichier en écriture
                                     BufferedWriter bw = new BufferedWriter(new FileWriter(file));
                                     // écrire la chaine
                                     bw.write("chaine_a_ecrire");
                                     // fermer le fichier
                                     bw.close();
                              } catch (Exception e) {
                                     Toast.makeText(this, e.getMessage(), 2000).show();
                              }


             Remarque  :  Si  vous  désirez  ajouter  le  texte  à  la  fin  du  fichier,  il  faut  remplacer  new FileWriter(file) par  :  
  new FileWriter(file, true);                    Le  deuxième  paramètre  du  constructeur  détermine  si  la  chaîne  est  concaténée  (true)  
  ou  si  le  contenu  est  écrasé  (false).  
        


   TAF-­‐‑7  :      Ajouter   un   autre   bouton   dans   l’application   stockage   appelé   Ecrire   Externe.   Ce   bouton   permet   de   stocker   le  
   contenu  du  champs  de  saisie  dans  le  fichier  chaine.txt.  



III. Homework  
      Créer  deux  applications  qui  partagent  un  fichier  resultat.txt  qui  se  trouve  dans  la  carte  SD  :  

      -­‐‑   La  première  application  SommeFichiers  contient  un  champs  de  saisie  txt  et  deux  boutons  ajouter  et  afficherListe.  
             Elle  permet  de  :  
                  o     Saisir  un  entier  à  partir  du  champs  txt.  
                  o     Le  clic  sur  ajouter  permet  de  :  
                                    Ajouter   le   contenu   de   txt   à   la   fin   d’un   fichier   interne   appelé  entiers   (chaque   nouvelle   entrée  
                                     sera  séparée  par  une  virgule  de  l’entrée  précédente)  
                                    Lire  le  contenu  du  fichier  resultat.txt    
                                          •     Si  ce  fichier  est  vide  ou  n’existe  pas,  le  créer  et  y  mettre  le  contenu  de  txt  
                                          •     Sinon,  faire  la  somme  de  l’entier  dans  le  fichier  resultat.txt  avec  l’entier  entré  dans  txt,  
                                                puis  stocker  le  résultat  dans  le  fichier  resultat.txt  (l’ancienne  valeur  sera  écrasée).  
                  o     Le  clic  sur  afficherListe  permet  d’afficher  dans  un  Toast  le  contenu  du  fichier  interne  entiers.    
      -­‐‑   La  deuxième  application  VerifierFichiers  contient  deux  boutons  :  
                  o     Un  bouton  afficherListe  qui  affiche  dans  un  Toast  le  contenu  du  fichier  entiers  
                  o     Un  bouton  afficherResultat  qui  affiche  dans  un  Toast  le  contenu  du  fichier  resultat.txt  

      Remarque  :  
      -­‐‑  Pour  convertir  une  chaîne  en  entier  :         int  valeur  =  Integer.valueOf(chaine)  ;  
      -­‐‑  Pour  convertir  un  entier  en  chaîne  :          String  chaine  =  String.valueOf(valeur)  ;  



      MME.  LILIA  SFAXI                                                                                                                                       2011/2012  

Weitere ähnliche Inhalte

Was ist angesagt?

Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkAmal Abid
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & SparkAlexia Audevart
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatiqueHicham Ben
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataLilia Sfaxi
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1Amal Abid
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2Amal Abid
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Symphorien Niyonzima
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceLilia Sfaxi
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3Amal Abid
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement webHouda TOUKABRI
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Georges Amichia
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduceAmal Abid
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehousekhlifi z
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdfAchrafAntri2
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingLilia Sfaxi
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)Heithem Abbes
 

Was ist angesagt? (20)

Lab2-DB-Mongodb
Lab2-DB-MongodbLab2-DB-Mongodb
Lab2-DB-Mongodb
 
Chapitre 3 spark
Chapitre 3 sparkChapitre 3 spark
Chapitre 3 spark
 
Cours Big Data Chap4 - Spark
Cours Big Data Chap4 - SparkCours Big Data Chap4 - Spark
Cours Big Data Chap4 - Spark
 
Big Data, Hadoop & Spark
Big Data, Hadoop & SparkBig Data, Hadoop & Spark
Big Data, Hadoop & Spark
 
Projet de fin d'etude sur le parc informatique
Projet  de fin d'etude sur le parc informatiqueProjet  de fin d'etude sur le parc informatique
Projet de fin d'etude sur le parc informatique
 
BigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big DataBigData_Chp1: Introduction à la Big Data
BigData_Chp1: Introduction à la Big Data
 
Cours Big Data Chap1
Cours Big Data Chap1Cours Big Data Chap1
Cours Big Data Chap1
 
Cours Big Data Chap2
Cours Big Data Chap2Cours Big Data Chap2
Cours Big Data Chap2
 
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
Conception d’une plateforme web d’e-Commerce au sein d’une entreprise commerc...
 
BigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-ReduceBigData_Chp2: Hadoop & Map-Reduce
BigData_Chp2: Hadoop & Map-Reduce
 
Cours Big Data Chap3
Cours Big Data Chap3Cours Big Data Chap3
Cours Big Data Chap3
 
Fascicule de tp atelier développement web
Fascicule de tp atelier développement webFascicule de tp atelier développement web
Fascicule de tp atelier développement web
 
Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique Etude d'une application de gestion d'une bibliothèque numérique
Etude d'une application de gestion d'une bibliothèque numérique
 
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka StreamsTraitement distribue en BIg Data - KAFKA Broker and Kafka Streams
Traitement distribue en BIg Data - KAFKA Broker and Kafka Streams
 
TP1 Big Data - MapReduce
TP1 Big Data - MapReduceTP1 Big Data - MapReduce
TP1 Big Data - MapReduce
 
Cours data warehouse
Cours data warehouseCours data warehouse
Cours data warehouse
 
Rapport gestion de stock.pdf
Rapport gestion de stock.pdfRapport gestion de stock.pdf
Rapport gestion de stock.pdf
 
BigData_Chp3: Data Processing
BigData_Chp3: Data ProcessingBigData_Chp3: Data Processing
BigData_Chp3: Data Processing
 
Architectures orientés services (SOA)
Architectures orientés services (SOA)Architectures orientés services (SOA)
Architectures orientés services (SOA)
 
Servlets et JSP
Servlets et JSPServlets et JSP
Servlets et JSP
 

Andere mochten auch

Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsLilia Sfaxi
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockageLilia Sfaxi
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menusLilia Sfaxi
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésLilia Sfaxi
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques androidLilia Sfaxi
 
P6 composants avancés
P6 composants avancésP6 composants avancés
P6 composants avancésLilia Sfaxi
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à androidLilia Sfaxi
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursLilia Sfaxi
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web servicesLilia Sfaxi
 
Webinar "Fonctions collaboratives d'Alfresco"
Webinar "Fonctions collaboratives d'Alfresco"Webinar "Fonctions collaboratives d'Alfresco"
Webinar "Fonctions collaboratives d'Alfresco"Michael Harlaut
 
Présentation OBM 3.0 - Sortie juin 2014
Présentation OBM 3.0 - Sortie juin 2014Présentation OBM 3.0 - Sortie juin 2014
Présentation OBM 3.0 - Sortie juin 2014Michel-Marie Maudet
 
Presentation CMIS Acquia + Alfresco - Confoo2010
Presentation CMIS Acquia + Alfresco - Confoo2010Presentation CMIS Acquia + Alfresco - Confoo2010
Presentation CMIS Acquia + Alfresco - Confoo2010Gestion-Ressources Inc.
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseLilia Sfaxi
 
وحدات التخزين ثامر
وحدات التخزين ثامروحدات التخزين ثامر
وحدات التخزين ثامرthamr
 
وحدات التخزين ثامر
وحدات التخزين ثامروحدات التخزين ثامر
وحدات التخزين ثامرthamr
 

Andere mochten auch (20)

Android-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intentsAndroid-Tp1: éléments graphiques de base et intents
Android-Tp1: éléments graphiques de base et intents
 
Android-Tp4: stockage
Android-Tp4: stockageAndroid-Tp4: stockage
Android-Tp4: stockage
 
Android-Tp3: fragments et menus
Android-Tp3: fragments et menusAndroid-Tp3: fragments et menus
Android-Tp3: fragments et menus
 
P4 intents
P4 intentsP4 intents
P4 intents
 
P3 listes et elements graphiques avancés
P3 listes et elements graphiques avancésP3 listes et elements graphiques avancés
P3 listes et elements graphiques avancés
 
P2 éléments graphiques android
P2 éléments graphiques androidP2 éléments graphiques android
P2 éléments graphiques android
 
P6 composants avancés
P6 composants avancésP6 composants avancés
P6 composants avancés
 
P1 introduction à android
P1 introduction à androidP1 introduction à android
P1 introduction à android
 
Android-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateursAndroid-Tp2: liste et adaptateurs
Android-Tp2: liste et adaptateurs
 
P5 stockage
P5 stockageP5 stockage
P5 stockage
 
Android-Tp5 : web services
Android-Tp5 : web servicesAndroid-Tp5 : web services
Android-Tp5 : web services
 
Programmation sous Android
Programmation sous AndroidProgrammation sous Android
Programmation sous Android
 
Webinar "Fonctions collaboratives d'Alfresco"
Webinar "Fonctions collaboratives d'Alfresco"Webinar "Fonctions collaboratives d'Alfresco"
Webinar "Fonctions collaboratives d'Alfresco"
 
Présentation OBM 3.0 - Sortie juin 2014
Présentation OBM 3.0 - Sortie juin 2014Présentation OBM 3.0 - Sortie juin 2014
Présentation OBM 3.0 - Sortie juin 2014
 
Presentation CMIS Acquia + Alfresco - Confoo2010
Presentation CMIS Acquia + Alfresco - Confoo2010Presentation CMIS Acquia + Alfresco - Confoo2010
Presentation CMIS Acquia + Alfresco - Confoo2010
 
Tp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-EclipseTp1 - Initiation à Java-Eclipse
Tp1 - Initiation à Java-Eclipse
 
وحدات التخزين ثامر
وحدات التخزين ثامروحدات التخزين ثامر
وحدات التخزين ثامر
 
ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2ICDL MODULE 1 Lesson 2
ICDL MODULE 1 Lesson 2
 
Exercices act2121-session2
Exercices act2121-session2Exercices act2121-session2
Exercices act2121-session2
 
وحدات التخزين ثامر
وحدات التخزين ثامروحدات التخزين ثامر
وحدات التخزين ثامر
 

Ähnlich wie Stockage de données dans Android : Fichiers

Manipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxManipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxolfaharrabi2
 
Manipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsxManipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsxYallaHabibi5
 
log file sous Netbeans et J2ME
log file sous Netbeans et J2MElog file sous Netbeans et J2ME
log file sous Netbeans et J2MEZied
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxMoez Moezm
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralitésSinovatia
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieMariem ZAOUALI
 
Entrees sorties
Entrees sortiesEntrees sorties
Entrees sortiesyazidds2
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdfRihabBENLAMINE
 
Les fchiers informatiques
Les fchiers informatiquesLes fchiers informatiques
Les fchiers informatiquesD1clic
 
Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Mariem ZAOUALI
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework HibernateInes Ouaz
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2Amir Souissi
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitationThắng Thao
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système LinuxEL AMRI El Hassan
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-onsahar dridi
 

Ähnlich wie Stockage de données dans Android : Fichiers (20)

Manipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptxManipulation des fichiers en C.pptx
Manipulation des fichiers en C.pptx
 
Theme 8
Theme 8Theme 8
Theme 8
 
Manipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsxManipulation_des_fichiers_en_C.ppsx
Manipulation_des_fichiers_en_C.ppsx
 
log file sous Netbeans et J2ME
log file sous Netbeans et J2MElog file sous Netbeans et J2ME
log file sous Netbeans et J2ME
 
Chapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptxChapitre_Les fichiers_VF.pptx
Chapitre_Les fichiers_VF.pptx
 
Formation Informatique base et généralités
Formation Informatique base et généralitésFormation Informatique base et généralités
Formation Informatique base et généralités
 
TP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / TunisieTP4 Atelier C++ /GL2 INSAT / Tunisie
TP4 Atelier C++ /GL2 INSAT / Tunisie
 
Entrees sorties
Entrees sortiesEntrees sorties
Entrees sorties
 
Bases de données sous Android.pdf
Bases de données sous Android.pdfBases de données sous Android.pdf
Bases de données sous Android.pdf
 
Fascicule tp programmation c
Fascicule tp programmation cFascicule tp programmation c
Fascicule tp programmation c
 
Les fchiers informatiques
Les fchiers informatiquesLes fchiers informatiques
Les fchiers informatiques
 
Tp n 3 linux
Tp n 3 linuxTp n 3 linux
Tp n 3 linux
 
Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers Chap6 Manipulation des fichiers
Chap6 Manipulation des fichiers
 
Framework Hibernate
Framework HibernateFramework Hibernate
Framework Hibernate
 
Atelier symfony n 2
Atelier symfony n 2Atelier symfony n 2
Atelier symfony n 2
 
System d\'exploitation
System d\'exploitationSystem d\'exploitation
System d\'exploitation
 
Maintenance du système Linux
Maintenance du système LinuxMaintenance du système Linux
Maintenance du système Linux
 
Shared Preferences
Shared PreferencesShared Preferences
Shared Preferences
 
Atelier hadoop-single-sign-on
Atelier hadoop-single-sign-onAtelier hadoop-single-sign-on
Atelier hadoop-single-sign-on
 
PHP5 et les fichiers
PHP5 et les fichiersPHP5 et les fichiers
PHP5 et les fichiers
 

Mehr von Lilia Sfaxi

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfLilia Sfaxi
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfLilia Sfaxi
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-CassandraLilia Sfaxi
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-CorrectionLilia Sfaxi
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-CorrectionLilia Sfaxi
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-CorrectionLilia Sfaxi
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-CorrectionLilia Sfaxi
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-SéquencesLilia Sfaxi
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-CorrectionLilia Sfaxi
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - CorrectionLilia Sfaxi
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correctionLilia Sfaxi
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrageLilia Sfaxi
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Lilia Sfaxi
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intentsLilia Sfaxi
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web servicesLilia Sfaxi
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésLilia Sfaxi
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de donnéesLilia Sfaxi
 

Mehr von Lilia Sfaxi (20)

chp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdfchp1-Intro à l'urbanisation des SI.pdf
chp1-Intro à l'urbanisation des SI.pdf
 
Plan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdfPlan d'études_INSAT_2022_2023.pdf
Plan d'études_INSAT_2022_2023.pdf
 
Lab3-DB_Neo4j
Lab3-DB_Neo4jLab3-DB_Neo4j
Lab3-DB_Neo4j
 
Lab1-DB-Cassandra
Lab1-DB-CassandraLab1-DB-Cassandra
Lab1-DB-Cassandra
 
TP2-UML-Correction
TP2-UML-CorrectionTP2-UML-Correction
TP2-UML-Correction
 
TP1-UML-Correction
TP1-UML-CorrectionTP1-UML-Correction
TP1-UML-Correction
 
TP0-UML-Correction
TP0-UML-CorrectionTP0-UML-Correction
TP0-UML-Correction
 
TD4-UML
TD4-UMLTD4-UML
TD4-UML
 
TD4-UML-Correction
TD4-UML-CorrectionTD4-UML-Correction
TD4-UML-Correction
 
TD3-UML-Séquences
TD3-UML-SéquencesTD3-UML-Séquences
TD3-UML-Séquences
 
TD3-UML-Correction
TD3-UML-CorrectionTD3-UML-Correction
TD3-UML-Correction
 
TD2 - UML - Correction
TD2 - UML - CorrectionTD2 - UML - Correction
TD2 - UML - Correction
 
TD1 - UML - DCU
TD1 - UML - DCUTD1 - UML - DCU
TD1 - UML - DCU
 
TD1-UML-correction
TD1-UML-correctionTD1-UML-correction
TD1-UML-correction
 
Android - Tp1 - installation et démarrage
Android - Tp1 -   installation et démarrageAndroid - Tp1 -   installation et démarrage
Android - Tp1 - installation et démarrage
 
Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques Android - Tp2 - Elements graphiques
Android - Tp2 - Elements graphiques
 
Android - Tp3 - intents
Android - Tp3 -  intentsAndroid - Tp3 -  intents
Android - Tp3 - intents
 
Android - TPBonus - web services
Android - TPBonus - web servicesAndroid - TPBonus - web services
Android - TPBonus - web services
 
Android - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancésAndroid - Tp4 - graphiques avancés
Android - Tp4 - graphiques avancés
 
Android - Tp 5 - stockage de données
Android - Tp 5 -  stockage de donnéesAndroid - Tp 5 -  stockage de données
Android - Tp 5 - stockage de données
 

Kürzlich hochgeladen

Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxMartin M Flynn
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSKennel
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .Txaruka
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxmmatar2
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptxTxaruka
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxrababouerdighi
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsRajiAbdelghani
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeXL Groupe
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSKennel
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Alain Marois
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxNYTombaye
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSKennel
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETMedBechir
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETMedBechir
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipM2i Formation
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Gilles Le Page
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSKennel
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSKennel
 

Kürzlich hochgeladen (20)

Saint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptxSaint Georges, martyr, et la lègend du dragon.pptx
Saint Georges, martyr, et la lègend du dragon.pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_FormationRecherche.pdf
 
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .Annie   Ernaux  Extérieurs. pptx. Exposition basée sur un livre .
Annie Ernaux Extérieurs. pptx. Exposition basée sur un livre .
 
le present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptxle present des verbes reguliers -er.pptx
le present des verbes reguliers -er.pptx
 
Fondation Louis Vuitton. pptx
Fondation      Louis      Vuitton.   pptxFondation      Louis      Vuitton.   pptx
Fondation Louis Vuitton. pptx
 
Pâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie PelletierPâques de Sainte Marie-Euphrasie Pelletier
Pâques de Sainte Marie-Euphrasie Pelletier
 
Présentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptxPrésentation_ Didactique 1_SVT (S4) complet.pptx
Présentation_ Didactique 1_SVT (S4) complet.pptx
 
Principe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 tempsPrincipe de fonctionnement d'un moteur 4 temps
Principe de fonctionnement d'un moteur 4 temps
 
Le Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directeLe Lean sur une ligne de production : Formation et mise en application directe
Le Lean sur une ligne de production : Formation et mise en application directe
 
DO PALÁCIO À ASSEMBLEIA .
DO PALÁCIO À ASSEMBLEIA                 .DO PALÁCIO À ASSEMBLEIA                 .
DO PALÁCIO À ASSEMBLEIA .
 
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdfSciencesPo_Aix_InnovationPédagogique_Bilan.pdf
SciencesPo_Aix_InnovationPédagogique_Bilan.pdf
 
Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024Zotero avancé - support de formation doctorants SHS 2024
Zotero avancé - support de formation doctorants SHS 2024
 
presentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptxpresentation sur la maladie de la dengue .pptx
presentation sur la maladie de la dengue .pptx
 
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_IA.pdf
 
Cours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSETCours SE Gestion des périphériques - IG IPSET
Cours SE Gestion des périphériques - IG IPSET
 
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSETCours SE Le système Linux : La ligne de commande bash - IG IPSET
Cours SE Le système Linux : La ligne de commande bash - IG IPSET
 
Formation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadershipFormation M2i - Comprendre les neurosciences pour développer son leadership
Formation M2i - Comprendre les neurosciences pour développer son leadership
 
Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024Presentation de la plateforme Moodle - avril 2024
Presentation de la plateforme Moodle - avril 2024
 
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdfSciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
SciencesPo_Aix_InnovationPédagogique_Atelier_EtudiantActeur.pdf
 
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdfSciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
SciencesPo_Aix_InnovationPédagogique_Conférence_SK.pdf
 

Stockage de données dans Android : Fichiers

  • 1.   Institut  Supérieur  d’Informatique   Université  de  Tunis  el  Manar   TP4  :  Stockage  de  données     Programmation  Mobile  –  2ème  Licence  –  Systèmes  Embarqués   Année  Universitaire  :  2011/2012       MME.  LILIA  SFAXI      
  • 2. 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   du  téléphone  et  dans  une  carte  de  stockage  externe.     I. Stockage  des  données  dans  la  mémoire  interne   Une   application   peut   stocker   ses   données   dans   la   mémoire   interne   du   téléphone.   Par   défaut,   ces   données   sont   privées,   c’est   à   dire   qu’elles   ne   sont   pas   accessibles   à   partir   d’autres   applications.   A   la   suppression   de   l’application,   ces   données  sont  supprimées.     Pour   chaque   application,   le   système   Android   crée   un   répertoire   qui   s’appelle  :   «  /data/data/package_de_l’application  ».  Les  fichiers  internes  sont  stockés  dans  le  répertoire  files  contenu  dans  ce  répertoire.   I.  1. Lecture  et  écriture  des  données  à  partir  d’un  fichier   Les   primitives   pour   la   manipulation   des   fichiers   en   Java   se   déclinent   en   plusieurs   types.   On   distingue   principalement  les  primitives  pour  la  lecture,  et  les  primitives  pour  l’écriture.     I.  1.  1.   Primitives  de  lecture   Il  existe  principalement  deux  types  de  primitives  de  lecture  :  les  primitives  de  type  InputStream  et  les  primitives   de   type   Reader.   Ces   deux   primitives   permettent   de   lire   un   flux   de   données   à   partir   d’une   source   en   entrée,   mais   la   principale   différence   entre   les   deux,   c’est   que   le   InputStream   lit   un   flux   d’octets,   tandis   que   le   Reader   lit   un   flux   de   caractères.   A  partir  d’un  InputStream,  il  est  possible  de  créer  un  Reader  en  utilisant  la  classe  InputStreamReader.  Il  est  bien   entendu  plus  facile  de  gérer  un  flux  de  caractères  dans  notre  cas,  puisque  nous  désirons  lire  des  chaînes  de  caractères  à   partir  d’un  fichier.  Nous  utiliserons  donc  principalement  les  primitives  de  type  Reader,  et  en  particulier  le  FileReader,  qui   est  un  InputStreamReader  particulier,  qui  lit  un  flux  de  caractères  à  partir  d’un  fichier.     Enfin,   pour   faciliter   la   manipulation   de   ces   flux,   nous   allons   les   envelopper   dans   un   BufferedReader.   Les   primitives  de  type  bufferisé  n’ajoutent  pas  de  fonctionnalités  supplémentaires,  mais  augmentent  l’efficacité  d’utilisation  en   fournissant  des  primitives  facilitant  l’utilisation  des  flux,  comme  par  exemple  readLine().   MME.  LILIA  SFAXI                  2011/2012  
  • 3. TP4  :  Stockage  de  données     2       I.  1.  2.   Primitives  d’écriture   Les   primitives   d’écriture   duales   à   InputStreamReader,   FileReader   et   BufferedReader   sont   respectivement   OutputStreamWriter,  FileWriter  et  BufferedWriter.     I.  2. Création  ou  modification  d’un  fichier   Pour   créer   un   fichier,   ou   modifier   un   fichier   existant,   la   méthode   prédéfinie   openFileOutput   est   utilisée.     En   appelant  cette  méthode,  il  faut  spécifier  le  nom  du  fichier,  et  ses  modes  d’ouverture,  qui  sont:   -­‐‑ MODE_PRIVATE  :  Le  fichier  n’est  accessible  que  par  l’application  qui  l’a  créé.   -­‐‑ MODE_WORLD_READABLE  :  Le  fichier  est  accessible  en  lecture  par  les  autres  applications.   -­‐‑ MODE_WORLD_WRITEABLE  :  Le  fichier  est  accessible  en  écriture  par  les  autres  applications.   -­‐‑ MODE_APPEND  :  Si  le  fichier  existe  déjà,  les  données  seront  ajoutées  à  la  fin.     Indication  :  Il  est  possible  de  définir  plusieurs  modes  à  la  fois  en  les  séparant  par  un  |.   Une  méthode  simple  pour  stocker  des  données  dans  un  fichier  est    d’utiliser  le  code  suivant  :   try { // ouverture (ou création) du fichier pour modification en mode privé BufferedWriter bw = new BufferedWriter(new OutputStreamWriter( openFileOutput("nom_fichier",Context.MODE_PRIVATE))); // écriture de la chaîne de caractère dans le fichier bw.write("chaine_a_ecrire"); // fermeture du fichier bw.close(); } catch (Exception e) { // Si une erreur existe, l’afficher dans un Toast Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); }   TAF-­‐‑1  :  Créer  une  application  Android  appelée  Stockage.     L’activité  principale  contient  un  champ  de  saisie  et  un  bouton  appelé  Ecrire  Interne.  En  cliquant  sur  le  bouton,  le  contenu   du  champs  de  saisie  sera  stocké  dans  un  fichier  appelé  :  «  saisie.txt  ».     Nous  désirons  que  ce  fichier  soit  accessible  en  lecture  par  les  autres  applications,  et  que  la  chaîne  entrée  soit  ajoutée  à  la   fin  du  fichier.       I.  3. Lecture  du  contenu  d’un  fichier   Le  code  suivant  permet  de  lire  le  contenu  d’un  fichier,  et  de  le  stocker  dans  une  chaîne  de  caractères.     MME.  LILIA  SFAXI                  2011/2012  
  • 4. TP4  :  Stockage  de  données     3       try { // ouverture du fichier pour lecture BufferedReader br = new BufferedReader(new InputStreamReader( openFileInput("nom_du_fichier"))); // line est une variable qui stocke le contenu d’une ligne String line; // StringBuffer contient des caractères qui peuvent être modifiés StringBuffer buffer = new StringBuffer(); // lecture des lignes du fichier et leur sauvegarde dans le StringBuffer while ((line = br.readLine()) != null) { buffer.append(line); } // fermeture du Reader br.close(); } catch (Exception e) { // Si une erreur existe, l’afficher dans un Toast Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); }   TAF-­‐‑2  :  Ajouter   un   autre   bouton   à   votre   activité,   appelé  Lire  Interne.   Le   clic   sur   ce   bouton   affiche   le   contenu   du   fichier   saisie.txt  dans  un  Toast.         I.  4. Accès  au  fichier  à  partir  d’une  autre  application   Il   est   possible   d’accéder   à   un   fichier   créé   dans   une   application   à   partir   d’une   autre   application.   Le   fichier   doit   respecter  les  conditions  suivantes  :   -­‐‑ Il  doit  être  créé  avec  le  mode  MODE_WORLD_READABLE  pour  être  accessible  en  lecture   -­‐‑ Il  doit  être  créé  avec  le  mode  MODE_WORLD_WRITEABLE  pour  être  accessible  en  écriture   Pour  cela,  on  ne  doit  pas  appeler  le  fichier  directement  par  son  nom  dans  la  deuxième  application,  car  le  système   va   le   chercher   dans   le   répertoire   associé   à   cette   application.   Au   lieu   de   cela,   il   faut   ajouter   une   référence   au   package   de   l’application  à  laquelle  appartient  le  fichier.     Par   exemple,   si   le   fichier   fich.txt   a   été   crée   par   l’application   dont   le   package   est   pack.app1,   alors   remplacer   :   openFileOutput("fich.txt") par   createPackageContext("pack.app1", 0).openFileOutput("fich.txt") et   garder   le   reste   du  code  identique,  pour  l’écriture  ou  la  lecture  du  fichier.     TAF-­‐‑3  :     -­‐‑ Créer  une  deuxième  application,  appelée  AccesStockage.       -­‐‑ Modifier   le   fichier   saisie.txt   créé   dans   la   première   application   en   y   ajoutant   la   ligne   «  Accessible   de   MME.  LILIA  SFAXI                  2011/2012  
  • 5. TP4  :  Stockage  de  données     4       l’extérieur  »   -­‐‑ Exécuter  la  première  application,  et  afficher  le  contenu  du  fichier.  Y  trouvez-­‐‑vous  la  chaîne  ajoutée  ?  Si  non,   pourquoi  ?     II. Stockage  des  données  dans  une  mémoire  externe   Android   supporte   l’accès   à   un   système   de   stockage   externe   (une   carte   SD,   par   exemple).   Tous   les   fichiers   et   répertoires  de  ce  support  de  stockage  sont  accessibles  en  lecture  pour  toutes  les  applications.     II.  1. Accès  et  modification  du  support  de  stockage  externe   Pour   visualiser   le   contenu   du   support   de   stockage   externe   avec   Eclipse,   il   est   possible   d’utiliser   la   perspective   DDMS  (Dalvik  Debug  Monitor  Server).  Pour  cela  :   -­‐‑ Aller  à  Window  -­‐‑>  Open  Perspective  -­‐‑>  Other…   -­‐‑ Sélectionner  DDMS  et  cliquer  sur  OK.   Une  fois  la  perspective  choisie,  l’affichage  devient  comme  dans  la  figure  suivante  :         MME.  LILIA  SFAXI                  2011/2012  
  • 6. TP4  :  Stockage  de  données     5       Dans  FileExplorer,  vous  pouvez  voir  le  contenu  de  votre  carte  SD  sous  le  répertoire  mnt/sdcard.     -­‐‑ Pour  ajouter  un  fichier  à  votre  carte  SD,  sélectionner  le  répertoire  sdcard  et  cliquer  sur  le  bouton     -­‐‑ Pour  télécharger  un  fichier  existant  dans  votre  carte  SD,  cliquer  sur  le  bouton     Pour  revenir  à  l’affichage  du  code,  il  faut  revenir  à  la  perspective  Java.  Pour  cela,  cliquer  sur   .   TAF-­‐‑4  :    Créer  sur  votre  ordinateur  un  fichier  qui  s’appelle  chaine.txt,  dans  lequel  vous  écrirez  :  «  Texte  dans  la  carte  SD  ».   Ensuite,  ajouter  ce  fichier  à  la  carte  SD  de  votre  émulateur.       II.  2. Tester  le  support  de  stockage  externe   Pour  tester  si  le  support  de  stockage  externe  est  bien  monté  et  s’il  est  accessible  en  écriture,  on  utilise  la  variable   suivante  :   String etat = Environment.getExternalStorageState();   Cette  variable  etat  est  une  chaîne  de  caractère  qui  contient  l’état  du  support  externe.     -­‐‑ Si  etat  est  égale  à  Environment.MEDIA_MOUNTED alors  le  support  externe  existe,  est  monté  et  accessible  en  lecture   et  écriture.   -­‐‑ Si  etat  est  égale  à   Environment.MEDIA_MOUNTED_READ_ONLY", alors  le  support  externe  existe,  est  monté  mais  est   accessible  en  lecture  seulement.   Ainsi,  pour  tester  l’état  du  support  externe,  on  peut  exécuter  le  code  suivant  :   boolean stockageExiste = false; boolean stockageEcriture= false; String etat = Environment.getExternalStorageState(); if (Environment.MEDIA_MOUNTED.equals(etat)) { // Le support de stockage est accessible en lecture et écriture stockageExiste = stockageEcriture= true; } else if (Environment.MEDIA_MOUNTED_READ_ONLY.equals(etat)) { // Le support de stockage est accessible en lecture seulement stockageExiste = true; stockageEcriture= false; } else { // Le support de stockage n’est pas accessible stockageExiste = stockageEcriture= false; } MME.  LILIA  SFAXI                  2011/2012  
  • 7. TP4  :  Stockage  de  données     6       TAF-­‐‑5  :    Dans  l’application  Stockage,  créer  une  fonction  qui  s’appelle  mediaOK,  qui  retourne  true  si  la  carte  SD  existe  et  est   accessible  en  lecture  et  écriture,  et  false  sinon.     II.  3. Lecture  d’un  fichier  dans  le  support  de  stockage  externe   Pour  accéder  à  un  fichier  dans  un  support  externe,  on  utilise  le  code  suivant  :   // accéder au répertoire par défaut du support externe File directory = Environment.getExternalStorageDirectory(); // Accès au fichier File file = new File(directory + "/nom_du_fichier"); // Tester si le fichier désiré existe, sinon, un Toast affiche un message d’erreur if (!file.exists()) { Toast.makeText(this, "Fichier n’existe pas dans la carte SD", 1000).show(); }else{ // Si le fichier existe try { // Créer un BufferedReader pour parcourir le fichier en lecture BufferedReader br = new BufferedReader(new FileReader(file)); // Stocker le contenu du fichier dans un buffer String line; StringBuffer buffer = new StringBuffer(); while ((line = br.readLine()) != null) { buffer.append(line); } // Fermer le fichier br.close(); } catch (Exception e) { Toast.makeText(this, e.getMessage(), Toast.LENGTH_LONG).show(); } } TAF-­‐‑6  :    Ajouter  un  autre  bouton  dans  l’application  stockage  appelé  Lire  Externe.  Ce  bouton  permet  de  lire  le  contenu  du   fichier  chaine.txt  qui  se  trouve  dans  votre  carte  SD,  et  de  l’afficher  dans  un  Toast.   II.  4. Création  ou  modification  d’un  fichier  dans  un  support  externe   Pour  modifier  un  fichier  dans  le  support  de  stockage  externe,  il  faut  tout  d’abord  ajouter  la  ligne  suivante  dans  le   fichier  AndroidManifest  :   <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>     Ensuite,   utiliser   les   lignes   suivantes   dans   le   code   de   l’application,   pour   les   mêmes   variables   directory   et   file   que   précédemment  :   MME.  LILIA  SFAXI                  2011/2012  
  • 8. TP4  :  Stockage  de  données     7       try { // ouvrir le fichier en écriture BufferedWriter bw = new BufferedWriter(new FileWriter(file)); // écrire la chaine bw.write("chaine_a_ecrire"); // fermer le fichier bw.close(); } catch (Exception e) { Toast.makeText(this, e.getMessage(), 2000).show(); } Remarque  :  Si  vous  désirez  ajouter  le  texte  à  la  fin  du  fichier,  il  faut  remplacer  new FileWriter(file) par  :   new FileWriter(file, true); Le  deuxième  paramètre  du  constructeur  détermine  si  la  chaîne  est  concaténée  (true)   ou  si  le  contenu  est  écrasé  (false).     TAF-­‐‑7  :     Ajouter   un   autre   bouton   dans   l’application   stockage   appelé   Ecrire   Externe.   Ce   bouton   permet   de   stocker   le   contenu  du  champs  de  saisie  dans  le  fichier  chaine.txt.   III. Homework   Créer  deux  applications  qui  partagent  un  fichier  resultat.txt  qui  se  trouve  dans  la  carte  SD  :   -­‐‑ La  première  application  SommeFichiers  contient  un  champs  de  saisie  txt  et  deux  boutons  ajouter  et  afficherListe.   Elle  permet  de  :   o Saisir  un  entier  à  partir  du  champs  txt.   o Le  clic  sur  ajouter  permet  de  :    Ajouter   le   contenu   de   txt   à   la   fin   d’un   fichier   interne   appelé  entiers   (chaque   nouvelle   entrée   sera  séparée  par  une  virgule  de  l’entrée  précédente)    Lire  le  contenu  du  fichier  resultat.txt     • Si  ce  fichier  est  vide  ou  n’existe  pas,  le  créer  et  y  mettre  le  contenu  de  txt   • Sinon,  faire  la  somme  de  l’entier  dans  le  fichier  resultat.txt  avec  l’entier  entré  dans  txt,   puis  stocker  le  résultat  dans  le  fichier  resultat.txt  (l’ancienne  valeur  sera  écrasée).   o Le  clic  sur  afficherListe  permet  d’afficher  dans  un  Toast  le  contenu  du  fichier  interne  entiers.     -­‐‑ La  deuxième  application  VerifierFichiers  contient  deux  boutons  :   o Un  bouton  afficherListe  qui  affiche  dans  un  Toast  le  contenu  du  fichier  entiers   o Un  bouton  afficherResultat  qui  affiche  dans  un  Toast  le  contenu  du  fichier  resultat.txt   Remarque  :   -­‐‑  Pour  convertir  une  chaîne  en  entier  :   int  valeur  =  Integer.valueOf(chaine)  ;   -­‐‑  Pour  convertir  un  entier  en  chaîne  :     String  chaine  =  String.valueOf(valeur)  ;   MME.  LILIA  SFAXI                  2011/2012