without studio getpath getfilesdir getexternalstoragedirectory getdownloadcachedirectory context android

android - studio - getFilesDir() vs Environment.getDataDirectory()



getfilesdir without context (4)

Esta pregunta ya tiene una respuesta aquí:

Quiero reemplazar un método de contexto con la variable de entorno.
Pero no estoy seguro si significan lo mismo.

Cuál es la diferencia entre

getFilesDir() y Environment.getDataDirectory() ?

¿Cómo puedo obtener data/data como una de data/data/com.Myapp usando Environment Variable ?


De HERE y de HERE

Archivo público getFilesDir ()

Devuelve la ruta absoluta al directorio en el sistema de archivos donde se almacenan los archivos creados con openFileOutput(String, int) .

Archivo estático público getExternalStorageDirectory ()

Devuelve el directorio de almacenamiento externo primario. Es posible que actualmente no se pueda acceder a este directorio si el usuario lo montó en su computadora, lo eliminó del dispositivo o si ocurrió algún otro problema. Puede determinar su estado actual con getExternalStorageState() .

Nota: no se confunda con la palabra "externa" aquí. Este directorio puede pensarse mejor como medio / almacenamiento compartido. Es un sistema de archivos que puede contener una cantidad relativamente grande de datos y que se comparte en todas las aplicaciones (no impone permisos). Tradicionalmente, esta es una tarjeta SD, pero también puede implementarse como almacenamiento incorporado en un dispositivo que es distinto del almacenamiento interno protegido y puede montarse como un sistema de archivos en una computadora.

En dispositivos con múltiples usuarios (según lo descrito por UserManager), cada usuario tiene su propio almacenamiento externo aislado. Las aplicaciones solo tienen acceso al almacenamiento externo para el usuario con el que se ejecutan.

Si desea obtener la ruta de su aplicación, use getFilesDir() que le dará la ruta /data/data/your package/files

Puede obtener la ruta utilizando la var. De Environment de sus data/package utilizando la

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, debe 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


Prueba esto

getExternalFilesDir(Environment.getDataDirectory().getAbsolutePath()).getAbsolutePath()


HERE devuelve el directorio de datos del usuario . Y HERE devuelve el directorio de datos de la aplicación .


HERE

Devuelve la ruta absoluta al directorio en el sistema de archivos donde se almacenan los archivos creados con openFileOutput (String, int).

HERE

Devuelve el directorio de datos del usuario.