babazooka Posted November 30, 2011 Share Posted November 30, 2011 Bonjour, Je travaille sur un système de récupération et de traitement de données GPS, pour une de mes mises en oeuvre je doit simplement collecter les données et les enregistrer une par une dans un fichier texte qui sera consultable par la suite depuis l'ordinateur pour un traitement externe. Seulement voilà je n'arrive pas à écrire sur la carte SD. En simplifiant, voilà ce que j'ai essayé de faire: public void ecrire(String info) { String NOTES ="info.txt"; File file = new File(Environment.getExternalStorageDirectory(), NOTES); file.createNewFile(); e1.printStackTrace(); FileWriter filewriter = new FileWriter(file,false); filewriter.write(info); filewriter.close(); Toast.makeText(getApplicationContext(), "Données Sauvegardées",Toast.LENGTH_SHORT).show(); } Je précise que cette application est destinée à fonctionner sous android 2.3.3. Quote Link to comment Share on other sites More sharing options...
Sylvain-a Posted December 1, 2011 Share Posted December 1, 2011 (edited) Regarde du côté de FileOutputStream ;) Edited December 1, 2011 by Sylvain-a Quote Link to comment Share on other sites More sharing options...
chpil Posted December 1, 2011 Share Posted December 1, 2011 As-tu bien pensé à ajouter à ton AndroidManifest.xml la permission nécessaire pour pouvoir écrire sur la carte SD ? Quote Link to comment Share on other sites More sharing options...
babazooka Posted December 1, 2011 Author Share Posted December 1, 2011 (edited) @chpil merci bien, j'avais oublié la permission "WRITE_EXTERNAL_STORAGE", maintenant j'écris bien. Au passage si quelqu'un sait comment faire une pause car avec Thread.currentThread().sleep(5000); j'ai droit à des jolis freezes Edited December 1, 2011 by babazooka Quote Link to comment Share on other sites More sharing options...
chpil Posted December 1, 2011 Share Posted December 1, 2011 Met 'true' au lieu de 'false' en deuxième paramètre du constructeur de FileWriter, pour ajouter le contenu à la fin du fichier Quote Link to comment Share on other sites More sharing options...
babazooka Posted December 1, 2011 Author Share Posted December 1, 2011 @chpil, oui j'avais trouvé et j'ai modifié la question, seulement il y a du y avoir un problème avec ma connexion, la mise a jour du message ne s'est faite qu'a l'instant quand j'ai reconnecté mon portable. Enfin merci tout de même. Quote Link to comment Share on other sites More sharing options...
chpil Posted December 1, 2011 Share Posted December 1, 2011 En faisant un Thread.currentThread().sleep(), tu fais effectivement un sleep dans le thread principal, celui de l'IHM, et donc tu freezes toute ton IHM Que veux tu faire, en faire ? Qu'entends tu par faire une pause ? Quote Link to comment Share on other sites More sharing options...
Bribri54 Posted January 23, 2012 Share Posted January 23, 2012 (edited) bonjour, j'utilise FileOutputStream pour généré un fichier test.csv depuis mon application. Lorsque je lance l'application depuis l'émulateur je vois bien le fichier qui se crée dans data/data/com.monapplication/ Mais pas dans le mnt/sdcard. Quand j'éxécute mon appli sur ma tablette (Acer A500) le fichier se crée (je le sais via un toast), mais impoosible de savoir où. J'ai bien pensé dans sdcard/Android/data mais je n'ai pas de dossier com.mon application. J'ai bien la permission :WRITE_EXTERNAL_STORAGE dans mon Manifest. Voici mon code : public void ecrirefich2(){ try { FileOutputStream fos = monapplicationlActivity.this.openFileOutput("test.csv", Context.MODE_WORLD_READABLE|Context.MODE_WORLD_WRITEABLE); OutputStreamWriter writer = new OutputStreamWriter(fos); StringBuilder buffer = new StringBuilder(); String idPers = "ggg"; String nomPers = "iiii"; String prenomPers = "ttt"; String agePers = "125"; buffer.append(idPers); buffer.append(';'); buffer.append(nomPers); buffer.append(';'); buffer.append(prenomPers); buffer.append(';'); buffer.append(agePers); buffer.append("\n"); writer.write(buffer.toString()); writer.close(); fos.close(); Toast.makeText(monapplication.this, "Fichier généré avec succès", Toast.LENGTH_LONG).show(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } } }); } Merci si vous avez une idée,! Je pense que je vais créer un sujet dédié.... Bribri Edited January 23, 2012 by Bribri54 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.