09.02.2017 Views

creez-des-applications-pour-android

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

4.3 Le stockage de données<br />

String userName = "Apollidore" ;<br />

try {<br />

output = openFileOutput(PRENOM, MODE_PRIVATE);<br />

output.write(userName.getBytes());<br />

if(output != null)<br />

output.close();<br />

} catch (FileNotFoundException e) {<br />

e.printStackTrace();<br />

} catch (IOException e) {<br />

e.printStackTrace();<br />

}<br />

De manière analogue, on peut retrouver un fichier dans lequel lire à l’aide de la méthode<br />

FileInputStream openFileInput (String name).<br />

[[attention]] | N’essayez pas d’insérer <strong>des</strong> « / » ou <strong>des</strong> « » <strong>pour</strong> mettre vos fichiers dans un<br />

autre répertoire, sinon les métho<strong>des</strong> renverront une exception.<br />

Ensuite, il existe quelques métho<strong>des</strong> qui permettent de manipuler les fichiers au sein de cet emplacement<br />

interne, afin d’avoir un peu plus de contrôle. Déjà, <strong>pour</strong> retrouver cet emplacement,<br />

il suffit d’utiliser la méthode File getFilesDir(). Pour supprimer un fichier, on peut faire<br />

appel à boolean deleteFile(String name) et <strong>pour</strong> récupérer une liste <strong>des</strong> fichiers créés par<br />

l’application, on emploie String[] fileList().<br />

4.3.2.2.1 Travailler avec le cache Les fichiers normaux ne sont supprimés que si quelqu’un<br />

le fait, que ce soit vous ou l’utilisateur. A contrario, les fichiers sauvegardés avec le cache peuvent<br />

aussi être supprimés par le système d’exploitation afin de libérer de l’espace. C’est un avantage,<br />

<strong>pour</strong> les fichiers qu’on ne veut garder que temporairement.<br />

Pour écrire dans le cache, il suffit d’utiliser la méthode File getCacheDir() <strong>pour</strong> récupérer le<br />

répertoire à manipuler. De manière générale, on évite d’utiliser trop d’espace dans le cache, il<br />

s’agit vraiment d’un espace temporaire de stockage <strong>pour</strong> petits fichiers.<br />

[[attention]] | Ne vous attendez pas forcément à ce qu’Android supprime les fichiers, il ne le fera<br />

que quand il en aura besoin, il n’y a pas de manière de prédire ce comportement.<br />

4.3.2.3 En externe<br />

Le problème avec le stockage externe, c’est qu’il n’existe aucune garantie que vos fichiers soient<br />

présents. L’utilisateur <strong>pour</strong>ra les avoir supprimés ou avoir enlevé le périphérique de son emplacement.<br />

Cependant, cette fois la taille disponible de stockage est au rendez-vous ! Enfin, quand<br />

nous parlons de périphérique externe, nous parlons principalement d’une carte SD, d’une clé<br />

USB… ou encore d’un ordinateur !<br />

[[attention]] | Pour écrire sur un périphérique externe, il vous faudra ajouter la permission<br />

WRITE_EXTERNAL_STORAGE. Pour ce faire, il faut rajouter la ligne suivante à votre Manifest :<br />

.<br />

Tout d’abord, <strong>pour</strong> vérifier que vous avez bien accès à la mémoire externe, vous pouvez<br />

utiliser la méthode statique String Environment.getExternalStorageState(). La<br />

285

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!