2

我理解这个问题非常相似:Android 上的 getDir 和 getFilesDir 有什么区别?

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

对于目录,我应该只使用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没有在某个api之后将内部存储(非sdcard)称为“外部”存储等级?

4

1 回答 1

7

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

getFilesDir()会很好地工作。

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

永远不要对目录进行硬编码。

这会让我的应用程序私有化吗?

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

我不知道 有什么真正好的用途getDir(),我不推荐它。

因为Android不是在某个api级别之后将内部存储(非SD卡)称为“外部”存储吗?

外部存储在 Android 1.0 之前就已经存在。

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

我知道您拥有的一本书中:-),您将在“资产、文件和数据解析”一章中找到有关内部和外部存储的更多详细信息。

于 2013-08-14T17:11:59.153 回答