Android 获取应用程序的 'Home' 数据目录

标签 android android-context home-directory

一个简单的问题,与应用写入内存时的默认“主”目录有关。默认情况下,创建的任何文件都由操作系统 (2.2) 放置在:

/data/data/your.package/files

读取文件时,使用相同的默认值,通过 openFileInput()openFileOutput() 保持适当的上下文。但是如果我需要检查文件是否存在,例如使用 File 类,我需要在构造函数中指定整个路径。

我看到有Environment.getDataDirectory()(返回/data),Environment.getRootDirectory()(返回/system) 等,但与获取应用的“主”目录无关。

这不是什么大不了的事,但如果有某种方式,我宁愿不要将完整路径硬编码到我的应用程序中以供文件使用(比如包名称更改,比如 future 操作系统版本中的路径更改)以编程方式引用应用程序的“主”目录。

最佳答案

当然,永远不会失败。在发布上述问题大约一分钟后找到了解决方案...对于可能遇到相同问题的人的解决方案:

ContextWrapper.getFilesDir()

找到 here .

关于Android 获取应用程序的 'Home' 数据目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4739374/

相关文章:

java - 按钮不起作用

java - 在Java中保存顺序数据

android - 从后台弹出时不调用 fragment 的 onResume()

java - 在android中,上下文什么时候不同于 "this"?

android - 为什么我们在 Android 中使用 Context 为其他类创建对象?

android - 将多模块 Android Intellij 项目移植到 Android Studio

android - 它是如何工作的 SQLiteOpenHelper 上下文

linux - 我如何在 Makefile 中获取用户名?

linux - 为什么我不能访问这个文件夹?

Java URI 类文件位置