Aracılığıyla paylaş


UWP uygulamasında ayarları kaydetme ve yükleme

Bu konu, Evrensel Windows Platformu (UWP) uygulamasında ayarları yüklemeye ve kaydetmeye başlamak için bilmeniz gerekenleri kapsar. Ana API'ler tanıtılır ve daha fazla bilgi edinmenize yardımcı olacak bağlantılar sağlanır.

Uygulamanızın kullanıcı tarafından özelleştirilebilir yönlerini hatırlamak için ayarları kullanın. Örneğin, bir haber okuyucu hangi haber kaynaklarının görüntüleneceğini ve makaleleri okumak için hangi yazı tipinin kullanılacağını kaydetmek için uygulama ayarlarını kullanabilir.

Uygulama ayarlarını kaydetmek ve yüklemek için koda bakacağız.

Bilmeniz gerekenler

Kullanıcı tercihleri ve uygulama durumu gibi yapılandırma verilerini depolamak için uygulama ayarlarını kullanın.

Aşağıdaki veri türleri ayarlarla kullanılabilir: tamsayılar, çiftler, kayan karakterler, karakterler, dizeler, Puanlar, DateTimes ve daha fazlası. Ayrıca ApplicationDataCompositeValue sınıfının örneklerini de depolayabilirsiniz. Bu, birim olarak ele alınması gereken birden çok ayar olduğunda kullanışlıdır. Örneğin, uygulamanızın okuma bölmesinde metin görüntülemeye yönelik bir yazı tipi adı ve nokta boyutu tek bir birim olarak kaydedilmelidir/geri yüklenmelidir. Bu, ana program ile arka plan görevi arasında olduğu gibi, eşzamanlı erişim nedeniyle ayarların birbiriyle uyumsuz hale gelmesini önler.

Uygulama ayarlarını kaydetmek veya yüklemek için bilmeniz gereken ana API'ler şunlardır:

  • Windows.Storage.ApplicationData.Current.LocalSettings, uygulama ayarları kapsayıcısını yerel uygulama veri deposundan alır. Burada depolanan ayarlar cihazda tutulur.
  • Windows.Storage.ApplicationData.Current.RoamingSettings, uygulama ayarları kapsayıcısını gezici uygulama veri deposundan alır. Burada depolanan ayarlar artık dolaşımda değil (Windows 11 itibarıyla) ancak ayarlar deposu hala kullanılabilir. RoamingSettings için önerilen değişiklik Azure App Service. Azure App Service yaygın olarak desteklenir, iyi belgelenmiş, güvenilirdir ve iOS, Android ve web gibi platformlar arası/ekosistemler arası senaryoları destekler.
  • Windows.Storage.ApplicationDataContainer, uygulama ayarlarını anahtar/değer çiftleri olarak temsil eden bir kapsayıcıdır. Ayar değerlerini oluşturmak ve almak için bu sınıfı kullanın.
  • Windows.Storage.ApplicationDataCompositeValue, birim olarak serileştirilmesi gereken birden çok uygulama ayarını temsil eder. Bu, bir ayarın başka bir ayardan bağımsız olarak güncelleştirilmemesi gerektiğinde kullanışlıdır.

Uygulama ayarlarını kaydetme

Bu giriş için iki basit senaryoya odaklanacağız: basit bir uygulama ayarını kaydetme ve yükleme ve bileşik yazı tipi/yazı tipi boyutu ayarını kaydetme ve yükleme.

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;

İlk olarak ile yerel ayarlar veri deposu için bir Windows.Storage.ApplicationData.Current.LocalSettings alarak bir ayarı kaydedin. Bu örneğe atadığınız anahtar/değer sözlük çiftleri yerel cihaz ayarı veri deposuna kaydedilir.

Yukarıdaki kod parçacığında applicationdatacompositevalue birden çok anahtar/değer çifti depolar. Bileşik değerler, birbiriyle eşitlenmemiş olması gereken birden çok ayarınız olduğunda kullanışlıdır. ApplicationDataCompositeValuekaydettiğinizde, değerler birim olarak veya atomik olarak kaydedilir ve yüklenir. Bu şekilde ilgili ayarlar uyumsuz hale gelmez.

Uygulama ayarlarını yükleme

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"];
}

İlk olarak ile yerel ayarlar veri deposu için Windows.Storage.ApplicationData.Current.LocalSettings örneği alarak bir ayar yükleyin. Ardından anahtar/değer çiftlerini almak için kullanın. Veriler yoksa null bir nesne alırsınız. C# dilinde bu, ayar yoksa, localValue'ın null olacağı anlamına gelir.

Benzer bir desen izleyerek bileşik bir ayar yükleyin. Yerel ayarlar veri deposundan anahtar/değer çiftlerine erişin. ApplicationDataContainermevcut değilse, null alırsınız. Bu nedenle yukarıdaki örnek kodda bir if (composite != null) denetimi vardır.

Yararlı API'ler ve belgeler

Uygulama ayarlarını kaydetmeye ve yüklemeye başlamanıza yardımcı olmak için API'lerin ve diğer yararlı belgelerin hızlı bir özeti aşağıda verilmiştir.

Yararlı API'ler

Uygulama Programlama Arayüzü (API) Açıklama
ApplicationData.LocalSettings Yerel uygulama veri deposundan uygulama ayarları kapsayıcısını alır.
ApplicationData.RoamingSettings (Uygulama Verileri Gezgin Ayarları) Gezici uygulama veri deposundan uygulama ayarları kapsayıcısını alır.
ApplicationDataContainer Kapsayıcı hiyerarşisini oluşturmayı, silmeyi, numaralandırmayı ve dolaşmayı destekleyen uygulama ayarları için bir kapsayıcı.
Windows.UI.ApplicationSettings Ad Alanı Windows kabuğunun ayarlar bölmesinde görünen uygulama ayarlarını tanımlamak için kullanacağınız sınıflar sağlar.

Yararlı belgeler

Konu Açıklama
Uygulama ayarları için yönergeler Uygulama ayarlarını oluşturmak ve görüntülemek için en iyi yöntemleri açıklar.
Ayarları ve diğer uygulama verilerini depolama ve alma Ayarları kaydetme ve alma adımları.

Yararlı kod örnekleri

Kod örneği Açıklama
Uygulama verileri örneği Senaryolar 2-4 ayarlara odaklanıyor