para - herramientas de android studio pdf
Android obtiene el directorio de datos ''Home'' de la aplicaciĆ³n (3)
Una pregunta simple, relacionada con el directorio ''de inicio'' predeterminado cuando una aplicación escribe en la memoria interna. Por defecto, todos los archivos creados son colocados por el SO (2.2) en:
/data/data/your.package/files
Al leer en archivos, se usa el mismo valor predeterminado, cuando se mantiene en el contexto adecuado a través de openFileInput()
, openFileOutput()
. Pero si necesito verificar la existencia del archivo, por ejemplo, usando la clase Archivo, debo especificar la ruta completa en el constructor.
Veo que hay Environment.getDataDirectory()
(devuelve /data
), Environment.getRootDirectory()
(devuelve /system
), etc., pero nada relacionado con obtener el directorio ''home'' de la aplicación.
No es un gran problema, pero preferiría no codificar la ruta completa en mi Aplicación para usar (por ejemplo, el nombre del paquete cambia, la ruta cambia en una versión futura del sistema operativo) si hay alguna forma de hacer referencia a Directorio de inicio de la aplicación programáticamente.
Para obtener la ruta del archivo en el paquete de la aplicación;
ContextWrapper c = new ContextWrapper(this);
Toast.makeText(this, c.getFilesDir().getPath(), Toast.LENGTH_LONG).show();
Por supuesto, nunca falla. Encontré la solución un minuto después de publicar la pregunta anterior ... solución para aquellos que pueden haber tenido el mismo problema:
ContextWrapper.getFilesDir()
Encontrado here
Puede probar Context.getApplicationInfo().dataDir
si desea la carpeta de datos persistentes del paquete.
getFilesDir()
devuelve una subrot de esto.