babazooka Posté(e) 30 novembre 2011 Share Posté(e) 30 novembre 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Sylvain-a Posté(e) 1 décembre 2011 Share Posté(e) 1 décembre 2011 (modifié) Regarde du côté de FileOutputStream ;) Modifié 1 décembre 2011 par Sylvain-a Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 1 décembre 2011 Share Posté(e) 1 décembre 2011 As-tu bien pensé à ajouter à ton AndroidManifest.xml la permission nécessaire pour pouvoir écrire sur la carte SD ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
babazooka Posté(e) 1 décembre 2011 Auteur Share Posté(e) 1 décembre 2011 (modifié) @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 Modifié 1 décembre 2011 par babazooka Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 1 décembre 2011 Share Posté(e) 1 décembre 2011 Met 'true' au lieu de 'false' en deuxième paramètre du constructeur de FileWriter, pour ajouter le contenu à la fin du fichier Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
babazooka Posté(e) 1 décembre 2011 Auteur Share Posté(e) 1 décembre 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. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
chpil Posté(e) 1 décembre 2011 Share Posté(e) 1 décembre 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 ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Bribri54 Posté(e) 23 janvier 2012 Share Posté(e) 23 janvier 2012 (modifié) 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 Modifié 23 janvier 2012 par Bribri54 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.