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() 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.