P5 stockage

27
Stockage Shared Preferences, Stockage Interne/Externe, SQLite… Formation Mobile 27 Aout au 1 Septembre 2015 Dr. Lilia SFAXI www.liliasfaxi.wix.com/liliasfaxi Slide 1

Transcript of P5 stockage

Page 1: P5 stockage

Stockage Shared Preferences, Stockage Interne/Externe, SQLite…

Formation Mobile 27 Aout au 1 Septembre 2015

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 1

Page 2: P5 stockage

Options de Stockage

•  Plusieurs options de stockage pour sauvegarder des données persistantes

•  Le choix de la solution idéale dépend des besoins spécifiques: •  Si les données doivent être privées ou accessibles par d’autres applications •  Combien d’espace disponible est-il requis? •  Les données sont-elles structurées, semi-structurées ou pas structurées?

•  Les options de stockage sont les suivantes: •  Shared Preferences •  Stockage Interne •  Stockage Externe •  Bases de Données SQLite

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 2

Stockage

Page 3: P5 stockage

SHARED PREFERENCES Stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 3

Page 4: P5 stockage

Definition

•  Classe qui fournit un framework général qui permet de sauvegarder et extraire des paires clef-valeur persistantes de types primitifs

•  Il est possible d’utiliser les SharedPreferences pour sauvegarder des Booleans, Floats, Integers, Longs et Strings…

•  Les SharedPreferences sont typiquement utilisées pour sauvegarder les préférences utilisateur, tel que : quelle sonnerie l’utilisateur a-t-il choisi? •  Pour cela, utiliser une PreferenceActivity

•  Mais pas uniquement…

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 4

Shared Preferences

Page 5: P5 stockage

Utilisation

•  Pour lire un objet SharedPreferences, utiliser l’une de ces méthodes: •  getSharedPreferences: pour utiliser plusieurs fichiers de préférences

identifiés par nom •  getPreferences: pour utiliser un seul fichier de préférences, donc sans

définir un nom de fichier

•  Pour ajouter des valeurs: •  Appeler edit() pour obtenir un objet SharedPreferences.Editor •  Ajouter des valeurs avec des méthodes, tel que putBoolean() et putString() •  Valider les nouvelles valeurs avec commit()

•  Pour lire des valeurs, utiliser les méthodes de SharedPreferences tel que getBoolean() ou getString()…

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 5

Shared Preferences

Page 6: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 6

Shared Preferences

Page 7: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 7

Shared Preferences

Page 8: P5 stockage

INTERNAL STORAGE Stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 8

Page 9: P5 stockage

Usage

•  Il est possible d’utiliser le stockage interne de votre téléphone pour stocker des fichiers

•  Par défaut, les fichiers sauvegardés dans le stockage interne sont privés à l’application (inaccessibles à partir d’autres applications)

•  Quand l’utilisateur désinstalle l’application, les fichiers sont automatiquement supprimés

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 9

Internal Storage

Page 10: P5 stockage

Usage : Ecriture

•  Pour créer et écrire dans un fichier privé en stockage interne •  Appeler openFileOutput avec le nom du fichier et le mode opératoire

(retourne un FileOutputStream) •  Utiliser write() pour écrire dans le fichier •  Fermer le flux d’écriture avec close()

•  Les modes opératoires 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.

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 10

Internal Storage

Page 11: P5 stockage

Usage : Lecture

•  Pour lire le contenu d’un fichier interne: •  Appeler openFileInput avec le nom du fichier (retourne un

FileInputStream) •  Utiliser read() pour lire des bytes à partir du fichier •  Fermer le flux d’écriture avec close()

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 11

Internal Storage

Page 12: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 12

Stockage Interne Ecriture

Lecture

Page 13: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 13

Stockage Interne

1 2

Page 14: P5 stockage

Visualiser les Fichiers

Pour visualiser les fichiers de votre application, ouvrir le Android Device Monitor ( ) et choisir la tabulation File Explorer

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 14

Internal Storage

data/data/<app_name>/files

Page 15: P5 stockage

EXTERNAL STORAGE Stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 15

Page 16: P5 stockage

Usage

•  Tous les appareils compatibles Android supportent un espace de stockage externe •  Peut être une SD card, ou un espace interne non-amovible

•  Les fichiers sauvegardés dans un espace de stockage externe sont accessibles à toutes les applications en lecture

•  Ils peuvent être modifiés par l’utilisateur si le « USB mass storage » est activé pour transférer les fichiers sur un ordinateur

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 16

External Storage

Page 17: P5 stockage

Etapes d’Utilisation

1.  Pour lire ou écrire des fichiers sur le stockage externe, l’application doit avoir les permissions READ_EXTERNAL_STORAGE ou WRITE_EXTERNAL_STORAGE

2.  Vérifier la disponibilité du support de stockage grâce à la méthode getExternalStorageState

3.  Sauvegarder vos fichiers

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 17

External Storage

Page 18: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 18

Stockage Externe

Ecriture

Lecture

Page 19: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 19

Stockage Externe

Page 20: P5 stockage

BASE DE DONNÉES SQLITE Stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 20

Page 21: P5 stockage

SQLite

•  Android fournit un support total du SGBD SQLite •  SQLite est une bibliothèque logicielle qui implémente un

moteur de base de données SQL avec zéro-configuration, léger et sans dépendances externes

•  Toutes les bases de données créées dans une application seront accessibles par nom à travers toute cette application, mais pas de l’extérieur

•  La méthode recommandée pour la création d’une base de données SQLite d’utiliser une sous-classe de SQLiteOpenHelper

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 21

Base de Données SQLite

Page 22: P5 stockage

SQLiteOpenHelper

•  Classe d’assistance qui aide l’utilisateur à créer et manipuler sa base de données de manière simple

•  Étapes à suivre: •  Créer une classe qui hérite de SQLiteOpenHelper •  Créer la base de données et les tables nécessaires •  Implémenter les méthodes suivantes

•  Le constructeur •  onCreate: contient les opérations réalisées à la création de la base de

données •  onUpgrade: opérations réalisées quand la base fait un upgrade

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 22

Base de Données SQLite

Page 23: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 23

Base de Données SQLite : SQLiteOpenHelper

Page 24: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 24

Base de Données SQLite : SQLiteOpenHelper

Page 25: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 25

Base de Données SQLite : Activité

Page 26: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 26

SQLite

Page 27: P5 stockage

Dr. L i l i a SFAXI www. l i l i asfax i .wix .com /l i l i asfax i

S l ide 27

SQLite