Android 存储用户可访问的配置文件的最佳位置

Android 存储用户可访问的配置文件的最佳位置,android,configuration,preferences,configuration-files,Android,Configuration,Preferences,Configuration Files,我有一个项目,包括四个不同平台的程序;它们都使用相同的基于XML的设置文件格式。我希望能够在应用程序之外手动修改/覆盖它。在Windows、Windows Mobile和Linux上,我使用的是“user.home”,但在Android上没有实现这个别名。我正在考虑把它放在下载目录中,但是,这感觉不对 我不是唯一一个需要这种功能的人。或者这不是Android的方式?如有任何建议,我们将不胜感激 编辑:我同意设置文件并非一直可用(即SD卡已移除),它仅在应用程序启动时使用。将其存储在中。只有当设备

我有一个项目,包括四个不同平台的程序;它们都使用相同的基于XML的设置文件格式。我希望能够在应用程序之外手动修改/覆盖它。在Windows、Windows Mobile和Linux上,我使用的是“user.home”,但在Android上没有实现这个别名。我正在考虑把它放在下载目录中,但是,这感觉不对

我不是唯一一个需要这种功能的人。或者这不是Android的方式?如有任何建议,我们将不胜感激

编辑:我同意设置文件并非一直可用(即SD卡已移除),它仅在应用程序启动时使用。

将其存储在中。只有当设备有外部存储器时,这才有效。用户将能够访问它

但是,请注意文档中的以下内容:

外部文件并不总是可用的:如果 用户在计算机上装载或删除外部存储器。见 用于存储状态信息的环境API

根据需要,您有5种选择:

  • 共享偏好。默认情况下,这将使用文件
    /data/data/your.package.name/preferences/user\u preferences.xml
  • 内部存储。在这里,您可以使用类似于
    /data/data/you.package.name/user.home
  • 外部存储。类似于内部存储
    /mnt/sdcard/Android/data/your.package.name/user.home
    ,但如果用户删除存储卡,文件将无法访问
  • SQLiteDatabase。您可以将整个
    user.home
    文件存储在数据库blob中
  • 网络连接。在云中存储用户的配置

  • 谢谢,看到了,但我不确定这意味着什么:
    这些文件对于应用程序是私有的,并且通常不作为媒体对用户可见。我无法测试它,因为我现在没有真正的设备。@MyFaJoArCo这句话意味着这些目录中的媒体文件通常不会通过Gallery之类的应用程序显示给用户。我已经在设备上验证了用户可以访问这些文件。在我的设备上,外部文件目录是:
    /mnt/sdcard/Android/your.package.name/files/
    感谢您的澄清!1、2和4-用户无法访问非根设备上的这些文件夹(对吗?)。此外,4不是一个选项,因为这对配置文件来说是一个过度的杀伤力,而5是不可接受的,因为不能保证internet访问。3-这是标准位置吗?如果是这样的话-我能从计算机(在连接的设备上)浏览它吗?算出:
    保存到外部存储器的文件是全世界可读的,当用户启用USB大容量存储器在计算机上传输文件时可以修改。
    。这是一个很长的列表,OP需要一个用户可访问的文件。唯一的选择是选择3。。。