在哪里保存 .Net MAUI 用户设置

Where to save .Net MAUI user settings

在 Windows 窗体和 WPF 应用程序中,我们可以 use the Settings designer file to save user-specific settings。文档仅提及 .Net Framework(例如 1 - 4),而不是 .Net Core 或 .Net(例如 5+)。我已经确认 .settings 格式和设计器仍然可以在 Windows 和 Visual Studio 2022 的 .Net 6 WPF 中使用。

我的问题是,.settings 文件格式和设计器是否仍然是 .Net MAUI 应用程序的推荐方法?它是否适用于所有平台(Windows、macOS、移动设备)?如果不是,推荐的方法是简单地编写您自己的自定义文件来保存您的用户设置,如果是这样,该文件应该写入哪里? Environment.SpecialFolder.ApplicationData / Environment.SpecialFolder.LocalApplicationData,或其他地方?

这一切都取决于您的要求。对此没有灵丹妙药。

我必须承认我并不真正了解您提到的设置(设计器)文件。我可以说这不是 Xamarin 或 .NET MAUI 中的事情(据我所知)。也可能是因为在移动应用程序中存在沙箱的概念,而在桌面应用程序中则不太重要。所以东西存放的位置比较重要

在评论中已经有一些很好的建议可以帮助您入门。如果您的要求只是保存简单类型(string、bool、int 等),那么 Essentials Preferences API 应该可以正常工作。我认为在幕后只是序列化为 json 文件并将其存储在某个地方。 Essentials 此时确实已经是 .NET MAUI 的一部分。

Xamarin.Forms 曾经有自己的属性,这是我认为在 .NET 应用程序中更常见的概念,但我认为 Essentials 方式更好。

如果您想保存更复杂的东西,您可能需要考虑使用像 SQLite 这样的本地数据库,或者自己滚动并序列化您的设置并将其保存在某个地方,最好使用 Essentials FileSystem Helpers.

这里要注意的一件事是 您保存设置的地方,这就是这些库的价值所在。您是否希望将设置备份到云服务,以便在重新安装应用程序后仍然存在?或者甚至在新 phone 上安装相同的应用程序?或者你只是想重置整个状态而不关心它。

如果你想通了,剩下的就看你的了!希望这有帮助。