getFilesDir() 与 Environment.getDataDirectory() [重复]

2024-01-20

我想用环境变量替换一种上下文方法。
但不确定它们的意思是否相同。

有什么区别

getFilesDir() and Environment.getDataDirectory() ?

我怎样才能得到data\data作为来自data\data\com.Myapp using Environment Variable?


来自HERE http://developer.android.com/reference/android/content/ContextWrapper.html#getFilesDir%28%29 and HERE http://developer.android.com/reference/android/os/Environment.html#getDataDirectory%28%29

公共文件 getFilesDir ()

返回文件系统上使用以下命令创建的文件所在目录的绝对路径openFileOutput(String, int)被存储。

公共静态文件获取外部存储目录()

返回主要外部存储目录。如果用户已将其安装在计算机上、已从设备中删除或发生了其他问题,则当前可能无法访问此目录。您可以通过以下方式确定其当前状态getExternalStorageState().

注意:不要对这里的“外部”一词感到困惑。该目录可以更好地被视为媒体/共享存储。它是一个可以容纳相对大量数据并且在所有应用程序之间共享的文件系统(不强制执行权限)。传统上,这是一张 SD 卡,但它也可以实现为设备中的内置存储,与受保护的内部存储不同,并且可以作为文件系统安装在计算机上。

在具有多个用户的设备上(如 UserManager 所描述),每个用户都有自己独立的外部存储。应用程序只能访问它们运行时的用户的外部存储。

如果您想获取应用程序路径,请使用getFilesDir()这会给你路径/data/data/your package/files

您可以使用以下命令获取路径Environment你的变量data/package使用

getExternalFilesDir(Environment.getDataDirectory().getAbsolutePath()).getAbsolutePath();这将返回外部存储根目录的路径,如下所示/storage/sdcard/Android/data/your pacakge/files/data

要访问外部资源,您必须提供以下权限WRITE_EXTERNAL_STORAGE and READ_EXTERNAL_STORAGE在你的清单中。

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>

查看获取目录路径的最佳文档 https://gist.github.com/granoeste/5574148

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

getFilesDir() 与 Environment.getDataDirectory() [重复] 的相关文章

随机推荐