Android getFilesDir()vs getDir() - 我用什么来保存我的应用私有数据中的文件?

时间:2013-08-14 17:00:20

标签: java android

我理解这个问题非常相似: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级别后的“外部”存储?

1 个答案:

答案 0 :(得分:6)

  

当我只想将文件保存在私人数据中时,我仍然不确定要使用什么

getFilesDir()可以很好地运作。

  

对于目录,我应该只使用data / data / com.test.myapp吗?

永远不要硬编码目录。

  

这会使我的应用程序变得私密吗?

getFilesDir()对您的应用程序是私有的(例外:已植根其设备并以超级用户权限运行应用程序的用户)

我不知道getDir()有什么好用,我也不推荐。

  

因为Android在某个api级别之后没有将内部存储(非sdcard)称为“外部”存储?

自Android 1.0之前就存在外部存储。

内部存储大致意味着“对您的应用私有”(除非您采取特定步骤将其设为非私有)。外部存储大致意味着“对用户和其他应用程序可见”。

a book that I know that you own :-)中,您可以在“资产,文件和数据解析”一章中找到有关内部和外部存储的更多详细信息。