Preferences
Bu makalede .NET Çok Platformlu Uygulama Kullanıcı Arabirimi (.NET MAUI) IPreferences
arabirimini nasıl kullanabileceğiniz açıklanmaktadır. Bu arabirim, uygulama tercihlerini bir anahtar/değer deposunda depolamaya yardımcı olur.
Arabirimin IPreferences
varsayılan uygulaması özelliği aracılığıyla Preferences.Default
kullanılabilir. IPreferences
Hem arabirim hem Preferences
de sınıf ad alanında Microsoft.Maui.Storage
yer alır.
Depolama türleri
Preferences bir String anahtarla depolanır. Tercihin değeri aşağıdaki veri türlerinden biri olmalıdır:
değerleri DateTime
, sınıfı tarafından DateTime
tanımlanan iki yöntem kullanılarak 64 bit ikili (uzun tamsayı) biçiminde depolanır:
ToBinary
yöntemi, değeri kodlamakDateTime
için kullanılır.FromBinary
yöntemi değerin kodunu çözer.
Eşgüdümlü Evrensel Saat (UTC) değeri olmayan bir DateTime
depolandığında kodu çözülen değerlerde yapılabilecek ayarlamalar için bu yöntemlerin belgelerine bakın.
Tercihleri ayarlama
Preferences yöntemi çağrılarak Preferences.Set
ayarlanır ve anahtar ve değer sağlanır:
// Set a string value:
Preferences.Default.Set("first_name", "John");
// Set an numerical value:
Preferences.Default.Set("age", 28);
// Set a boolean value:
Preferences.Default.Set("has_pets", true);
Tercihleri alma
Tercihlerden bir değer almak için, tercih anahtarını ve ardından anahtar mevcut olmadığında varsayılan değeri geçirirsiniz:
string firstName = Preferences.Default.Get("first_name", "Unknown");
int age = Preferences.Default.Get("age", -1);
bool hasPets = Preferences.Default.Get("has_pets", false);
Anahtar olup olmadığını denetleme
Tercihlerde bir anahtarın mevcut olup olmadığını denetlemek yararlı olabilir. Get
Anahtar mevcut olmadığında varsayılan bir değer ayarlamış olsanız bile, anahtarın mevcut olduğu durumlar olabilir, ancak anahtarın değeri varsayılan değerle eşleşmiştir. Bu nedenle, anahtarın mevcut olmadığını gösteren bir gösterge olarak varsayılan değere güvenemezsiniz. Bir anahtarın ContainsKey
mevcut olup olmadığını belirlemek için yöntemini kullanın:
bool hasKey = Preferences.Default.ContainsKey("my_key");
Bir veya tüm anahtarları kaldırma
Remove
Tercihlerden belirli bir anahtarı kaldırmak için yöntemini kullanın:
Preferences.Default.Remove("first_name");
Tüm anahtarları kaldırmak için yöntemini Clear
kullanın:
Preferences.Default.Clear();
Paylaşılan anahtarlar
Uygulamanız tarafından depolanan tercihler yalnızca uygulamanız tarafından görülebilir. Ancak, diğer uzantılar veya bir izleme uygulaması tarafından kullanılabilecek paylaşılan bir tercih de oluşturabilirsiniz. Bir tercihi ayarladığınızda, kaldırdığınızda veya aldığınızda, tercihin depolandığı kapsayıcının adını belirtmek için isteğe bağlı bir dize parametresi sağlanabilir.
Aşağıdaki yöntemler adlı sharedName
bir dize parametresi alır:
Preferences.Set
Preferences.Get
Preferences.Remove
Preferences.Clear
Önemli
Paylaşılan tercihlerin davranışa özgü uygulamaları olduğundan lütfen platform uygulamasına özgü özellikleri okuyun
Sistem ayarlarıyla tümleştirme
Preferences yerel olarak depolanır ve bu sayede ayarlarınızı yerel sistem ayarlarıyla tümleştirebilirsiniz. Platformla tümleştirmek için platform belgelerini izleyin:
- Apple: iOS Ayarlar Paketi Uygulama
- Android: Ayarlar Ekranlarını Kullanmaya Başlama
Platform farklılıkları
Bu bölümde, tercihler API'siyle platforma özgü farklılıklar açıklanmaktadır.
Tüm veriler Paylaşılan Preferencesiçinde depolanır. Belirtilmezse sharedName
, varsayılan Paylaşılan Preferences kullanılır. Aksi takdirde, belirtilen adla özel bir Paylaşılan Preferences almak için ad kullanılır.
Kalıcılık
Uygulamanın kaldırılması, Otomatik Yedekleme özelliğini kullanırken uygulamanın Android 6.0 (API düzeyi 23) veya sonraki bir sürümde çalışması dışında tüm tercihlerin kaldırılmasına neden olur. Bu özellik varsayılan olarak açıktır ve API'nin kullandığı Paylaşılan PreferencesPreferences dahil olmak üzere uygulama verilerini korur. Google'ın Otomatik Yedekleme belgelerini izleyerek bunu devre dışı bırakabilirsiniz.
Sınırlamalar
API az miktarda metin depolamak için tasarlandığından, büyük miktarda metin depolarsanız performans etkilenebilir.
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin