Xamarin iOS应用程序配置文件

4

我在想是否有一种方法可以像app.config一样存储一些数据。我想要存储的数据是:具有它们的键的URL。

我尝试查找属性列表,但不知道如何访问这些列表?

编辑1:主要目的是在我的PCL(可移植类库)中使用该文件。适用于多平台。

感谢您的帮助!


1
为什么不直接存储在文本文件中并从中读取呢?或者使用SQLite数据库。既然在移动设备上将东西放入.config文件的整个原因几乎是无意义的,那么您可能也可以在应用程序中硬编码它们。 - valdetero
3个回答

2
目前为止,我发现最好的答案是使用James Montemagno的Xam.Plugins.Settings插件。该插件通过nuget提供了一个一致的、跨平台的设置插件,适用于Windows Phone Silverlight 8/8.1、Windows Phone 8.1、Windows Store、Xamarin.iOS和Xamarin.Android等项目,并且与PCL、Xamarin.Forms和MvvmCross兼容。这使得创建跨平台.NET应用程序并拥有跨平台设置变得更加容易。可以从一个PCL中管理和使用所有设置,并在每个平台上进行本地保存。*该插件在每个平台上本地存储设置,而不是将它们保存为Json。这使您可以使用Android上的PreferenceActivity等本地功能。

0
不,实际上没有 app.config。对于 iOS 平台,有一些名为 plist 的文件,它们是简单结构化的 XML 键值对文件 (1)。在 Xamarin.iOS 中,您可以将它们作为资源捆绑起来并这样读取:
public string ReadValueFromSettings(string key)
{
        _log.Info();

        string result = "ValueNotFound";

        if (_settings == null)
        {
            if(File.Exists("Settings.plist"))
            {
                var path = NSBundle.MainBundle.PathForResource("Settings", "plist");
                _settings = new NSDictionary(path);
            }
        }

        if(_settings != null)
        {
            var value = _settings.ValueForKey(new NSString(key));

            if(value != null)
                result = value.ToString();
        }

        return result;
}

0
我们发布了一个NuGet库,为Xamarin提供ConfigurationManager功能,特别适用于Xamarin.Forms:PCLAppConfig 这允许从您的PCL项目添加一个唯一的配置文件,并从所有应用程序项目中读取:
ConfigurationManager.AppSettings["config.text"];

您可以在此处找到完整的逐步说明:http://xamariners.com/2016/08/17/appsettings-reader-xamarin-forms/


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接