2010-09-12 7 views
1

Mon application télécharge un fichier à partir d'un serveur et le stocke dans: /mnt/sdcard/Android/data/com.test/files. (le/mnt/sdcard est dérivé de Environment.getExternalStorageDirectory();)android emulator/eclipse supprime les fichiers d'application lors du redéploiement

Chaque fois que je redéployer l'application d'éclipse (menu d'exécution) à l'émulateur, il supprime le fichier. La case à cocher 'cible/effacer les données utilisateur' dans la configuration d'exécution n'est pas cochée. Je ferme tous les BufferedOutputStreams correctement donc je ne pense pas que ce soit mon application elle-même. Est-ce que j'utilise le bon répertoire pour le stockage de données persistant? (mes fichiers sont autour de 70-100M)

Des conseils?

+0

peut-être l'emplacement différent SDcard .. sont les fichiers marqués lisibles pour tout le monde ou juste l'application? –

Répondre

1

De l'getExternalStorageDirectory's doc:

applications ne doivent pas utiliser directement ce répertoire de haut niveau, afin d'éviter de polluer racine namespace de l'utilisateur. Tous les fichiers qui sont privés à l'application doivent être placés dans un répertoire retourné par Context.getExternalFilesDir, dont le système prendra soin de supprimer si l'application est désinstallée. Autres fichiers partagés doivent être placés dans un des répertoires retournés par getExternalStoragePublicDirectory (String).

Votre /mnt/sdcard/Android/data/com.test/files devrait être dans votre Context.getExternalFilesDir() et il est supprimé lorsque l'application est désinstallée. Com.test le nom de votre package d'application, n'est-ce pas?

Questions connexes