Android获取应用程序的“主页”数据目录
一个简单的问题,涉及应用程序写入内部存储器时的默认“主目录”目录。 默认情况下,所有创build的文件都由OS(2.2)放置在:
/data/data/your.package/files
当读取文件时,通过openFileInput()
, openFileOutput()
保持正确的上下文时,使用相同的默认值。 但是,如果我需要检查文件的存在,例如,使用File类,我需要在构造函数中指定整个path。
我看到有Environment.getDataDirectory()
(返回/data
), Environment.getRootDirectory()
(返回/system
)等,但没有关系到获取应用程序的“主目录”。
这不是一个大问题,但是我宁愿不要将完整path硬编码到我的应用程序文件中(如果有一些方法可以引用应用程序的“家”目录编程。
当然,永远不会失败。 对于那些可能有同样问题的人发布上述问题解决scheme后,大约一分钟后find解决scheme:
ContextWrapper.getFilesDir()
在这里find。
如果你想要包的持久数据文件夹,你可以尝试Context.getApplicationInfo().dataDir
。
getFilesDir()
返回这个的一个子根。
获取应用程序包中的文件path
ContextWrapper c = new ContextWrapper(this); Toast.makeText(this, c.getFilesDir().getPath(), Toast.LENGTH_LONG).show();