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 />

On a sélectionné « Vert », ce qui signifie que la valeur enregistrée sera green.<br />

4.3.1.2.2 Étape 2 : dans le Manifest Pour recevoir cette nouvelle interface graphique,<br />

nous avons besoin d’une activité. Il nous faut donc la déclarer dans le Manifest si on veut pouvoir<br />

y accéder avec les intents. Cette activité sera déclarée comme n’importe quelle activité :<br />

<br />

<br />

4.3.1.2.3 Étape 3 : en Java Notre activité sera en fait de type PreferenceActivity.<br />

On peut la traiter comme une activité classique, sauf qu’au lieu de lui assigner une interface<br />

graphique avec setContentView, on utilise void addPreferencesFromResource(int<br />

preferencesResId) en lui assignant notre layout :<br />

public void onCreate(Bundle savedInstanceState) {<br />

super.onCreate(savedInstanceState);<br />

addPreferencesFromResource(R.xml.preference);<br />

}<br />

4.3.2 Manipulation <strong>des</strong> fichiers<br />

On a déjà vu comment manipuler certains fichiers précis à l’aide <strong>des</strong> ressources, mais il existe<br />

aussi <strong>des</strong> cas de figure où il faudra prendre en compte d’autres fichiers, par exemple dans le cas<br />

d’un téléchargement ou de l’exploration de fichiers sur la carte SD d’un téléphone. En théorie,<br />

vous ne serez pas très dépaysés ici puisqu’on manipule en majorité les mêmes métho<strong>des</strong> qu’en<br />

Java. Il existe bien entendu quand même <strong>des</strong> différences.<br />

Il y a deux manières d’utiliser les fichiers : soit sur la mémoire interne du périphérique à un endroit<br />

bien spécifique, soit sur une mémoire externe (par exemple une carte SD). Dans tous les cas,<br />

on part toujours du Context <strong>pour</strong> manipuler <strong>des</strong> fichiers.<br />

4.3.2.1 Rappels sur l’écriture et la lecture de fichiers<br />

Ce n’est pas un sujet forcément évident en Java puisqu’il existe beaucoup de métho<strong>des</strong> qui permettent<br />

d’écrire et de lire <strong>des</strong> fichiers en fonction de la situation.<br />

Le cas le plus simple est de manipuler <strong>des</strong> flux d’octets, ce qui nécessite <strong>des</strong> objets de type<br />

FileInputStream <strong>pour</strong> lire un fichier et FileOutputStream <strong>pour</strong> écrire dans un fichier.<br />

La lecture s’effectue avec la méthode int read() et on écrit dans un fichier avec void<br />

write(byte[] b). Voici un programme très simple qui lit dans un fichier puis écrit dans<br />

un autre fichier :<br />

import java.io.FileInputStream;<br />

import java.io.FileOutputStream;<br />

import java.io.IOException;<br />

public class CopyBytes {<br />

283

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

Saved successfully!

Ooh no, something went wrong!