我理解这个问题非常相似:What is the difference between getDir and getFilesDir on Android?
但是,当我只想将文件保存在私人数据中时,我仍然不确定要使用什么。
对于目录,我应该使用data/data/com.test.myapp
吗?这会使我的应用程序变得私密吗?
// Gets the absolute path to the filesystem directory where your internal files are saved.
getFilesDir()
// Creates (or opens an existing) directory within your internal storage space.
getDir()
我也试过阅读一些commonsware开源项目,但我想我对整个getExternalFilesDir()
更加困惑,因为Android没有将内部存储(非sdcard)称为某个api级别后的“外部”存储?
答案 0 :(得分:6)
当我只想将文件保存在私人数据中时,我仍然不确定要使用什么
getFilesDir()
可以很好地运作。
对于目录,我应该只使用data / data / com.test.myapp吗?
永远不要硬编码目录。
这会使我的应用程序变得私密吗?
getFilesDir()
对您的应用程序是私有的(例外:已植根其设备并以超级用户权限运行应用程序的用户)
我不知道getDir()
有什么好用,我也不推荐。
因为Android在某个api级别之后没有将内部存储(非sdcard)称为“外部”存储?
自Android 1.0之前就存在外部存储。
内部存储大致意味着“对您的应用私有”(除非您采取特定步骤将其设为非私有)。外部存储大致意味着“对用户和其他应用程序可见”。
在a book that I know that you own :-)中,您可以在“资产,文件和数据解析”一章中找到有关内部和外部存储的更多详细信息。