Diff entre getExternalFilesDir et getExternalStorageDirectory()
Je comprends que ExternalFiles est pour être utilisé sur des API de 8 et getExternalStorageDirectory est pour 7 et vers le bas. Cependant, je suis un peu confus entre l'utilisation. Par exemple, je voulais vérifier qu'un dossier qui existe et déjà vous utilisez quelque chose comme:
File ChildFolder = new File(Environment.getExternalStorageDirectory() + "/ParentFolder/Child");
Cependant chaque exemple je vois, dit d'utiliser getExternalFilesDir (null), Fichier.ext. Depuis que je suis au-dessus de l'API 8 je veux utiliser cette méthode, mais comment dois-je viens de vérifier pour un dossier? Je vais vérifier pour les fichiers existence à un autre point, mais pour l'instant, simplement pour voir si les dossiers existent??
TIA
JB
Vous devez vous connecter pour publier un commentaire.
Il retourne le chemin d'accès à fichiers dossier à l'intérieur Android/data/data/your_package/ sur votre carte SD. Il est utilisé pour stocker tous les fichiers requis pour votre application (par exemple, les images téléchargées à partir du web ou des fichiers de cache). Une fois que l'application est désinstallée, toutes les données stockées dans ce dossier est allé trop.
Il renvoie le chemin d'accès racine de votre carte SD (e.g mnt/sdcard/). Si vous enregistrez des données sur ce chemin et la désinstallation de l'application, que les données ne seront pas perdues.
getExternalFilesDir()
supprimés lors du montage de l'appareil comme un Disque de Stockage?getExternalStorageDirectory()
n' ce n'est pas nécessairement -- peut-être même habituellement pas -- retourner le chemin d'accès à votre carte SD." Au lieu de cela, elle renvoie la "primaire externe répertoire de stockage". Les docs (developer.android.com/reference/android/os/...) dire:Tout d'abord, nous avons besoin de comprendre quelle est la différence entre l'Interne de Stockage, de Stockage Externe (aka primaire de stockage externe) et Secondaire de Stockage Externe?
De Stockage interne: est un service de stockage qui n'est pas accessible par l'utilisateur, sauf via les applications installées (ou par l'enracinement de leur appareil). Exemple: data/data/app_packageName
Primaire de Stockage Externe: construit Dans le stockage partagé qui est "accessible par l'utilisateur en branchant un câble USB et le monter comme un disque sur un ordinateur hôte". Exemple: Quand nous disons Nexus 5 32 GO.
Secondaire de Stockage Externe: de stockage Amovible. Exemple: Carte SD.
Il retourne le chemin d'accès aux fichiers d'un dossier à l'intérieur Android/data/data/your_package/primaire de stockage externe. Ce qui est stockage intégré.
Il sera de retour le chemin du secondaire de stockage externe répertoire
File getExternalStoragePublicDirectory (String type)
etFile getFilesDir ()
ainsi! MISE À JOUR IMPORTANTE ! pour celui qui vient à travers cette question.
Que c'est un peu vieille question voulais juste apporter quelques précisions. Depuis KitKat, même les apps qui ont WRITE_EXTERNAL_STORAGE autorisation sont seulement permis à écrire à Android/data/data/your_package/ sur le stockage externe, un.k.un
getExternalFilesDir()
Si vous essayez d'écrire à
getExternalStorageDirectory() + "/somefolder/anotherfolder/"
vous obtiendrez une SecurityException sur la plupart des appareils