GetFilesDir () vs Environment.getDataDirectory ()
Quiero reemplazar un método de contexto con variable de entorno.
Pero no estoy seguro de si significan lo mismo.
Cuál es la diferencia entre
getFilesDir()
y Environment.getDataDirectory()
?
¿Cómo puedo obtener data\data
como un de data\data\com.Myapp
utilizando Environment Variable
?
Desde AQUÍ y AQUÍ
Public Archivo getFilesDir ()
Devuelve la ruta absoluta al directorio del sistema de archivos donde se almacenan los archivos creados con openFileOutput(String, int)
.
Public static Archivo getExternalStorageDirectory ()
Devuelve el directorio de almacenamiento externo primario. Es posible que este directorio no esté actualmente accesible si ha sido montado por el usuario en su equipo, si se ha eliminado del dispositivo o si ha ocurrido algún otro problema. Puede determinar su estado actual con getExternalStorageState()
.
Nota: no se confunda con la palabra "externo" aquí. Este directorio puede mejor ser pensado como medios / almacenamiento compartido. Es un sistema de archivos que puede contener una cantidad relativamente grande de datos y que se comparte entre todas las aplicaciones (no hace cumplir los permisos). Tradicionalmente se trata de una tarjeta SD, pero también se puede implementar como almacenamiento incorporado en un dispositivo que es distinto del almacenamiento interno protegido y se puede montar como un sistema de archivos en un equipo.
En los dispositivos con varios usuarios (como se describe por UserManager), cada usuario tiene su propio almacenamiento externo aislado. Las aplicaciones solo tienen acceso al almacenamiento externo para el usuario que están ejecutando.
Si desea obtener su ruta de la aplicación use getFilesDir()
que le dará ruta /data/data/your package/files
Puede obtener la ruta utilizando la var del Environment
de sus data/package
utilizando
getExternalFilesDir(Environment.getDataDirectory().getAbsolutePath()).getAbsolutePath();
Que devolverá la ruta desde el directorio raíz de su almacenamiento externo como /storage/sdcard/Android/data/your pacakge/files/data
Para acceder a los recursos externos tiene que proporcionar el permiso de WRITE_EXTERNAL_STORAGE
y READ_EXTERNAL_STORAGE
en su manifiesto.
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/> <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
Echa un vistazo a la mejor documentación para obtener los caminos de direcorty
Enironment devuelve el directorio de datos de usuario . Y getFilesDir devuelve el directorio de datos de la aplicación .
GetFilesDir ()
Devuelve la ruta absoluta al directorio del sistema de archivos donde se almacenan los archivos creados con openFileOutput (String, int).
Environment.getDataDirectory ()
Devolver el directorio de datos de usuario.
Prueba esto
getExternalFilesDir(Environment.getDataDirectory().getAbsolutePath()).getAbsolutePath()