Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Det här avsnittet beskriver vad du behöver veta för att komma igång med att läsa in och spara inställningar i en UWP-app (Universal Windows Platform). De viktigaste API:erna introduceras och länkar finns som hjälper dig att lära dig mer.
Använd inställningarna för att komma ihåg de användaranpassade aspekterna av din app. En nyhetsläsare kan till exempel använda appinställningar för att spara vilka nyhetskällor som ska visas och vilket teckensnitt som ska användas för att läsa artiklar.
Vi tittar på kod för att spara och lägga in av appinställningar.
Vad behöver du veta?
Använd appinställningar för att lagra konfigurationsdata, till exempel användarinställningar och apptillstånd.
Följande datatyper kan användas med inställningar: heltal, dubblar, flyttal, tecken, strängar, punkter, DateTimes med mera. Du kan också lagra instanser av klassen ApplicationDataCompositeValue , vilket är användbart när det finns flera inställningar som ska behandlas som en enhet. Ett teckensnittsnamn och en punktstorlek för att visa text i läsfönstret i appen bör till exempel sparas/återställas som en enda enhet. Detta förhindrar att en inställning blir osynkroniserad med den andra på grund av samtidig åtkomst, till exempel mellan huvudprogrammet och en bakgrundsaktivitet.
Här är de viktigaste API:erna som du behöver känna till för att spara eller läsa in appinställningar:
- Windows.Storage.ApplicationData.Current.LocalSettings hämtar containern för programinställningar från det lokala appdatalagret. Inställningar som lagras här sparas på enheten.
- Windows.Storage.ApplicationData.Current.RoamingSettings hämtar inställningscontainern från roamingappdata. Inställningar som lagras här synkroniserar inte längre (sedan Windows 11), men inställningslagret är fortfarande tillgängligt. Den rekommenderade ersättningen för RoamingSettings är Azure App Service. Azure App Service har brett stöd, väldokumenterat, tillförlitligt och har stöd för scenarier mellan plattformar och ekosystem, till exempel iOS, Android och webben.
- Windows.Storage.ApplicationDataContainer är en container som representerar appinställningar som nyckel/värde-par. Använd den här klassen för att skapa och hämta inställningsvärden.
- Windows.Storage.ApplicationDataCompositeValue representerar flera appinställningar som ska serialiseras som en enhet. Detta är användbart när en inställning inte ska uppdateras oberoende av en annan.
Spara appinställningar
I den här introduktionen fokuserar vi på två enkla scenarier: spara och läsa in en enkel appinställning och spara och läsa in en inställning för sammansatt teckensnitt/teckensnittsstorlek.
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;
Spara en inställning genom att först hämta en ApplicationDataContainer för lokala inställningars datalager med Windows.Storage.ApplicationData.Current.LocalSettings. Nyckel/värde-ordlistepar som du tilldelar den här instansen sparas i datalagret för den lokala enhetsinställningen.
I kodfragmentet ovan lagrar en ApplicationDataCompositeValue flera nyckel/värde-par. Sammansatta värden är användbara när du har flera inställningar som inte bör synkroniseras med varandra. När du sparar en ApplicationDataCompositeValue sparas och läses värdena in som en enhet eller atomiskt. På så sätt kommer relaterade inställningar inte att hamna ur synkronisering.
Läsa in appinställningar
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"];
}
Läs in en inställning genom att först hämta en ApplicationDataContainer instans av det lokala inställningsdatalagret med Windows.Storage.ApplicationData.Current.LocalSettings. Använd den sedan för att hämta nyckel/värde-par. Om data inte finns får du ett null-objekt. I C# innebär det att localValue kommer att vara null om inställningen inte finns.
Läs in en sammansatt inställning genom att följa ett liknande mönster. Få åtkomst till nyckel/värde-par från datalagret för lokala inställningar. Om uppgifter inte finns får du ett nullvärde för ApplicationDataContainer. Det är därför det finns en if (composite != null)-kontroll i exempelkoden ovan.
Användbara API:er och dokument
Här är en snabb sammanfattning av API:er och annan användbar dokumentation som hjälper dig att komma igång med att spara och läsa in appinställningar.
Användbara API:er
| API (gränssnitt för programmering av applikationer) | Beskrivning |
|---|---|
| ApplicationData.LocalSettings | Hämtar containern för programinställningar från det lokala appdatalagret. |
| ApplicationData.RoamingInställningar | Hämtar containern för programinställningar från det roamande appdatalagret. |
| Applikationsdatabehållare | En container för appinställningar som stöder skapande, borttagning, uppräkning och bläddring av containerhierarkin. |
| Namnområde för Windows.UI.ApplicationSettings | Innehåller klasser som du ska använda för att definiera de appinställningar som visas i inställningsfönstret i Windows-gränssnittet. |
Användbara dokument
| Ämne | Beskrivning |
|---|---|
| Riktlinjer för appinställningar | Beskriver metodtips för att skapa och visa appinställningar. |
| Spara och hämta inställningar och andra appdata | Genomgång för att spara och hämta inställningar. |
Användbara kodexempel
| Kodexempel | Beskrivning |
|---|---|
| Exempel på programdata | Scenarier 2–4 fokuserar på inställningar |