2010-12-04 66 views
4

Après avoir installé beaucoup d'applications et en avoir construit quelques-unes moi-même, je suis sûr que beaucoup de gens se sont posés des questions à ce sujet. Si je regarde à travers ma carte SD, il semble absolument horrible, et c'est vraiment difficile de trouver des dossiers qui sont à moi pour mettre de la musique/vidéos/images entre tous les dossiers pour différentes applications.Yat-il une convention pour le stockage de carte SD Android?

Y at-il des conventions ici que nous, les développeurs, devrions essayer de placer leurs applications dans un seul dossier de base ou est-ce que Google a complètement oublié cela?

Répondre

6

De reference:

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

1

J'étendez la classe d'application dans mon application et ont les suivantes ...

protected static File myAppDir = null; 

Puis, en onCreate() (dans l'application) ...

if (myAppDir == null) 
    myAppDir = new File(getExternalFilesDir(null).getAbsolutePath()); 

Cela crée automatiquement/mnt/sdcard/Android/data/com.mycompany.myApp/fichiers s'il n'existe pas. Vous pouvez fournir d'autres paramètres que 'null' à getExternalFilesDir() pour des choses comme des images, des vidéos, etc.