Pau*_*ega 50 android home-directory android-context
一个简单的问题,与应用程序写入内部存储器时的默认"主页"目录有关.默认情况下,创建的所有文件都由OS(2.2)放置在:
/data/data/your.package/files
Run Code Online (Sandbox Code Playgroud)
在读取文件时,使用相同的默认值,通过openFileInput(),保持适当的上下文openFileOutput().但是如果我需要检查文件存在,例如,使用File类,我需要在构造函数中指定整个路径.
我看到有Environment.getDataDirectory()(返回/data),Environment.getRootDirectory()(返回/system)等,但没有任何东西与获取应用程序的'home'目录有关.
这不是一个大问题,但我宁愿不硬编码我的App for File使用的完整路径(比如包名称更改,比如未来操作系统版本中的路径更改),如果有某种方法可以引用应用程序的"主页"目录以编程方式.
Pau*_*ega 94
当然,永远不会失败.在发布上述问题后约一分钟找到解决方案...解决方案可能有同样的问题:
ContextWrapper.getFilesDir()
Run Code Online (Sandbox Code Playgroud)
在这里找到.
Lea*_* ES 35
Context.getApplicationInfo().dataDir
如果需要包的持久数据文件夹,可以尝试.
getFilesDir() 返回此子根.
Ali*_*ran 14
获取应用程序包中的文件路径;
ContextWrapper c = new ContextWrapper(this);
Toast.makeText(this, c.getFilesDir().getPath(), Toast.LENGTH_LONG).show();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
108627 次 |
| 最近记录: |