Propriété de Albiri Sigue
customer 27921 at Fri Mar 11 19:19:45 +0100 2011
Chapitre 18
Accès aux fichiers 195
Comme nous le verrons au chapitre suivant, il existe évidemment des moyens encore plus
simples d’utiliser les fichiers XML contenus dans le paquetage d’une application : utiliser
une ressource XML, par exemple. Cependant, bien que cet exemple utilise XML, le fichier
aurait pu simplement contenir un mot par ligne ou utiliser un format non reconnu nativement
par le système de ressources d’Android.
Lire et écrire
Lire et écrire ses propres fichiers de données spécifiques est quasiment identique à ce que
l’on pourrait faire avec une application Java traditionnelle. La solution consiste à utiliser
les méthodes openFileInput() et openFileOutput() sur l’activité ou tout autre
Context afin d’obtenir, respectivement, un InputStream et un OutputStream. À partir de
là, le processus n’est pas beaucoup différent de celui des E/S Java classiques :
● On enveloppe ces flux selon les besoins, par exemple avec un InputStreamReader ou
un OutputStreamWriter si l’on souhaite effectuer des E/S en mode texte.
● On lit ou on écrit les données.
● On libère le flux avec close() lorsqu’on a terminé.
Deux applications qui essaient de lire en même temps un fichier notes.txt via openFileInput() accéderont chacune à leur propre édition du fichier. Si vous voulez qu’un
même fichier soit accessible à partir de plusieurs endroits, vous devrez sûrement créer un
fournisseur de contenu, comme on l’explique au Chapitre 28. Notez également qu’openFileInput() et openFileOutput() ne prennent pas en paramètre des chemins d’accès
(chemin/vers/fichier.txt, par exemple), mais uniquement des noms de fichiers.
Le code suivant, extrait du projet Files/ReadWrite, montre la disposition de l’éditeur de
texte le plus simple du monde :

android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical">
Précédent

- 210/391

Suivant