While each mobile platforms do offer their own settings management api, there are no built in ways to read settings from a good old .net style app.config xml file; This is due to a bunch of good reasons, notably the .net framework configuration management api being on the heavyweight side, and each platform having their own file system api.
So we built a simple PCLAppConfig library, nicely nuget packaged for your immediate consumption.
This library makes use of the lovely PCLStorage library
This example assumes you are developing a Xamarin.Forms Xaml project, where you would need to access settings from your shared viewmodel.
iOS (AppDelegate.cs)
global::Xamarin.Forms.Forms.Init();
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
LoadApplication(new App());
Android (MainActivity.cs)
global::Xamarin.Forms.Forms.Init(this, bundle);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
LoadApplication(new App());
UWP / Windows 8.1 / WP 8.1 (App.xaml.cs)
Xamarin.Forms.Forms.Init(e);
ConfigurationManager.Initialise(PCLAppConfig.FileSystemStream.PortableStream.Current);
<configuration>
<appSettings>
<add key="config.text" value="hello from app.settings!" />
</appSettings>
</configuration>
Add this PCL app.config file as a linked file on all your platform projects. For android, make sure to set the build action to 'AndroidAsset', for UWP set the build action to 'Content'
Access your setting:
ConfigurationManager.AppSettings["config.text"];