Udostępnij przez


Zapisywanie i ładowanie ustawień w aplikacji platformy UWP

W tym temacie opisano, co należy wiedzieć, aby rozpocząć ładowanie i zapisywanie ustawień w aplikacji platformy uniwersalnej systemu Windows (UWP). Zostaną wprowadzone główne interfejsy API, a linki pomogą Ci dowiedzieć się więcej.

Użyj ustawień, aby zapamiętać aspekty aplikacji, które można dostosowywać przez użytkownika. Na przykład czytelnik wiadomości może użyć ustawień aplikacji, aby zapisać źródła wiadomości do wyświetlenia i czcionkę używaną do czytania artykułów.

Przyjrzymy się kodowi służącemu do zapisywania i ładowania ustawień aplikacji.

Co musisz wiedzieć

Użyj ustawień aplikacji do przechowywania danych konfiguracji, takich jak preferencje użytkownika i stan aplikacji.

Następujące typy danych mogą być używane z ustawieniami: liczby całkowite, podwójne, zmiennoprzecinki, znaki, ciągi, punkty, data/godzina i inne. Można również przechowywać wystąpienia klasy ApplicationDataCompositeValue , co jest przydatne, gdy istnieje wiele ustawień, które powinny być traktowane jako jednostka. Na przykład nazwa czcionki i rozmiar punktu do wyświetlania tekstu w okienku odczytu aplikacji powinny zostać zapisane/przywrócone jako pojedyncza jednostka. Uniemożliwia to jednemu ustawieniu wyjście z synchronizacji z drugą z powodu współbieżnego dostępu, takiego jak między głównym programem a zadaniem w tle.

Oto główne interfejsy API, które musisz wiedzieć, aby zapisać lub załadować ustawienia aplikacji:

  • Windows.Storage.ApplicationData.Current.LocalSettings pobiera kontener ustawień aplikacji z lokalnego magazynu danych aplikacji. Ustawienia przechowywane tutaj są przechowywane na urządzeniu.
  • Windows.Storage.ApplicationData.Current.RoamingSettings pobiera kontener ustawień aplikacji z magazynu danych aplikacji mobilnych. Ustawienia przechowywane w tym miejscu nie są już przenoszone (od systemu Windows 11), ale magazyn ustawień jest nadal dostępny. Zalecanym zamiennikiem dla RoamingSettings jest Azure App Service. Usługa Azure App Service jest powszechnie obsługiwana, dobrze udokumentowana, niezawodna i obsługuje scenariusze międzyplatformowe/między ekosystemami, takie jak iOS, Android i internet.
  • Windows.Storage.ApplicationDataContainer to kontener reprezentujący ustawienia aplikacji jako pary klucz/wartość. Ta klasa służy do tworzenia i pobierania wartości ustawień.
  • Windows.Storage.ApplicationDataCompositeValue reprezentuje wiele ustawień aplikacji, które powinny być serializowane jako jednostka. Jest to przydatne, gdy jedno ustawienie nie powinno być aktualizowane niezależnie od innego.

Zapisywanie ustawień aplikacji

W tym wprowadzeniu skupimy się na dwóch prostych scenariuszach: zapisywaniu i ładowaniu prostego ustawienia aplikacji oraz zapisywaniu i ładowaniu złożonej czcionki/ustawienia rozmiaru czcionki.

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

// Save a setting locally on the device
localSettings.Values["test setting"] = "a device specific setting";

// Save a composite setting locally on the device
Windows.Storage.ApplicationDataCompositeValue composite = new Windows.Storage.ApplicationDataCompositeValue();
composite["Font"] = "Calibri";
composite["FontSize"] = 11;
localSettings.Values["FontInfo"] = composite;

Zapisz ustawienie, najpierw uzyskując ApplicationDataContainer dla magazynu danych ustawień lokalnych przy użyciu Windows.Storage.ApplicationData.Current.LocalSettings. Pary słownika klucz/wartość przypisane do tego wystąpienia są zapisywane w magazynie danych ustawień urządzenia lokalnego.

W powyższym fragmencie kodu ApplicationDataCompositeValue przechowuje wiele par klucz/wartość. Wartości złożone są przydatne, gdy masz wiele ustawień, które nie powinny być zsynchronizowane ze sobą. Podczas zapisywania ApplicationDataCompositeValuewartości są zapisywane i ładowane jako całość lub atomowo. W ten sposób powiązane ustawienia nie zostaną zsynchronizowane.

Ładowanie ustawień aplikacji

ApplicationDataContainer localSettings = Windows.Storage.ApplicationData.Current.LocalSettings;

// load a setting that is local to the device
String localValue = localSettings.Values["test setting"] as string;

// load a composite setting
Windows.Storage.ApplicationDataCompositeValue composite = (ApplicationDataCompositeValue)localSettings.Values["FontInfo"];
if (composite != null)
{
    String fontName = composite["Font"] as string;
    int fontSize = (int)composite["FontSize"];
}

Załaduj ustawienie, najpierw uzyskując wystąpienie ApplicationDataContainer dla lokalnego magazynu danych ustawień za pomocą Windows.Storage.ApplicationData.Current.LocalSettings. Następnie użyj go, aby pobrać pary klucz/wartość. Jeśli dane nie są obecne, otrzymasz obiekt o wartości null. W języku C# oznacza to, że jeśli ustawienie nie istnieje, localValue będzie null.

Załaduj ustawienie złożone, postępując zgodnie z podobnym wzorcem. Uzyskiwanie dostępu do par klucz/wartość z magazynu danych ustawień lokalnych. Jeśli dane nie są obecne, otrzymasz wartość null ApplicationDataContainer. Dlatego w powyższym przykładzie kodu znajduje się kontrola if (composite != null).

Przydatne interfejsy API i dokumenty

Oto krótkie podsumowanie interfejsów API i innej przydatnej dokumentacji, aby ułatwić rozpoczęcie zapisywania i ładowania ustawień aplikacji.

Przydatne interfejsy API

API (Interfejs Programowania Aplikacji) Opis
ApplicationData.LocalSettings Pobiera kontener ustawień aplikacji z lokalnego magazynu danych aplikacji.
DaneAplikacji.UstawieniaRoaming Pobiera kontener ustawień aplikacji z magazynu danych aplikacji mobilnych.
KontenerDanychAplikacji Kontener ustawień aplikacji, który obsługuje tworzenie, usuwanie, wyliczanie i przechodzenie przez hierarchię kontenerów.
przestrzeń nazw Windows.UI.ApplicationSettings Udostępnia klasy, których użyjesz do zdefiniowania ustawień aplikacji wyświetlanych w okienku ustawień powłoki systemu Windows.

Przydatne dokumenty

Temat Opis
Wskazówki dotyczące ustawień aplikacji Opisuje najlepsze rozwiązania dotyczące tworzenia i wyświetlania ustawień aplikacji.
Przechowuj i odzyskaj ustawienia oraz inne dane aplikacji Przewodnik dotyczący zapisywania i pobierania ustawień.

Przydatne przykłady kodu

Przykład kodu Opis
przykładowe dane aplikacji Scenariusze 2–4 koncentrują się na ustawieniach