Szukaj…


Odczytywanie pliku app.config w projekcie Xamin Xamarin.Forms

Podczas gdy każda platforma mobilna oferuje własny interfejs zarządzania ustawieniami, nie ma wbudowanych możliwości odczytu ustawień ze starego, dobrego pliku .ml app.config w stylu .NET; Wynika to z wielu dobrych powodów, w szczególności z interfejsu zarządzania konfiguracją frameworku .net, który jest po stronie wagi ciężkiej, a każda platforma ma własny interfejs systemu plików.

Zbudowaliśmy więc prostą bibliotekę PCLAppConfig , ładnie zapakowaną w nuget do natychmiastowego użycia .

Ta biblioteka korzysta z uroczej biblioteki PCLStorage

W tym przykładzie założono, że opracowujesz projekt Xamin Xamarin.Forms Xaml, w którym musisz uzyskać dostęp do ustawień ze współdzielonego viewmodel.

  1. Zainicjuj ConfigurationManager.AppSettings w każdym projekcie platformy, zaraz po instrukcji „Xamarin.Forms.Forms.Init”, jak poniżej:

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);
  1. Dodaj plik app.config do udostępnionego projektu PCL i dodaj wpisy appSettings, tak jak w przypadku każdego pliku app.config
<configuration>
    <appSettings>
        <add key="config.text" value="hello from app.settings!" />
    </appSettings>
</configuration>
  1. Dodaj ten plik app.config PCL jako plik połączony we wszystkich projektach platformy. W przypadku Androida upewnij się, że ustawiłeś akcję kompilacji na „AndroidAsset” , dla UWP ustaw akcję kompilacji na „Treść”

  2. Uzyskaj dostęp do ustawień: ConfigurationManager.AppSettings["config.text"];



Modified text is an extract of the original Stack Overflow Documentation
Licencjonowany na podstawie CC BY-SA 3.0
Nie związany z Stack Overflow