Android Récupère le répertoire de données de l’application ‘Home’

Une question simple, relative au répertoire ‘home’ par défaut lorsqu’une application écrit dans la mémoire interne. Par défaut, tous les fichiers créés sont placés par le système d’exploitation (2.2) dans:

/data/data/your.package/files 

Lors de la lecture dans des fichiers, la même valeur par défaut est utilisée lors de la conservation du contexte via openFileInput() , openFileOutput() . Mais si j’ai besoin de vérifier l’existence d’un fichier, par exemple, en utilisant la classe File, je dois spécifier le chemin complet dans le constructeur.

Je vois qu’il y a Environment.getDataDirectory() (return /data ), Environment.getRootDirectory() (return /system ), etc., mais rien n’a trait à l’obtention du répertoire «home» de l’application.

Ce n’est pas une grosse affaire, mais je préfère ne pas coder en dur le chemin complet dans mon application pour que File utilise (disons que le nom du paquet change, que le chemin change dans une prochaine version du système d’exploitation) s’il existe un moyen de référencer le répertoire ‘home’ de l’application par programmation.

Bien sûr, ne rate jamais. J’ai trouvé la solution environ une minute après avoir publié la question ci-dessus … solution pour ceux qui avaient peut-être le même problème:

 ContextWrapper.getFilesDir() 

Trouvé ici .

Vous pouvez essayer Context.getApplicationInfo().dataDir si vous voulez le dossier de données persistant du package.

getFilesDir() retourne une sous-racine de ceci.

Pour obtenir le chemin du fichier dans le package de l’application;

 ContextWrapper c = new ContextWrapper(this); Toast.makeText(this, c.getFilesDir().getPath(), Toast.LENGTH_LONG).show();