我的跨平台FireMonkey应用程序应该在哪里存储其设置?

时间:2015-07-06 12:48:16

标签: delphi cross-platform settings firemonkey ini

跨平台FireMonkey程序应该放置 INI 文件的最佳做法是什么? INI 文件甚至是正确的方法吗?

3 个答案:

答案 0 :(得分:5)

对于Android:in"共享存储"

对于MacOS:在INI文件中

https://delphihaven.wordpress.com/2015/06/11/ccr-prefsinifile-on-github/

克里斯·罗利斯顿在GitHub上的CCR.PrefsIniFile(他也在stackoverflow上:https://stackoverflow.com/users/2778930/chris-rolliston

  

只是一个小帖子说我刚才发布到谷歌代码的Android,iOS和OS X的原生首选项API包装器现在在GitHib上:

     

https://github.com/chrisrolliston/CCR.PrefsIniFile

     

Android和Apple版本现在也应该在XE8中编译。

答案 1 :(得分:1)

如果您正在搜索适合所有平台的位置,那么恐怕您找不到它。

您会看到每个平台都有自己的首选项来存储设置文件的位置。

因此,您应该阅读每个平台指南,并确保您的程序使用这些位置。

如果没有这样做并尝试将设置保存在某个不同的文件夹中可能会完全失败,因为许多平台会限制您的应用程序可以访问哪些文件夹。

现在您应该使用哪种格式?这应该是INI文件还是别的什么?

在Windows上,完全取决于您使用的格式。您可以使用系统注册表,INI文件(非常常见),XML文件(最近变得非常普遍),甚至是某些自定义格式,如Delphi能够使用的Typed文件(二进制文件)。

但这并不适用于所有平台。某些平台甚至可能会限制您存储设置的格式。

所以你应该再次阅读关于这个问题的平台偏好并进行调整。

答案 2 :(得分:0)

在Windows中,INI文件作为一种快速,易用的方法变得无处不在。但随着它们变得越来越大,它们变得越来越慢,并且很难实现结构化存储。因此,从INI文件转向注册管理机构/注册管理机构。但这不是跨平台的选择,因此有一些驱动回到INI文件结构,但根据大小,这可能仍然很慢。我看到的一个更有趣的方法是在这个技能sprint中(错误)使用JSON创建相当于旧INI文件的文件(并允许结构)。见JSON - the new INI file。至于在哪里,我认为您需要阅读每个目标的建议,因为每个目标的建议位置可能不同。