2011-08-26 7 views
1

Mon ami et moi tentons de créer une application qui enregistre des fichiers sur un périphérique. Nous avons utilisé ce code pour écrire sur une carte SD externe, et cela fonctionne très bien sur son Droid X et Samsung Galaxy Tab.Enregistrement sur un périphérique sans carte SD

Obtenez le chemin vers la carte SD:

private static final File ROOT = Environment.getExternalStorageDirectory(); 

Créer le chemin du dossier et les fichiers:

FileWriter fw = new FileWriter(ROOT + "/test/" + "time_frames.txt"); 

nous utilisons l'usine de documents pour créer les documents

afin que vous puissiez voir que nous créons le chemin, puis essayons d'enregistrer dans le chemin qui vient d'être créé

File file = new File(ROOT + "/test/" + "time_frames.txt"); 

Lorsque je l'exécute sur mon Nexus S (qui n'a pas de carte SD) a des problèmes avec exactement le même code.

private static final File ROOTtest = Environment.getExternalStorageDirectory(); 

cela renvoie/données

private static final File ROOT = Environment.getRootDirectory(); 

ce retour/mnt/sdcard

private static final File intData = Environment.getDataDirectory(); 

ce rendement/système

ma question est que l'un de ces fonctionnera pour les appareils qui ont des cartes SD et pas de cartes SD? J'ai beaucoup essayé, mais essayer toutes ces choses m'a vraiment perturbé. Merci d'avance

+0

*** PLUS *** Je pense que la raison pour laquelle il ne fonctionne pas est que pour une raison quelconque, nous n'appelons pas le stockage sur le Nexus S correctement. C'est pourquoi j'expérimentais avec différents endroits. – zach

Répondre

6

Environment.getExternalStorageDirectory() Renvoie le chemin d'accès au stockage externe, il devrait fonctionner sur tous les périphériques. Qu'ils aient une carte SD réelle n'a pas d'importance, et votre code ne devrait pas non plus s'en soucier. Vous devez vous assurer que le stockage externe est disponible avant d'essayer de l'utiliser, car il peut être démonté à tout moment.

+2

J'ai le même problème, et cette réponse n'a pas du tout répondu à la question – AbdelHady

+0

Et comment le développeur devrait-il prendre soin de son état? – FlashTek

Questions connexes