alitaha89/DataStorageAndroid
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Stockage de données sous Android ================================ 1-Stockage des données temporaires d'une activité 2-Stockage des données persistantes a- préférences (couples de clé-valeur ou Shared Preferences) b- Fichiers internes c- Fichiers externes (usb, card memorie …) d- Cache file e- Online file (sur mon propre server) f- Base de données SQLite3 g-Cloud server (Drop box, Box, Google Cloud …) 1-Stockage des données temporaires d'une activité Une activité peut être détruite : – En cas de changement de l’orientation de l'écran – En cas de l’ insuffisance de mémoire centrale Avant destruction, sauvegarde manuelle des structures de données temporaires utiles ,et restauration de l'état de l'activité lors de la réinstantiation. – onSaveInstanceState(Bundle outState) : sauvegarde des données – onCreate(Bundle state) : restauration des données 2.a- Préférences Dans toutes applications, il est souvent nécessaire d'utiliser des variables qui doivent être gardé en mémoire même suite à une fermeture. La solution des SharedPreferences est la plus simple a implémenté. – getSharedPreferences(String Preferences_name, int mode) récupère les préférences du nom de l'activité courante – Plusieurs applications peuvent accéder aux mêmes préférences si mode = MODE_WORLD_READABLE ou MODE_WORLD_WRITABLE Pour récupérer une valeur: getString(int resId, Object... formatArgs) Pour Modifier une valuer: – en obtenant l'éditeur (edit()) sur lequel on réalise des opérations putX(String key, X value) – en validant atomiquement les changements avec commit() Possibilité d'ajouter un listener appelé lors de la modification d'une entrée :registerOnSharedPreferenceChangeListener(); 2.b- Fichiers internes Chaque application dispose d'un répertoire réservé pour stocker ses fichiers (noms de fichier en UTF-8) récupérable avec File Context.getFilesDir() (ce répertoire est détruit lors de la désinstallation de l'application). Le système de fichiers interne peut être chiffré à l'aide du mot de passe de déverrouillage Opérations : – FileInputStream openFileInput(String name) – FileOutputStream openFileOutput(String name, int mode) – File delete() – String[] fileList() : liste des fichiers privés sauvés par l'application Modes de création de fichier et répertoire (combinables par ou binaire) : – MODE_PRIVATE : accessibilité réservée à l'application (ou d'autres applications avec le même user ID) – MODE_APPEND : ajout en fin de fichier (par défaut écrasement du fichier) – MODE_WORLD_{READABLE, WRITABLE} : accessibilité en lecture, écriture pour toutes les applications. 2.c- Fichiers externe Les fichiers sur support externes sont toujours publics et non chiffrés. d- Cache file Utile pour y stocker des données temporaires (issues de calculs, de récupération de données sur Internet...),Les données stockées peuvent être effacées par le système en cas de désinstallation de l'application, cas de pénurie de mémoire de stockage,l’application nécessité d'être raisonnable pour l'espace utilisé par le cache (partage par toutes les applications) 2.e- Online file On peut utilise le réseau (quand il est disponible) pour stocker et récupérer des données sur le Web. 2.f- Base de données SQLite3 SQLite est un système de base de données qui a la particularité de fonctionner sans serveur, on dit aussi "standalone" ou "base de données embarquée" -Création de table avec CREATE TABLE : CREATE TABLE IF NOT EXISTS datastore(id INTEGER PRIMARY KEY, text TEXT) ; -Effacement de table avec DROP TABLE :DROP TABLE datastore -Insertion avec SQLiteDatabase.insert(String table, String nullColumnHack, ContentValues values) *ContentValues est une sorte de Map où les valeurs des colonnes sont insérées avec put(String key, X value) - Mise à jour : int SQLiteDatabase.update(String table,ContentValues values, String whereClause, String[] whereArgs) -Suppression : SQLiteDatabase.delete(String table, String whereClause, String[] whereArgs) 2.g-Cloud server (Drop box, Box, Google Cloud …) Le Cloud computing est un concept de déportation sur des serveurs distants des traitements informatiques traditionnellement localisés sur le poste utilisateur tutorial: https://www.dropbox.com/developers/datastore/tutorial/android refernces: -www.github.com -www.stackoverflow.com -www.androidhive.info -www.youtube.com/mybringback -universite paris-est -www.dropbox.com -www.finalclap.com -www.android-dev.fr -www.developer.android.com
About
Tutorial for data storage with android (local and remote)
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published